Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757986AbZKRRON (ORCPT ); Wed, 18 Nov 2009 12:14:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757916AbZKRROM (ORCPT ); Wed, 18 Nov 2009 12:14:12 -0500 Received: from earthlight.etchedpixels.co.uk ([81.2.110.250]:40388 "EHLO www.etchedpixels.co.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757923AbZKRROM (ORCPT ); Wed, 18 Nov 2009 12:14:12 -0500 Date: Wed, 18 Nov 2009 17:15:24 +0000 From: Alan Cox To: Jan Blunck Cc: linux-fsdevel@vger.kernel.org, Linux-Kernel Mailinglist , Andrew Morton , jkacur@redhat.com, Thomas Gleixner , Jan Blunck , Arnd Bergmann , Christoph Hellwig , =?ISO-8859-14?B?RnLpZOlyaWM=?= Weisbecker , Alexander Viro Subject: Re: [PATCH 1/2] BKL: Remove BKL from default_llseek() Message-ID: <20091118171524.4d2f8cec@lxorguk.ukuu.org.uk> In-Reply-To: <1258560457-15129-1-git-send-email-jblunck@suse.de> References: <1258560457-15129-1-git-send-email-jblunck@suse.de> X-Mailer: Claws Mail 3.7.3 (GTK+ 2.14.7; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1151 Lines: 22 > Using the BKL in llseek() does not protect the inode's i_size from > modification since the i_size is protected by a seqlock nowadays. Since > default_llseek() is already using the i_size_read() wrapper it is not the > BKL which is serializing the access here. > The access to file->f_pos is not protected by the BKL either since its > access in vfs_write()/vfs_read() is not protected by any lock. If the BKL > is not protecting anything here it can clearly get removed. No. Your logic is flawed The BKL is protected something here - it protects the change of offset with respect to other BKL users within drivers. The question is what if anything in any other driver code depends upon the BKL and uses it to protect f_pos. Probably very little if anything but a grep for f_pos through the drivers might not be a bad idea before assuming this. Very few touch f_pos except in their own llseek method. -- 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/