All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [GFS2 PATCH v4 0/3] Fix erroneous ETXTBSY problems with GFS2
Date: Mon, 11 Jan 2016 10:07:45 +0000	[thread overview]
Message-ID: <56937EF1.40106@redhat.com> (raw)
In-Reply-To: <1448393771-24245-1-git-send-email-rpeterso@redhat.com>

Hi,

ACK,

Steve.


On 24/11/15 19:36, Bob Peterson wrote:
> Hi,
>
> On 19 November, I posted an earlier "v3" version of this 3-patch set.
> Since then, I've uncovered more problems in testing and re-reviewing.
> This is a revised version of the three patches that fixes those problems.
>
> Regards,
>
> Bob peterson
> ---
> 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 864 bytes in length. Adding just
> the reservations structure bumped it up to 1280, which is not good.
> With all these patches in place, the size is 968, which is comparable
> to ext4 (1032) and xfs (1088). Further savings are possible (and I've
> prototyped a few) but I don't want to get too extreme here.
>
> Bob Peterson (3):
>    GFS2: Extract quota data from reservations structure (revert 5407e24)
>    GFS2: Make rgrp reservations part of the gfs2_inode structure
>    GFS2: Reduce size of incore inode
>
>   fs/gfs2/aops.c   |   2 +-
>   fs/gfs2/bmap.c   |  13 ++-----
>   fs/gfs2/file.c   |  25 +++++-------
>   fs/gfs2/glock.c  |  10 ++---
>   fs/gfs2/glock.h  |  26 ++++++-------
>   fs/gfs2/incore.h |  19 +++++----
>   fs/gfs2/inode.c  |  23 +++++------
>   fs/gfs2/main.c   |  16 ++++----
>   fs/gfs2/quota.c  | 115 ++++++++++++++++++++++++++++++++++++-------------------
>   fs/gfs2/quota.h  |   2 +
>   fs/gfs2/rgrp.c   |  59 +++++++++++-----------------
>   fs/gfs2/rgrp.h   |   6 +--
>   fs/gfs2/super.c  |   9 +++--
>   fs/gfs2/util.c   |   2 +-
>   fs/gfs2/util.h   |   2 +-
>   15 files changed, 171 insertions(+), 158 deletions(-)
>



      parent reply	other threads:[~2016-01-11 10:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-24 19:36 [Cluster-devel] [GFS2 PATCH v4 0/3] Fix erroneous ETXTBSY problems with GFS2 Bob Peterson
2015-11-24 19:36 ` [Cluster-devel] [GFS2 PATCH v4 1/3] GFS2: Extract quota data from reservations structure (revert 5407e24) Bob Peterson
2015-11-24 19:36 ` [Cluster-devel] [GFS2 PATCH v4 2/3] GFS2: Make rgrp reservations part of the gfs2_inode structure Bob Peterson
2015-12-14 18:28   ` [Cluster-devel] [GFS2 PATCH v5 " Bob Peterson
2015-11-24 19:36 ` [Cluster-devel] [GFS2 PATCH v4 3/3] GFS2: Reduce size of incore inode Bob Peterson
2015-11-25 11:47 ` [Cluster-devel] [GFS2 PATCH v4 0/3] Fix erroneous ETXTBSY problems with GFS2 Steven Whitehouse
2016-01-11 10:07 ` Steven Whitehouse [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56937EF1.40106@redhat.com \
    --to=swhiteho@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.