[LU-6475] race between open and migration Created: 18/Apr/15  Updated: 09/Sep/16  Resolved: 24/Aug/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.6.0, Lustre 2.7.0
Fix Version/s: Lustre 2.8.0

Type: Bug Priority: Critical
Reporter: Di Wang Assignee: Di Wang
Resolution: Fixed Votes: 0
Labels: dne2

Issue Links:
Related
is related to LU-6715 sanity-lfsck test_15c: Fail to repair... Resolved
is related to LU-6831 The ticket for tracking all DNE2 bugs Reopened
is related to LU-6785 Interop 2.7.0<->master sanity test_56... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

After the directory is migrated to another MDT, the object on the original MDT will be destroyed (mark as DEAD object). If another client is trying to open the file under this directory at the same time (sending RPC to the original MDT), it will then find the object has been destroyed, then return ENOENT to the client, which will cause open fails.

See mdt_reint_open().

   if (result == -ENOENT || result == -ESTALE) {
                mdt_set_disposition(info, ldlm_rep, DISP_LOOKUP_NEG);
                if (result == -ESTALE) {
                        /*
                         * -ESTALE means the parent is a dead(unlinked) dir, so
                         * it should return -ENOENT to in accordance with the
                         * original mds implementaion.
                         */
                        GOTO(out_parent, result = -ENOENT);
                }

In this case, we should return the new parent FID to that client and let it retry open.



 Comments   
Comment by Gerrit Updater [ 20/Apr/15 ]

wangdi (di.wang@intel.com) uploaded a new patch: http://review.whamcloud.com/14497
Subject: LU-6475 mdt: race between open and migrate
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 07e7267fdc31ac882ed6d68200d65c8c17718f21

Comment by Gerrit Updater [ 24/Aug/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/14497/
Subject: LU-6475 mdt: race between open and migrate
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 220e6cbfa65c570641b515723df727b205b0e92a

Comment by Joseph Gmitter (Inactive) [ 24/Aug/15 ]

Patch has landed for 2.8.

Generated at Sat Feb 10 02:00:33 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.