From patchwork Sat Mar 25 06:09:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingbo Xu X-Patchwork-Id: 74823 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp234906vqo; Fri, 24 Mar 2023 23:28:31 -0700 (PDT) X-Google-Smtp-Source: AKy350Z53oeDKafZ/YCUNksqG8p+GUJd1JGdTfguOKEvpy7fvenPfgXE4MCz/4ap5I+gmRmp9JVS X-Received: by 2002:a62:5245:0:b0:627:ff1d:db6d with SMTP id g66-20020a625245000000b00627ff1ddb6dmr5094023pfb.21.1679725710878; Fri, 24 Mar 2023 23:28:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679725710; cv=none; d=google.com; s=arc-20160816; b=BY/S4xR5/OTcxYgHWlkfgDxfRrmZ8ty2UrN6soFfrUyGfSrgaDDOsf2w4gW8A1EZxV Oy3Ub5VIxSbAsbjDPJD0JsSzp3hysZo3iOrkd+Pn8tvwTNFBvnlafL9/wc9rJvsVD7c3 qyMOCSa3f7WHHv+3xAQeEn7jHy3mEzId7U2LSQGi/9IfVNsMwP+7FgLcLncTtGvJZQVF qvGA8+GpODETQqi+V1fNP4wJMq9gchUZY+MKgQTtaKUq22cEsN8Uby6nqaDMo6G2Dq4h mXwzBKWpUKkmdnWRrfqOoNSBFZ1SESrvsXvKnxeyex5RwL8JzuSQY9LjGYncs33LmSrO 3ftQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=sjwQ2V4T4DthJExEUq/I0AUy4+rw/8A+UVOzOpM/yEs=; b=yPUpAN7+JOXE1kNe3rbdrRXnlWIz2ZfAK9M3dR4upCnLEmaRqOgBcbHaR+BezI20gP sux069CuQ6NePkNeAo4tVqkqtfRe9FEAibwt9OBImktet2+0zwfh43TeB5fnQ7JKk9c5 /YagWHCDWHFE8xIKGRchWvhwpA6JznStMZV7iLCXdiQQNp15AGrDFCENZYoNHogBnLer Qo1yX/sXkEc+wRau9f5cWPvPQ0Ky8sAGFC9h+PAOhdsZuwvo9OWA/oZ/WWFkglFWfMbb E6w9duPVn8o7OB82k1KNOOnlvReBRjOUKM2bsuxIAP6l0Z2msrace45TtuHp0MdYYgVb unfQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z1-20020a63e101000000b004fc2f19bacasi22550389pgh.120.2023.03.24.23.28.18; Fri, 24 Mar 2023 23:28:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232455AbjCYGKv (ORCPT + 99 others); Sat, 25 Mar 2023 02:10:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232315AbjCYGKT (ORCPT ); Sat, 25 Mar 2023 02:10:19 -0400 Received: from out30-99.freemail.mail.aliyun.com (out30-99.freemail.mail.aliyun.com [115.124.30.99]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB6291A95C for ; Fri, 24 Mar 2023 23:09:57 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R611e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045168;MF=jefflexu@linux.alibaba.com;NM=1;PH=DS;RN=5;SR=0;TI=SMTPD_---0VeZn9WA_1679724594; Received: from localhost(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0VeZn9WA_1679724594) by smtp.aliyun-inc.com; Sat, 25 Mar 2023 14:09:55 +0800 From: Jingbo Xu To: xiang@kernel.org, chao@kernel.org, huyue2@coolpad.com, linux-erofs@lists.ozlabs.org Cc: linux-kernel@vger.kernel.org Subject: [PATCH] erofs-utils: tests: enhance erofs/019 Date: Sat, 25 Mar 2023 14:09:54 +0800 Message-Id: <20230325060954.63062-1-jefflexu@linux.alibaba.com> X-Mailer: git-send-email 2.19.1.6.gb485710b MIME-Version: 1.0 X-Spam-Status: No, score=-8.0 required=5.0 tests=ENV_AND_HDR_SPF_MATCH, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761320067040515691?= X-GMAIL-MSGID: =?utf-8?q?1761320067040515691?= Test xattr in following cases: - multiple inline xattrs for one single file - multiple share xattrs for one single file - mixed inline and share xattrs for one single file - name/value field of xattr crosses block boundary Signed-off-by: Jingbo Xu --- This is used to test the refactoring on xattr on kernel side[1]. This patch relies on the "-b #blocksize" feature, and thus it needs to be rebased to "-b experimental" branch of erofs-utils. [1] https://lore.kernel.org/all/20230323000949.57608-1-jefflexu@linux.alibaba.com/ --- tests/erofs/019 | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/tests/erofs/019 b/tests/erofs/019 index dac2ae3..f733516 100755 --- a/tests/erofs/019 +++ b/tests/erofs/019 @@ -15,6 +15,11 @@ cleanup() rm -rf $tmp.* } +generate_random() +{ + head -20 /dev/urandom | base64 -w0 | head -c $1 +} + _require_erofs # remove previous $seqres.full before test @@ -37,18 +42,37 @@ rm -rf $localdir mkdir -p $localdir # set random xattrs -cp -nR ../ $localdir -dirs=`ls $localdir` -for d in $dirs; do - key=`head -20 /dev/urandom | cksum | cut -f1 -d " "` - val="0s"`head -3 /dev/urandom | base64 -w0` - setfattr -n user.$key -v $val $localdir/$d -done +# file1: multiple inline xattrs +touch $localdir/file1 +setfattr -n user.p$(generate_random 16) -v $(generate_random 16) $localdir/file1 +# inline xattr (large name/value crossing block boundary) +setfattr -n user.p$(generate_random 249) -v $(generate_random 1024) $localdir/file1 + +# file2: multiple share xattrs +s_key_1=$(generate_random 16) +s_key_2=$(generate_random 16) +s_val=$(generate_random 16) + +touch $localdir/file2 +setfattr -n user.s$s_key_1 -v $s_val $localdir/file2 +setfattr -n user.s$s_key_2 -v $s_val $localdir/file2 + +# file3: mixed inline and share xattrs +touch $localdir/file3 +setfattr -n user.p$(generate_random 16) -v $(generate_random 16) $localdir/file3 +setfattr -n user.s$s_key_1 -v $s_val $localdir/file3 + +# file4: share xattr +touch $localdir/file4 +setfattr -n user.s$s_key_2 -v $s_val $localdir/file4 + +MKFS_OPTIONS="$MKFS_OPTIONS -b1024 -x1" _scratch_mkfs $localdir >> $seqres.full 2>&1 || _fail "failed to mkfs" _scratch_mount 2>>$seqres.full # check xattrs +dirs=`ls $localdir` for d in $dirs; do xattr1=`getfattr --absolute-names -d $localdir/$d | tail -n+2` xattr2=`getfattr --absolute-names -d $SCRATCH_MNT/$d | tail -n+2`