Re: [patch 13/13] lseek speedup

Anton Altaparmakov (aia21@cantab.net)
Wed, 17 Jul 2002 17:20:39 +0100


Hi Andrew,

At 17:18 17/07/02, Andrew Morton wrote:
>Anton Altaparmakov wrote:
> > At 06:31 17/07/02, Andrew Morton wrote:
> > >This is a fairly dopey patch to fix up the i_sem contention in lseek.
> > >Better ideas are welcome, but I'm offline until Monday so don't think
> > >I'm ignoring them...
> >
> > I am afraid I don't have any better ideas but I don't think your patch is
> > safe. )-:
>
>It wasn't a very good idea in the first place. Forgot to take
>the new lock over in the updaters of f_pos.
>
>And it's attempting to cater for a buggy application on a 32-bit
>machine, SMP, where the fd is shared. It's hard to justify
>putting any locking in lseek for that. (Then again, people
>should use pread() more..)
>
>Except for readdir(). Now, why are we taking i_sem for lseek/readdir
>exclusion and not a per-file lock?

Because it also excludes against directory modifications, etc. Just imagine
what "rm somefile" or "mv somefile otherfile" or "touch newfile" would do
to the directory contents and what a concurrent readdir() would do... A
very loud *BANG* is the only thing that springs to mind...

btw. the directory modification locking rules are written up in
Documentation/filesystems/directory-locking by our very own VFS maintainer
Al Viro himself... (-;

Cheers,

Anton

-- 
   "I've not lost my mind. It's backed up on tape somewhere." - Unknown
-- 
Anton Altaparmakov <aia21 at cantab.net> (replace at with @)
Linux NTFS Maintainer / IRC: #ntfs on irc.openprojects.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/