[LU-14826] enable striped directory as NFS export Created: 07/Jul/21  Updated: 15/May/23  Resolved: 22/Jul/21

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.15.0

Type: Bug Priority: Minor
Reporter: Lai Siyao Assignee: Lai Siyao
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
Related
is related to LU-15835 sanityn test_102: [20108.951589] WARN... Reopened
is related to LU-14823 re-enable open-by-handle tests Resolved
is related to LU-15617 Add shellcheck to prepare-commit-msg Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Striped directory as NFS export is not supported, because ".." lookup for subdir under striped directory returns stripe FID back, other than the directory master object FID, while ll_get_parent() needs the latter for NFS.



 Comments   
Comment by Gerrit Updater [ 07/Jul/21 ]

Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/44168
Subject: LU-14826 mdt: lookup("..") under striped directory
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: b798c073281f4e20f955fefaf8109920f9d5b75c

Comment by Andreas Dilger [ 07/Jul/21 ]

I was just coming to the same conclusion. What happens is that the client finds the directory X layout is striped, hashes "..", and finds the sub-stripe of the directory, and does a lookup of ".." in the sub-stripe directory. That ends up returning the FID of directory X again, since it is the parent of the sub-stripe.

Rather than adding complexity to the MDS to handle this case, what about having the client check for lookup of ".." and not do the sub-stripe lookup, but rather do the ".." lookup in the master object FID? That should return the proper parent FID, rather than looking up master/substripe/.. == master?

Comment by Lai Siyao [ 07/Jul/21 ]

It's not lookup("master/substripe/.."), but lookup("master/substripe/subdir/.."), herein if "subdir" is a plain directory, it will fail too.

Comment by Gerrit Updater [ 22/Jul/21 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/44168/
Subject: LU-14826 mdt: getattr_name("..") under striped directory
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: cbc62b0b829afdceaa01820996e567b5bdeb281c

Comment by Peter Jones [ 22/Jul/21 ]

Landed for 2.15

Comment by Gerrit Updater [ 03/Mar/22 ]

"Andreas Dilger <adilger@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46693
Subject: LU-14826 tests: fix sanityn.sh test_102 version check
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 32768318819952b670ac778bfba14e3fdb82c04e

Comment by Gerrit Updater [ 05/May/22 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/46693/
Subject: LU-14826 tests: fix sanityn.sh test_102 version check
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b9d93dc33e24718c316b84baa89282bebe05a546

Generated at Sat Feb 10 03:13:07 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.