[Bugs] [Bug 1238508] Renamed Files are missing after self-heal

bugzilla at redhat.com bugzilla at redhat.com
Mon Jul 6 07:11:51 UTC 2015


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



--- Comment #6 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/11498 committed in master by Pranith Kumar
Karampuri (pkarampu at redhat.com) 
------
commit 214101394bdea4ab57b8704467f450df4adbb8f6
Author: Anuradha Talur <atalur at redhat.com>
Date:   Fri Jul 3 11:35:46 2015 +0530

    cluster/afr : expunge first, impunge next in entry selfheal

    When entry self-heals are performed, the files/directories
    that are to be expunged should be removed first and then
    impunge should be done.

    Consider the following scenario :
    A volume with 2 bricks : b0 and b1.
    1) With following hierarchy on both bricks:
    olddir
    |__ oldfile

    2) Bring down b1 and do 'mv olddir newdir'.

    3) Bring up b1 and self-heal.

    4) Without patch, during self-heal the events occur in
    following order,
            a) Creation of newdir on the sink brick. Notice that
    gfid of olddir and newdir are same. As a result of which
    gfid-link file in .glusterfs directory still points to olddir
    and not to newdir.

            b) Deletion of olddir on the sink brick. As a part of
    this deletion, the gfid link file is also deleted. Now, there
    is no link file pointing to newdir.

    5) Files under newdir will not get listed as part of readdir.

    To tackle this kind of scenario, an expunge should be done first
    and impunge later; which is the purpose of this patch.

    Change-Id: Idc8546f652adf11a13784ff989077cf79986bbd5
    BUG: 1238508
    Signed-off-by: Anuradha Talur <atalur at redhat.com>
    Reviewed-on: http://review.gluster.org/11498
    Reviewed-by: Ravishankar N <ravishankar at redhat.com>
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Krutika Dhananjay <kdhananj at redhat.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=4Md5h3OlCE&a=cc_unsubscribe


More information about the Bugs mailing list