diff options
author | mckusick <mckusick@FreeBSD.org> | 2002-11-30 07:27:12 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2002-11-30 07:27:12 +0000 |
commit | d4a32db4aeca128cddc225630f42930c901c8cf5 (patch) | |
tree | 0841cd020a90f81787c8ef4ac67b2bee71d5a0d3 /release | |
parent | 70f58b67569498f46105eb01cd36ac3ad3142eea (diff) | |
download | FreeBSD-src-d4a32db4aeca128cddc225630f42930c901c8cf5.zip FreeBSD-src-d4a32db4aeca128cddc225630f42930c901c8cf5.tar.gz |
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.
Diffstat (limited to 'release')
0 files changed, 0 insertions, 0 deletions