[LU-13486] tests sanity/32* fail Created: 24/Apr/20  Updated: 17/Feb/21  Resolved: 14/May/20

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Upstream, Lustre 2.14.0

Type: Bug Priority: Minor
Reporter: Alex Zhuravlev Assignee: Andreas Dilger
Resolution: Fixed Votes: 0
Labels: None
Environment:

linux-4.18.0-32.el8


Issue Links:
Related
is related to LU-9868 dcache/namei fixes for lustre Open
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   
Lustre: DEBUG MARKER: == sanity test 32c: stat d32c/ext2-mountpoint/../d2/test_dir ========================================= 12:58:57 (1587715137)
striped dir -i0 -c2 -H fnv_1a_64 /mnt/lustre/d32c.sanity/ext2-mountpoint
EXT2-fs (loop4): warning: mounting ext3 filesystem as ext2
striped dir -i0 -c2 -H all_char /mnt/lustre/d32c.sanity/d2/test_dir
/mnt/lustre/d32c.sanity/ext2-mountpoint/../d2/test_dir has type dir OK
umount: /mnt/lustre/d32c.sanity/ext2-mountpoint: not mounted.
losetup: option requires an argument -- 'd'
Try 'losetup --help' for more information.
 sanity test_32c: @@@@@@ FAIL: test_32c failed with 32 

this is because any access to ext2-mountpoint denty causes denty invalidation and umount

introduced with: a36d9c3911 2020-04-02 | LU-9868 llite: Get rid of ll_dcompare



 Comments   
Comment by Andreas Dilger [ 25/Apr/20 ]

James or Neil, could you please take a look at this? It looks like a regression from patch https://review.whamcloud.com/24175 "LU-9868 llite: Get rid of ll_dcompare".

Comment by Neil Brown [ 27/Apr/20 ]

The problem here is the parent of ext2-mountpoint gets invalidated.  e.g. 'd32c.sanity' in the root lustre directory.

When that gets invalidated, it isn't a mountpoint so ll_revalidate_dentry can return 0, and then the whole directory tree from there down is invalidated.

ll_revalidate_dentry needs to actually test if the dentry is valid or not.  It cannot just return "Maybe it is invalid, maybe not".

I suspect that if it finds lld_invalid to be true, it needs to talk to the MDS -  do a 'lookup' and get the relevant lock.

But probably we need to revert that patch for now.

 

Comment by Gerrit Updater [ 05/May/20 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/38498
Subject: LU-13486 llite: restore ll_dcompare()
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 291725afbdb6afc0f1fcbe2c655543ed62ffbc00

Comment by Gerrit Updater [ 14/May/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38498/
Subject: LU-13486 llite: restore ll_dcompare()
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 00fa5e8ef45592fbf2a783a1985dc9fd989f419b

Comment by Peter Jones [ 14/May/20 ]

Landed for 2.14

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