From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Price Date: Thu, 29 Oct 2015 17:21:28 +0000 Subject: [Cluster-devel] [PATCH 0/4] Fix erroneous ETXTBSY problems with GFS2 In-Reply-To: <1446042009-30312-1-git-send-email-rpeterso@redhat.com> References: <1446042009-30312-1-git-send-email-rpeterso@redhat.com> Message-ID: <56325598.1030502@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On 28/10/15 14:20, Bob Peterson wrote: > Commit 2b3dcf3 (GFS2: Increase i_writecount during gfs2_setattr_size) > added a bunch of calls to get_write_access() in order to ensure file close > could not delete an inode's multi-block reservation while the function > was running. For example, close was interfering with setattr_size. > The patch worked as expected, but there was an unintended consequence: > If a GFS2 file is open, you can't do these functions (like chown) or > you'll get ETXTBSY (Text file busy). For example, if you're running a > program and try to do chown or chattr while it's running, it will fail. > > This problem is easily fixed by reverting that patch and including the > multi-block reservation structure inside the gfs2 inode. The problem is, > the gfs2 inode then grows to a much bigger size. > > This patch set takes some measures to reduce the size of the gfs2 inode > and then making the reservations part of the inode. > > Before the patch set, GFS2 inodes were 880 bytes in length. Adding just > the reservations structure bumped it up to 1304, which is not good. > With all these patches in place, the size is 1008, which is comparable > to ext4 (1048) and xfs (1088). Further savings are possible (and I've > prototyped a few) but I don't want to get too extreme here. > > Signed-off-by: Bob Peterson > --- > Bob Peterson (4): > GFS2: Reduce size of incore inode > GFS2: Reduce inode size by using 32-bit i_generation > GFS2: Extract quota data from reservations structure (revert 5407e24) > GFS2: Make rgrp reservations part of the gfs2_inode structure Other than my comments on patch 2: Reviewed-by: Andrew Price for the series. Cheers, Andy