[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091120212732.GD15631@duck.suse.cz>
Date: Fri, 20 Nov 2009 22:27:32 +0100
From: Jan Kara <jack@...e.cz>
To: Jan Blunck <jblunck@...e.de>
Cc: linux-fsdevel@...r.kernel.org,
Christoph Hellwig <hch@...radead.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Linux-Kernel Mailinglist <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>, jkacur@...hat.com,
Arnd Bergmann <arnd@...db.de>,
Frédéric Weisbecker <fweisbec@...il.com>,
Jamie Lokier <jamie@...reable.org>,
"H. Peter Anvin" <hpa@...or.com>,
Petr Vandrovec <vandrove@...cvut.cz>,
Anders Larsen <al@...rsen.net>, Jan Kara <jack@...e.cz>
Subject: Re: [PATCH 13/15] Do not fallback to default_llseek() when
readdir() uses BKL
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@...e.de>
> ---
> fs/udf/dir.c | 1 +
For the UDF part:
Acked-by: Jan Kara <jack@...e.cz>
--
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists