From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 2/2] check ATTR_SIZE contraints in inode_change_ok Date: Wed, 9 Jun 2010 12:07:15 +0200 Message-ID: <20100609100715.GA15837@lst.de> References: <20100601113915.GA4861@lst.de> <20100601113937.GB4929@lst.de> <20100609073336.GV26335@laptop> <20100609094121.GC3393@quack.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Nick Piggin , Christoph Hellwig , viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, mfasheh@suse.de To: Jan Kara Return-path: Received: from verein.lst.de ([213.95.11.210]:44343 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757350Ab0FIKHR (ORCPT ); Wed, 9 Jun 2010 06:07:17 -0400 Content-Disposition: inline In-Reply-To: <20100609094121.GC3393@quack.suse.cz> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wed, Jun 09, 2010 at 11:41:21AM +0200, Jan Kara wrote: > That's a good point. For all local filesystems I know, holding i_mutex is > enough for having stable i_size. But for clustered filesystems it > definitely isn't. They have to hold cluster locks to be able to reliably > check current i_size (at least OCFS2 does). Looking at what > inode_newsize_ok currently does, i_size is only used to decide whether > we need to check for rlimit or not. So we could falsely miss this > check (other node is truncating the file below new offset)... Hmm, OK, so > we really need the cluster lock... > BTW: Mark, don't we need the cluster lock also for the permission > checks in inode_change_ok? Otherwise we could see: Yes, we should have it for all of the checks. It would be good if the cluster folks came up with proper patches for vfs.git #for-next to fix up the cluster locking for all of ->setattr.