On 2009-11-20 17:40:43, Jan Blunck wrote:
Do not use the fallback default_llseek() if the readdir operation of
the
filesystem still uses the big kernel lock. Since llseek() modifies
file->f_pos of the directory directly it may need locking to not
confuse
readdir which usually uses file->f_pos directly as well. Since the
special
characteristics of the BKL (unlocked on schedule) are not necessary
in this
case, the inode mutex can be used for locking as provided by
generic_file_llseek(). This is only possible since all filesystems,
except
reiserfs, either use a directory as a flat file or with disk address
offsets. Reiserfs on the other hand uses a 32bit hash off the
filename as
the offset so generic_file_llseek() can get used as well since the
hash is
always smaller than sb->s_maxbytes (= (512 << 32) - blocksize).
Signed-off-by: Jan Blunck <jblunck@xxxxxxx>
---
wrt fs/qnx4:
Acked-by: Anders Larsen <al@xxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html