cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Benjamin Marzinski <bmarzins@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH] GFS2: Don't withdraw on partial rindex entries
Date: Wed, 20 Jan 2010 10:24:52 -0600	[thread overview]
Message-ID: <20100120162452.GA17440@ether.msp.redhat.com> (raw)

Since gfs2 writes the rindex file a block at a time, and releases the exclusive
lock after each block, it is possible that another process will grab the lock
in the middle of the write.  Since rindex entries are not an even divisor of
blocks, that other process may see partial entries.  On grows, this is fine.
The process can simply ignore the the partial entires. Previously, the code
withdrew when it saw partial entries. Now is simply prints an info message
letting the user know that it found a partial entry.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
---
 fs/gfs2/rgrp.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Index: gfs2-2.6-nmw/fs/gfs2/rgrp.c
===================================================================
--- gfs2-2.6-nmw.orig/fs/gfs2/rgrp.c
+++ gfs2-2.6-nmw/fs/gfs2/rgrp.c
@@ -591,10 +591,8 @@ static int gfs2_ri_update(struct gfs2_in
 	u64 rgrp_count = ip->i_disksize;
 	int error;
 
-	if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) {
-		gfs2_consist_inode(ip);
-		return -EIO;
-	}
+	if (do_div(rgrp_count, sizeof(struct gfs2_rindex)))
+		fs_info(sdp, "incomplete resource index. Is the filesystem being grown?\n");
 
 	clear_rgrpdi(sdp);
 



                 reply	other threads:[~2010-01-20 16:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20100120162452.GA17440@ether.msp.redhat.com \
    --to=bmarzins@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).