From patchwork Wed Jan 25 08:56:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artem Blagodarenko X-Patchwork-Id: 719593 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3v7f7d1kPWz9snk for ; Wed, 25 Jan 2017 19:57:16 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lacie.com header.i=@lacie.com header.b="wmDAov2q"; dkim=pass (2048-bit key; unprotected) header.d=seagate.com header.i=@seagate.com header.b="OOQAk/M3"; dkim=pass (2048-bit key; unprotected) header.d=seagate.com header.i=@seagate.com header.b="fMRDSOWI"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751347AbdAYI5O (ORCPT ); Wed, 25 Jan 2017 03:57:14 -0500 Received: from mx0a-00003501.pphosted.com ([67.231.144.15]:41406 "EHLO mx0a-000cda01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751182AbdAYI5N (ORCPT ); Wed, 25 Jan 2017 03:57:13 -0500 Received: from pps.filterd (m0075554.ppops.net [127.0.0.1]) by mx0a-000cda01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v0P8ruUS047726 for ; Wed, 25 Jan 2017 03:57:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lacie.com; h=mime-version : from : date : message-id : subject : to : content-type; s=ppslacie; bh=ldwonhXP5mi8kxz67b9gEtUVBdyIL6+/YS/lAEbrJr4=; b=wmDAov2qW+k14r3jWczW7wk1ipUbbPv0E+B6EQseef/HN8pmV0TcA7MeeiofBLnpTzLw CGNZRWWAdVxAur4t8gbUZaAcRiNu9PGZusxBWsbtngarv7JlGCzo/pbrPxO8Ij9LYYCX C8ZBxJyyu7DAEp04q1+B51pxBWPoFu3SfQJMQMt93qajrcbuyz7DHbXGJkJsjmdTRHaD OiS5EQmoyi1UtGy4ZCv1YhCkFdluXb2bAArXA6mTXNEDIFBJzIjH19TXakJXGMVpey5L mmztTJmbOEI8tF1aKIj1jd0ZntWjWVCId+EUPoR5s+igVypZh483t2jqjT8STsv109Cf hg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seagate.com; h=mime-version : from : date : message-id : subject : to : content-type; s=proofpoint; bh=ldwonhXP5mi8kxz67b9gEtUVBdyIL6+/YS/lAEbrJr4=; b=OOQAk/M3qagRZ+RBr1h9PTqT3kuf0XAZWQ6uX5abjCUhpM6p8cx/O1SsEZxn2dMa6k4G famIf0lrG8beAKJMCkUIBYvr54Joa/FUbhsRe1OqJEUnpfQnus1bb9So6a7gFRSotUtl SsTk10XKv61dC+LNwSg4QwBww6BU+iEUWE86M3+5YD/FNRm+oLesB7yZqlxQBLDTbnTQ qDr+Eu8Y0B5Tt7SGU1pNLksUB3cH4+swWv8X9uN32UfV7E5BGgOk2yrUmtZD6+tULFoK HiPRzPF+9j9eAD/n8FxVdfPdsEuVNocK//I9XpiPXp4QW54eo8Oiv9AWfGwPCFnu2daF Yg== Authentication-Results: seagate.com; dkim=pass header.s="google" header.d=seagate.com Received: from mail-qk0-f197.google.com (mail-qk0-f197.google.com [209.85.220.197]) by mx0a-000cda01.pphosted.com with ESMTP id 286qfy8dxr-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 25 Jan 2017 03:57:12 -0500 Received: by mail-qk0-f197.google.com with SMTP id x64so67962533qkb.5 for ; Wed, 25 Jan 2017 00:56:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seagate.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=ldwonhXP5mi8kxz67b9gEtUVBdyIL6+/YS/lAEbrJr4=; b=fMRDSOWIHEQ1QGPZQ2nQ2h7WajEyBuWIqocAKbVv3mw4reVLjppzgsxjjvAvDCbg2z yedAxLkt7fwATTZ8nWkRW4LVBWrFPPbIMtcP+hWSGvXvD2NrPpjguo2Lf2Aq0dmyV1X4 quRYPv6AtdulU+A/4gvsPaFX/+ztzeZr8OshJc/IRjvHxyoqSHu4GdVjYZ8mo1j9F/iU 6uCUlAalFILxYzcQbosIpm/aIrHVd9Jmf5+Y2eSIOxn8lPyRH0Pq+LUrj6S2vJH8oSVa vHR2AMLX5vOC3zImp7UMxuXdDR5grs1HSgpZKc1eFLhz6+4dM25sfnGiE8jx2f0RT7Yg MYkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ldwonhXP5mi8kxz67b9gEtUVBdyIL6+/YS/lAEbrJr4=; b=VXO+gGcM2aifLybYfQnmdW/n1JT2lkE4DFMDSY3W/VHNfycawTlvb8aiQND+KvrJ9J RCB3Q2pFskJ96qaooIOirS1L47K3v2/uwEtjZtgei7WNUjxosS0ZdKPhOxAbd8z1Ns2n wQlrdZxAqElv/4LsotnrxXvcpKrQgN6Av6PtjwhOOsIgq7zrBJtKjkzzxpKI2kEOcKkD K1q8g68f2iZ1RdsyGS+g8fSQccVH0UsRfF02QRQFyEdZGa+BcFVsm1otIqe1PSxm1x7M wLDoYuGv5OReVn+m6trrlchFPMCNsRKaRUWGX5u8gz6fOgaVvqBxpHqofxN7OnjpG+WZ jAdw== X-Gm-Message-State: AIkVDXKKXvdg5zzHNgs/qSYQaJ+iRLcfLbb05kKFUasZ7s3jDWypQtC7F7vjfDdVgrdAxjEpyXkMH6O8RHRmRErQ07Zo8ZnpLRDdefyRGbgAaFu6lzP6kB5G1yhW/PyQ36yApc8QXuzDOmW3o/FL7MUWHi8vpLv19+Up0EIs609+MDSaaDzXO9IQjg== X-Received: by 10.55.197.194 with SMTP id k63mr31939563qkl.85.1485334601249; Wed, 25 Jan 2017 00:56:41 -0800 (PST) X-Received: by 10.55.197.194 with SMTP id k63mr31939539qkl.85.1485334600603; Wed, 25 Jan 2017 00:56:40 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.146.143 with HTTP; Wed, 25 Jan 2017 00:56:40 -0800 (PST) From: Artem Blagodarenko Date: Wed, 25 Jan 2017 11:56:40 +0300 Message-ID: Subject: [PATCH 3/3] tests: 3 level hash tree test To: linux-ext4@vger.kernel.org X-Proofpoint-PolicyRoute: Outbound X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-01-25_06:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1612050000 definitions=main-1701250087 X-Proofpoint-Spam-Policy: Default Domain Policy Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Test is added that recreate directory (-fD fsck option) with 47.5k of 255-symbol name files. This amount of files can not be stored only in 2 hevel htree, so 3 levels are used. Signed-off-by: Artem Blagodarenko --- tests/f_large_dir/debugfs_script | 13 +++++++++++++ tests/f_large_dir/expect | 10 ++++++++++ tests/f_large_dir/name | 1 + tests/f_large_dir/script | 28 ++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+), 0 deletions(-) create mode 100755 tests/f_large_dir/debugfs_script create mode 100644 tests/f_large_dir/expect create mode 100644 tests/f_large_dir/name create mode 100644 tests/f_large_dir/script + -- diff --git a/tests/f_large_dir/debugfs_script b/tests/f_large_dir/debugfs_script new file mode 100755 index 0000000..43307ab --- /dev/null +++ b/tests/f_large_dir/debugfs_script @@ -0,0 +1,13 @@ +#!/bin/bash +echo "feature large_dir" +echo "mkdir /foo" +echo "cd /foo" +touch foofile +echo "write foofile foofile" +for i in $(seq 47300); do + [[ $(( $i % 5000 )) -eq 0 ]] && \ + >&2 echo "$i processed" + new_uuid=`printf %0255X $i` + echo "ln foofile $new_uuid" +done + diff --git a/tests/f_large_dir/expect b/tests/f_large_dir/expect new file mode 100644 index 0000000..6faf2f5 --- /dev/null +++ b/tests/f_large_dir/expect @@ -0,0 +1,10 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 3A: Optimizing directories +Pass 4: Checking reference counts +Pass 5: Checking group summary information + +test.img: ***** FILE SYSTEM WAS MODIFIED ***** +test.img: 13/115368 files (0.0% non-contiguous), 32839/460800 blocks +Exit status is 1 diff --git a/tests/f_large_dir/name b/tests/f_large_dir/name new file mode 100644 index 0000000..4b96890 --- /dev/null +++ b/tests/f_large_dir/name @@ -0,0 +1 @@ +optimize 3 level htree directories diff --git a/tests/f_large_dir/script b/tests/f_large_dir/script new file mode 100644 index 0000000..25983c2 --- /dev/null +++ b/tests/f_large_dir/script @@ -0,0 +1,28 @@ +OUT=$test_name.log +EXP=$test_dir/expect +DFSCRIPT=$test_dir/debugfs_script +E2FSCK=../e2fsck/e2fsck + +TMPFILE2=/tmp/image +cp /dev/null $OUT +$MKE2FS -b 1024 -O large_dir,uninit_bg,dir_nlink -F $TMPFILE2 460800 > /dev/null +$DFSCRIPT | $DEBUGFS -w -f /dev/stdin $TMPFILE2 > /dev/null + +$E2FSCK -yfD $TMPFILE2 > $OUT.new 2>&1 +status=$? +echo Exit status is $status >> $OUT.new +sed -f $cmd_dir/filter.sed -e "s;$TMPFILE2;test.img;" $OUT.new >> $OUT +rm -f $OUT.new + +cmp -s $OUT $EXP +RC=$? +if [ $RC -eq 0 ]; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff -u $EXP $OUT > $test_name.failed +fi + +