Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Nov 2002 23:27:12 -0800 (PST)
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ffs ffs_snapshot.c
Message-ID:  <200211300727.gAU7RDgx026185@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
mckusick    2002/11/29 23:27:12 PST

  Modified files:
    sys/ufs/ffs          ffs_snapshot.c 
  Log:
  Fix two deadlocks in snapshots:
  
  1) Release the snapshot file lock while suspending the system. Otherwise
     a process trying to read the lock may block on its containing directory
     preventing the suspension from completing. Thanks to Sean Kelly
     <smkelly@zombie.org> for finding this deadlock.
  
  2) Replace some bdwrite's with bawrite's so as not to fill all the
     buffers with dirty data. The buffers could not be cleaned as the
     snapshot vnode was locked hence the system could deadlock when
     making snapshots of really massive filesystems. Thanks to
     Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp> for figuring
     this out.
  
  Sponsored by:   DARPA & NAI Labs.
  
  Revision  Changes    Path
  1.51      +7 -2      src/sys/ufs/ffs/ffs_snapshot.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211300727.gAU7RDgx026185>