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