[Bugs] [Bug 1205709] ls command blocked when one brick disconnect, even reconnect.

bugzilla at redhat.com bugzilla at redhat.com
Fri Apr 3 03:08:48 UTC 2015


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



--- Comment #1 from jiademing <jiademing.dd at gmail.com> ---
in heal.c:
case EC_STATE_HEAL_PRE_INODELK_LOCK:
            if (heal->done)
                    return EC_STATE_HEAL_DISPATCH;

            /* Only heal data/metadata if enough information is supplied. */
            if (uuid_is_null(heal->loc.gfid))
            {
                ec_heal_entrylk(heal, ENTRYLK_UNLOCK);

                return EC_STATE_HEAL_DISPATCH;
            }

            ec_heal_inodelk(heal, F_WRLCK, 0, 0, 0);

            return EC_STATE_HEAL_PRE_INODE_LOOKUP;

after heal entry,it not unlock the parent entrylk, then to get the inodelk to
heal attr and xattr. but lock_reuse lead to dd hold inodelk all the time. so,
the heal can not get the inodelk,but hold it's parent's entrylk. so ls command
blocled (opendir need to get the entrylk)

-- 
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