Details
-
Bug
-
Resolution: Fixed
-
Blocker
-
Lustre 2.4.0
-
3
-
6752
Description
Setting the stripe data on a file through the fsetxattr() interface fails to save the pool name. Setting the same stripe data through ioctl() works as expected.
The attached C program demonstrates the problem:
$ bass6@t2vm ~ /dev/pts/0 Fri Feb 08 11:58:47 > gcc -Wall -g -Werror -o pool_test pool_test.c -llustreapi $ bass6@t2vm ~ /dev/pts/0 Fri Feb 08 11:58:59 > sudo ./pool_test /mnt/lustre/ioctl_file /mnt/lustre/fsetxattr_file asdf pool_test: pool_test.c:96: main: Assertion `pool_name_presence(file2, poolname) == 0' failed. $ bass6@t2vm ~ /dev/pts/0 Fri Feb 08 11:59:36 > lfs getstripe /mnt/lustre/ioctl_file /mnt/lustre/ioctl_file lmm_stripe_count: 1 lmm_stripe_size: 1048576 lmm_layout_gen: 0 lmm_stripe_offset: 6 lmm_pool: asdf obdidx objid objid group 6 7 0x7 0x380000400 $ bass6@t2vm ~ /dev/pts/0 Fri Feb 08 11:59:44 > lfs getstripe /mnt/lustre/fsetxattr_file /mnt/lustre/fsetxattr_file lmm_stripe_count: 1 lmm_stripe_size: 1048576 lmm_layout_gen: 0 lmm_stripe_offset: 7 lmm_pool: obdidx objid objid group 7 9 0x9 0x3c0000400
Attachments
Activity
Fix Version/s | New: Lustre 2.4.0 [ 10154 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Labels | New: LB | |
Priority | Original: Minor [ 4 ] | New: Blocker [ 1 ] |
Assignee | Original: WC Triage [ wc-triage ] | New: Ned Bass [ nedbass ] |
Attachment | New: pool_test.c [ 12247 ] |
Attachment | Original: pool_test.c [ 12246 ] |
Patch landed to master.