[LU-2786] fsetxattr() doesn't save pool name in stripe data Created: 08/Feb/13 Updated: 22/Apr/13 Resolved: 21/Feb/13 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.4.0 |
| Fix Version/s: | Lustre 2.4.0 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Ned Bass | Assignee: | Ned Bass |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | LB | ||
| Attachments: |
|
| Severity: | 3 |
| Rank (Obsolete): | 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
|
| Comments |
| Comment by Ned Bass [ 08/Feb/13 ] |
|
Please review: |
| Comment by Jodi Levi (Inactive) [ 21/Feb/13 ] |
|
Patch landed to master. |