|
@@ -429,8 +429,9 @@ check_flags: no
|
|
implementations. If your fs is not using generic_file_llseek, you
|
|
implementations. If your fs is not using generic_file_llseek, you
|
|
need to acquire and release the appropriate locks in your ->llseek().
|
|
need to acquire and release the appropriate locks in your ->llseek().
|
|
For many filesystems, it is probably safe to acquire the inode
|
|
For many filesystems, it is probably safe to acquire the inode
|
|
-mutex. Note some filesystems (i.e. remote ones) provide no
|
|
|
|
-protection for i_size so you will need to use the BKL.
|
|
|
|
|
|
+mutex or just to use i_size_read() instead.
|
|
|
|
+Note: this does not protect the file->f_pos against concurrent modifications
|
|
|
|
+since this is something the userspace has to take care about.
|
|
|
|
|
|
Note: ext2_release() was *the* source of contention on fs-intensive
|
|
Note: ext2_release() was *the* source of contention on fs-intensive
|
|
loads and dropping BKL on ->release() helps to get rid of that (we still
|
|
loads and dropping BKL on ->release() helps to get rid of that (we still
|