Re: [PATCH 13/15] Do not fallback to default_llseek() whenreaddir() uses BKL

From: Jan Kara
Date: Fri Nov 20 2009 - 16:27:42 EST


On Fri 20-11-09 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>
> ---
> fs/udf/dir.c | 1 +
For the UDF part:

Acked-by: Jan Kara <jack@xxxxxxx>

--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/