From: Andi Kleen Subject: Re: [PATCH] [8/18] BKL-removal: Remove BKL from remote_llseek Date: Mon, 28 Jan 2008 14:27:35 +0100 Message-ID: <200801281427.36048.ak@suse.de> References: <20080127317.043953000@suse.de> <20080127211345.6e73fa0b.akpm@linux-foundation.org> <20080128125605.299740a1@core> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: Andrew Morton , Trond Myklebust , Steve French , swhiteho@redhat.com, sfrench@samba.org, vandrove@vc.cvut.cz, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: Alan Cox Return-path: In-Reply-To: <20080128125605.299740a1@core> Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Monday 28 January 2008 13:56:05 Alan Cox wrote: > > > No specific spec, just general quality of implementation. > > > > I completely agree. If one thread writes A and another writes B then the > > kernel should record either A or B, not ((A & 0xffffffff00000000) | (B & > > 0xffffffff)) > > Agree entirely: the spec doesn't allow for random scribbling in the wrong > place. It doesn't cover which goes first or who "wins" the race but > provides pwrite/pread for that situation. Writing somewhere unrelated is > definitely not to spec Actually it would probably -- i guess it's undefined and in undefined country such things can happen. Also to be fair I think it's only a problem for the 4GB wrapping case which is presumably rare (otherwise we would have heard about it) Also worse really fixing it would be a major change to the VFS because of the way ->read/write are defined :/ -Andi