[LU-5054] File creation failure in directory with 16 byte pool name Created: 13/May/14  Updated: 04/Aug/16  Resolved: 02/Nov/14

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

Type: Bug Priority: Critical
Reporter: Li Xi (Inactive) Assignee: Cliff White (Inactive)
Resolution: Fixed Votes: 0
Labels: patch

Issue Links:
Related
is related to LUDOC-340 OST pool name length correction Resolved
Severity: 3
Rank (Obsolete): 13962

 Description   

The codes have some inconsistency about the length of pool name. Creating and setting a 16 byte pool name to a directory succeeds. But creating a file under that directory fails. Following script will reproduce that problem.

#!/bin/bash
FSNAME=server1
MNT=/mnt/lustre
lctl pool_new $FSNAME.aaaaaaaaaaaaaaaa
lctl pool_add $FSNAME.aaaaaaaaaaaaaaaa $FSNAME-OST0000
mkdir $MNT/dir2
lfs setstripe -p aaaaaaaaaaaaaaaa $MNT/dir2
dd if=/dev/zero of=$MNT/dir2/file bs=1M count=100



 Comments   
Comment by Li Xi (Inactive) [ 13/May/14 ]

I am not sure which way is the best to fix this, because it is easy to break compatibility. Following is a patch which tries to fix it.
http://review.whamcloud.com/10306

Comment by Cliff White (Inactive) [ 13/May/14 ]

Thank you for the contribution, the patch is in our testing system and will be reviewed.

Comment by Cliff White (Inactive) [ 09/Jun/14 ]

Will you be submitting a new patch to address the reviews?

Comment by Li Xi (Inactive) [ 20/Jun/14 ]

Sorry for my late reply. I've updated the patch.

Regarding compatibility concerns about that patch, I found that existing pools which have 16 byte names will be ignored when running on Lustre with that patch. And I don't think 16 byte pool name was widely used before, since it was not working well at all.

[root@vm12 CONFIGS]# pwd
/mnt/ldiskfs/CONFIGS
[root@vm12 CONFIGS]# llog_reader vm12-client | grep pool
#31 (120)pool new 0:vm12-clilov 1:vm12 2:aaaaaaaaaaaaaaaa
#34 (144)pool add 0:vm12-clilov 1:vm12 2:aaaaaaaaaaaaaaaa 3:vm12-OST0000_UUID
[root@vm12 CONFIGS]# lctl pool_list vm12
Pools from vm12:
[root@vm12 CONFIGS]# ll /proc/fs/lustre/lov/vm12-MDT0000-mdtlov/pools/
total 0
[root@vm12 CONFIGS]# ll /proc/fs/lustre/lov/*/pools
/proc/fs/lustre/lov/vm12-clilov-ffff8800ce9f0800/pools:
total 0
[root@vm12 CONFIGS]# ll /proc/fs/lustre/lod/vm12-MDT0000-mdtlov/pools/
total 0

Comment by Cliff White (Inactive) [ 02/Nov/14 ]

Patch has been merged, I am closing this issue, please reopen if needed

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