[Bugs] [Bug 1492010] New: Launch metadata heal in discover code path.

bugzilla at redhat.com bugzilla at redhat.com
Fri Sep 15 09:25:00 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1492010

            Bug ID: 1492010
           Summary: Launch metadata heal in discover code path.
           Product: GlusterFS
           Version: 3.10
         Component: replicate
          Keywords: Triaged
          Assignee: bugs at gluster.org
          Reporter: ravishankar at redhat.com
                CC: bugs at gluster.org
        Depends On: 1473636
            Blocks: 1470599, 1488168



+++ This bug was initially created as a clone of Bug #1473636 +++

Description of problem:

It was found that when I/O was going on in a  rep 2 volume and an add-brick was
done to convert it to rep-3, mkdir failed on the newly added brick because the
parent dir on that brick did not contain dht layout xattr due to which posix
failed the mkdir (see BZ 1470599 if you have view permissions).

So fuse guarantees that a lookup (named OR gfid lookup) is issued before the
mkdir. In afr, metadata heals (which heal the xattrs including dht xattrs)
happen only as a part of named lookups. Fix it to include gfid lookups as well.

Note that named lookups can do name heals (if entry doesn't exist on the 3rd
brick), gfid lookups can't do that. The most we can do is perform metadata
heals if the entry is already present in the brick.

--- Additional comment from Worker Ant on 2017-07-21 06:53:11 EDT ---

REVIEW: https://review.gluster.org/17850 (afr: heal metadata in discover code
path) posted (#1) for review on master by Ravishankar N
(ravishankar at redhat.com)

--- Additional comment from Worker Ant on 2017-07-23 07:16:43 EDT ---

REVIEW: https://review.gluster.org/17850 (afr: heal metadata in discover code
path) posted (#2) for review on master by Ravishankar N
(ravishankar at redhat.com)

--- Additional comment from Worker Ant on 2017-08-16 07:46:51 EDT ---

COMMIT: https://review.gluster.org/17850 committed in master by Ravishankar N
(ravishankar at redhat.com) 
------
commit 468ca877807625817b72921d1e9585036687b640
Author: Ravishankar N <ravishankar at redhat.com>
Date:   Fri Jul 21 15:21:20 2017 +0530

    afr: heal metadata in discover code path

    During graph switch, if fuse sends nameless (gfid) lookups, afr takes
    the discover code path to serve it. If there are pending metadata heals,
    they do not happen unless an inode refresh happens as a part of
    discover (which is not guaranteed to happen always).

    This patch fixes it by attempting metadata heal as a part of discover,
    just like how it is done in lookup code path.

    Also removed creating superfluous  heal frames when launching heal.

    Change-Id: I49868649361ebe5d70b6ea150f4686169b6c3070
    BUG: 1473636
    Signed-off-by: Ravishankar N <ravishankar at redhat.com>
    Reviewed-on: https://review.gluster.org/17850
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Karthik U S <ksubrahm at redhat.com>

--- Additional comment from Ravishankar N on 2017-09-02 11:31:17 EDT ---

Sending one more patch based on post-merge review comments for patch in comment
#3.

--- Additional comment from Worker Ant on 2017-09-02 11:39:01 EDT ---

REVIEW: https://review.gluster.org/18187 (afr: discover/lookup heal fixes)
posted (#1) for review on master by Ravishankar N (ravishankar at redhat.com)

--- Additional comment from Worker Ant on 2017-09-04 01:31:35 EDT ---

COMMIT: https://review.gluster.org/18187 committed in master by Pranith Kumar
Karampuri (pkarampu at redhat.com) 
------
commit 37e16afa4853dcb5df6d6d0c91a6afd960c3a901
Author: Ravishankar N <ravishankar at redhat.com>
Date:   Sat Sep 2 20:24:00 2017 +0530

    afr: discover/lookup heal fixes

    Addresses review comments in commit
468ca877807625817b72921d1e9585036687b640

    Change-Id: I04b1bd3b00abfd6758798d6272954e36a24249a9
    BUG: 1473636
    Signed-off-by: Ravishankar N <ravishankar at redhat.com>
    Reviewed-on: https://review.gluster.org/18187
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1470599
[Bug 1470599] log messages appear stating mdkir failed on the new brick
while adding brick to increase replica count.
https://bugzilla.redhat.com/show_bug.cgi?id=1473636
[Bug 1473636] Launch metadata heal in discover code path.
https://bugzilla.redhat.com/show_bug.cgi?id=1488168
[Bug 1488168] Launch metadata heal in discover code path.
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list