[LU-4954] LL_IOC_LMV_SETSTRIPE allows embedded slashes in names Created: 24/Apr/14  Updated: 01/May/14  Resolved: 01/May/14

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.6.0
Fix Version/s: Lustre 2.6.0

Type: Bug Priority: Critical
Reporter: John Hammond Assignee: WC Triage
Resolution: Fixed Votes: 0
Labels: llapi, mdd, mdt

Severity: 3
Rank (Obsolete): 13708

 Description   

If the filename (data.ioc_inlbuf1) passed to LL_IOC_LMV_SETSTRIPE has a slash in it then the name (d_name) of the striped directory will also have an embedded slash. Such a file cannot be accesses (except via .lustre/fid) and cannot be removed.

# ls /mnt/lustre
ls: cannot access /mnt/lustre/d0/d1: No such file or directory
t:lustre-release# sys_getdents -x /mnt/lustre
d  200000007000001 '..'
d  2c0000402000003 'd0/d1'
d  200000002000001 '.lustre'
#

This is a minor issue as normally llapi calls dirname() and basename() to get the directory and name. Hence this will not be encountered by (most) users. However llite and the mdt/mdd layers should better validate names that come from ioctls.



 Comments   
Comment by Oleg Drokin [ 25/Apr/14 ]

Let's make sure lfsck knows to delete such files with invalid names

Comment by Oleg Drokin [ 25/Apr/14 ]

Also the fix must be on MDS to make sure the name passed for all these commands does not contain invalid characters

Comment by John Hammond [ 25/Apr/14 ]

Please see http://review.whamcloud.com/10111 for a fix in MDD.

Comment by John Hammond [ 01/May/14 ]

Patch landed to master.

Generated at Sat Feb 10 01:47:17 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.