Messages in this thread | | | Date | Mon, 28 Jan 2008 14:50:47 +0000 | From | Alan Cox <> | Subject | Re: [PATCH] [8/18] BKL-removal: Remove BKL from remote_llseek |
| |
On Mon, 28 Jan 2008 15:10:34 +0100 Andi Kleen <ak@suse.de> 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.
| |