From 56402f839c9a5d045a69f96a69bcc6ecb0d9cb80 Mon Sep 17 00:00:00 2001 From: David Teigland Date: Tue, 1 May 2012 15:50:48 -0500 Subject: [PATCH] --- yaml --- r: 305199 b: refs/heads/master c: 1a058f5288a74a20d5567a85ab1a04a9de69a212 h: refs/heads/master i: 305197: 4befc25cfe8f261a1661ee5aea6f60cca1d1ff2a 305195: 54e9073d906313e16b9dde0673b7789a19881a98 305191: 677faf9071156d015912635214b68bf36ae867d1 305183: 6b99f6541681b11f5d0d4b0521669471fdad21f1 v: v3 --- [refs] | 2 +- trunk/fs/gfs2/sys.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 724a552b4a90..2f886529cce8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4875647a08e35f77274838d97ca8fa44158d50e2 +refs/heads/master: 1a058f5288a74a20d5567a85ab1a04a9de69a212 diff --git a/trunk/fs/gfs2/sys.c b/trunk/fs/gfs2/sys.c index d33172c291ba..9c2592b1d5ff 100644 --- a/trunk/fs/gfs2/sys.c +++ b/trunk/fs/gfs2/sys.c @@ -368,10 +368,7 @@ int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid) struct gfs2_jdesc *jd; int rv; - rv = -ESHUTDOWN; spin_lock(&sdp->sd_jindex_spin); - if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) - goto out; rv = -EBUSY; if (sdp->sd_jdesc->jd_jid == jid) goto out; @@ -396,8 +393,13 @@ static ssize_t recover_store(struct gfs2_sbd *sdp, const char *buf, size_t len) if (rv != 1) return -EINVAL; - rv = gfs2_recover_set(sdp, jid); + if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) { + rv = -ESHUTDOWN; + goto out; + } + rv = gfs2_recover_set(sdp, jid); +out: return rv ? rv : len; }