Re: [PATCH] [8/18] BKL-removal: Remove BKL from remote_llseek

From: Alan Cox
Date: Mon Jan 28 2008 - 09:55:57 EST


On Mon, 28 Jan 2008 15:10:34 +0100
Andi Kleen <ak@xxxxxxx> wrote:

> On Monday 28 January 2008 14:38:57 Alan Cox wrote:
> > > Also worse really fixing it would be a major change to the VFS
> > > because of the way ->read/write are defined :/
> >
> > I don't see a problem there. ->read and ->write update the passed pointer
> > which is not the real f_pos anyway. Just the copies need fixing.
>
> They are effectually doing a decoupled read/modify/write cycle. e.g.:
>
> A B
>
> read fpos
>
> read fpos
>
> fpos += A fpos += B
> write fpos
>
>
> write fpos
>
> So you get overlapping reads. Probably not good.

No unix system I'm aware of cares about the read/write positioning during
parallel simultaneous reads or writes, with the exception of O_APPEND
which is strictly defined. The problem case is getting fpos != either
valid value.

--
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/