[LU-9756] sanity test 184d fails with ‘lovea *-E -1 -c -1 * != * -E -1 -c 6 * ‘ Created: 10/Jul/17  Updated: 10/Jul/17

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.10.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: James Nunez (Inactive) Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: pfl

Issue Links:
Related
is related to LU-9479 sanity test 184d 244: don't instantia... Open
is related to LU-9344 sanity test_244: sendfile_grouplock t... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

sanity test_184d fails when there is a default composite layout set on $DIR with:

sanity test_184d: @@@@@@ FAIL: lovea  -E 2097152 -c 1 -S 1048576 -i 0 -E -1 -c -1 -S 1048576 -i -1 !=  -E 2097152 -c 1 -S 1048576 -i 0 -E -1 -c 6 -S 1048576 -i 1 

More specifically, when you set a composite layout on $DIR and run sanity.sh test 184d will fail when the number of stripes set on a component is -1.

Here’s essentially what test 184a and why it fails when a composite file layout is set on mount point:

1. touch a file called swapfile1. The last component of the file is uninstantiated and you will see lcme_flags = 0 and lmm_stripe_count = -1 for the last component which matches the composite file layout on the parent dir.
2. create another file with “./openfile -f O_CREAT:O_LOV_DELAY_CREATE /lustre/scratch/swapfile2”
3. now swap the layouts with “lfs swap_layouts /lustre/scratch/swapfile1 /lustre/scratch/swapfile2”
4. The swap works, but the last component of the swapped file, swapfile2, is now instantiated; we see lcme_flags =init and lmm_stripe_count = 6 for the last component of swapfile2.

So, sanity test 184a fails because of the differences in the lmm_stripe_count values; “-1” versus “6”.

Bobi Jam explained this as a “… current PFL swap limitation (initializing all objects before getting the group lock), so that after swap, those un-initialized component got initialized.”

Andreas Dilger commented: My preference would be to avoid instantiating the layout of files during swap, but there is a bug with doing a group lock on uninstantiated components, and the workaround is to force all components to be instantiated.

Logs for one of these failures is at
https://testing.hpdd.intel.com/test_sets/4db252a4-5ba1-11e7-8a1b-5254006e85c2



 Comments   
Comment by Andreas Dilger [ 10/Jul/17 ]

This is basically the same issue as LU-9479. In the migrate case, there is no value to instantiate all of the components, since the source file will be destroyed after migration is complete, and the target (victim) file is not yet accessible in the filesystem namespace.

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