[LU-3899] lfs getstripe --raw option is ignored Created: 06/Sep/13  Updated: 28/May/14  Resolved: 28/May/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.1, Lustre 2.5.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Colin Faber [X] (Inactive) Assignee: WC Triage
Resolution: Not a Bug Votes: 0
Labels: None

Issue Links:
Related
is related to LU-3898 lfs getstripe recusively fetches stri... Resolved
Severity: 3
Rank (Obsolete): 10212

 Description   

It seems that the lfs getstripe --raw option is ignored as well as -R.

[root@coolermaster lustre]# lfs getstripe -R y/a 
y/a
lmm_stripe_count:   5
lmm_stripe_size:    1048576
lmm_layout_gen:     0
lmm_stripe_offset:  6
        obdidx           objid           objid           group
             6               4            0x4                0
             0              16           0x10                0
             5               6            0x6                0
             4               4            0x4                0
             2               4            0x4                0

[root@coolermaster lustre]# lfs getstripe y/a 
y/a
lmm_stripe_count:   5
lmm_stripe_size:    1048576
lmm_layout_gen:     0
lmm_stripe_offset:  6
        obdidx           objid           objid           group
             6               4            0x4                0
             0              16           0x10                0
             5               6            0x6                0
             4               4            0x4                0
             2               4            0x4                0


 Comments   
Comment by Jodi Levi (Inactive) [ 09/Sep/13 ]

Possibly related to LU-3898

Comment by Andreas Dilger [ 07/Oct/13 ]

Colin, I'm not sure what you are expecting here? The "--raw" argument is only meaningful for directories, and has no meaning for regular files (which is the case of your original report).

The default striping set on a directory allows "passthrough" to the filesystem-wide striping (i.e. any values which are not specified are the default). The "--raw" argument means "tell me the actual layout specified for the directory, not what it would be if a new file is created in the directory". For example (on current master):

# mkdir /mnt/testfs/foo
# lfs getstripe /mnt/testfs/foo
/mnt/testfs/foo
stripe_count:   1 stripe_size:    1048576 stripe_offset:  -1 
# lfs getstripe --raw /mnt/testfs/foo
/mnt/testfs/foo
stripe_count:   0 stripe_size:    0 stripe_offset:  -1 

This shows that there is no default striping specified on the directory at all.

If the stripe count is explicitly set to 3 (without changing anything else), the normal getstripe output will still show the "combined" striping, but the --raw output shows only the layout that was actually set on the directory:

lfs setstripe -c 3 /mnt/testfs/foo 
# lfs getstripe /mnt/testfs/foo
/mnt/testfs/foo
stripe_count:   3 stripe_size:    1048576 stripe_offset:  -1 
# lfs getstripe --raw /mnt/testfs/foo
/mnt/testfs/foo
stripe_count:   3 stripe_size:    0 stripe_offset:  -1 
Generated at Sat Feb 10 01:37:53 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.