[LU-2241] symlink bug in 2.3.0 Created: 28/Oct/12 Updated: 30/Nov/12 Resolved: 06/Nov/12 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.3.0 |
| Fix Version/s: | Lustre 2.4.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Wolfgang Baudler | Assignee: | Nathaniel Clark |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
RHEL6.3 |
||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Epic: | metadata, server | ||||||||
| Rank (Obsolete): | 5304 | ||||||||
| Description |
|
Symlinks with a destination path that has the exact length of 61 characters don't work. For example $ ln -s 123456789012345678901234567890123456789012345678901234567890 Symlinks with shorter or longer paths work fine. I assume an off-by-one error, since 60 characters seems to be the limit for storing the symlink inside of an inode. Lustre 2.2.0 did not have this problem. |
| Comments |
| Comment by Wolfgang Baudler [ 28/Oct/12 ] |
|
Client logs this when such a symlink is accessed: kernel: LustreError: 11096:0:(symlink.c:95:ll_readlink_internal()) inode 144115574354477068: symlink not NULL terminated stringof length 60 |
| Comment by Nathaniel Clark [ 30/Oct/12 ] |
|
Reproduced with MDS/MGS/OSS servers 2.3.54 The following client versions exhibited this issue:
|
| Comment by Nathaniel Clark [ 31/Oct/12 ] |
|
http://review.whamcloud.com/4415 Since this is a server only issue, The client code doesn't need to be patched, I believe this only affects master. |
| Comment by Keith Mannthey (Inactive) [ 31/Oct/12 ] |
|
Thanks for adding a test to sanity.sh. |
| Comment by Nathaniel Clark [ 06/Nov/12 ] |
|
Change has been successfully cherry-picked as 6c3606b79a4c25946255a680f79ff2d58df66bbc |
| Comment by Nathaniel Clark [ 29/Nov/12 ] |
|
b2_1 version of this patch submitted to fix |