Re: [PATCH] common/attr: fix the MAX_ATTRS and MAX_ATTRVAL_SIZE for nfs
From: Hao Xu <hidden>
Date: 2021-08-03 02:46:27
Also in:
linux-nfs
在 2021/7/30 下午10:01, Eryu Guan 写道:
[cc linux-nfs for review] On Fri, Jul 30, 2021 at 08:42:52PM +0800, Hao Xu wrote:quoted
The block size of localfs for nfs may be much smaller than nfs itself. So we'd better set MAX_ATTRS and MAX_ATTRVAL_SIZE to 4096 to avoid 'no space' error when we test adding a bunch of xattrs to nfs. Signed-off-by: Hao Xu <redacted>Since the xattr support is relatively new (merged a year ago for NFSv4.2), I'd like nfs folks to take a look as well.quoted
--- It's better to set BLOCK_SIZE to `_get_block_size $variable` here $variable is the localfs for nfs, since I'm not familiar with xfstests, anyone tell what's the name of it.fstests doesn't know the exported filesystem under NFS, so I don't think we could the block size of it.quoted
common/attr | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)diff --git a/common/attr b/common/attr index 42ceab92335a..a833f00e0884 100644 --- a/common/attr +++ b/common/attr@@ -253,9 +253,13 @@ _getfattr() # set maximum total attr space based on fs type case "$FSTYP" in -xfs|udf|pvfs2|9p|ceph|nfs) +xfs|udf|pvfs2|9p|ceph) MAX_ATTRS=1000 ;; +nfs) + BLOCK_SIZE=4096 + let MAX_ATTRS=$BLOCK_SIZE/40 + ;; *) # Assume max ~1 block of attrs BLOCK_SIZE=`_get_block_size $TEST_DIR`@@ -273,12 +277,15 @@ xfs|udf|btrfs) pvfs2) MAX_ATTRVAL_SIZE=8192 ;; -9p|ceph|nfs) +9p|ceph) MAX_ATTRVAL_SIZE=65536 ;; bcachefs) MAX_ATTRVAL_SIZE=1024 ;; +nfs) + MAX_ATTRVAL_SIZE=3840 + ;;Where does this value come from?
3840 = 4096 - 256, which is like the case of *)
Thanks, Eryuquoted
*) # Assume max ~1 block of attrs BLOCK_SIZE=`_get_block_size $TEST_DIR` -- 2.24.4