summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2009-03-25 15:31:19 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2009-03-25 15:31:19 +1100
commitefd1f1d05b1c382e24ccc1b67037d315db3154b0 (patch)
tree736ad5203076c703039544cbfeac2cc5e00feb81 /Documentation
parentc0274f2d9fcfceb8ed4fc6c3a74a77284ac2dfe0 (diff)
parent60aa49243d09afc873f082567d2e3c16634ced84 (diff)
Merge commit 'bkl-removal/bkl-removal'
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/Locking7
1 files changed, 5 insertions, 2 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index ec6a9392a173..4e78ce677843 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -437,8 +437,11 @@ grab BKL for cases when we close a file that had been opened r/w, but that
can and should be done using the internal locking with smaller critical areas).
Current worst offender is ext2_get_block()...
-->fasync() is a mess. This area needs a big cleanup and that will probably
-affect locking.
+->fasync() is called without BKL protection, and is responsible for
+maintaining the FASYNC bit in filp->f_flags. Most instances call
+fasync_helper(), which does that maintenance, so it's not normally
+something one needs to worry about. Return values > 0 will be mapped to
+zero in the VFS layer.
->readdir() and ->ioctl() on directories must be changed. Ideally we would
move ->readdir() to inode_operations and use a separate method for directory