[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: |
|
||||||||||||
| 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. 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 |
| 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. |