summaryrefslogtreecommitdiffstats
path: root/fs/reiserfs
diff options
context:
space:
mode:
authorFrederic Weisbecker2009-04-30 22:05:25 +0200
committerFrederic Weisbecker2009-09-14 07:18:06 +0200
commitf32049dc244f4d394c8faa161b4f13cb8c4f5c8c (patch)
tree74f5837c9f6ebe3fa11107b914d7803dc0a5e7f6 /fs/reiserfs
parentkill-the-BKL/reiserfs: only acquire the write lock once in reiserfs_dirty_inode (diff)
downloadkernel-qcow2-linux-f32049dc244f4d394c8faa161b4f13cb8c4f5c8c.tar.gz
kernel-qcow2-linux-f32049dc244f4d394c8faa161b4f13cb8c4f5c8c.tar.xz
kernel-qcow2-linux-f32049dc244f4d394c8faa161b4f13cb8c4f5c8c.zip
kill-the-BKL/reiserfs: release write lock on fs_changed()
fs_changed() is a macro used by reiserfs to check whether its tree has been rebalanced. It has been designed to check parallel changes on the tree after calling a sleeping function, which released the Bkl. fs_changed() also calls cond_resched(), so that if rescheduling is needed, we are in the best place to do that, since we check if the tree has changed just after (because of the bkl release on schedule()). Even if we are not anymore using the Bkl, we still want to release the lock while we reschedule, so that other waiters for the lock can acquire it safely, because of the following __fs_changed() check. [ Impact: release the reiserfs write lock when it is not needed ] Cc: Jeff Mahoney <jeffm@suse.com> Cc: Chris Mason <chris.mason@oracle.com> Cc: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'fs/reiserfs')
0 files changed, 0 insertions, 0 deletions