From patchwork Thu May 3 13:59:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Aur=C3=A9lien_Aptel?= X-Patchwork-Id: 908056 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-cifs-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40cGx94FRHz9s3q for ; Thu, 3 May 2018 23:59:57 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751036AbeECN75 (ORCPT ); Thu, 3 May 2018 09:59:57 -0400 Received: from mx2.suse.de ([195.135.220.15]:35303 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750930AbeECN74 (ORCPT ); Thu, 3 May 2018 09:59:56 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 3C421AC21 for ; Thu, 3 May 2018 13:59:55 +0000 (UTC) From: aaptel@suse.com ( =?utf-8?b?QXVyw6lsaWVu?= Aptel) To: linux-cifs@vger.kernel.org Subject: SMB3 xfstests against windows server 2016 User-Agent: Notmuch/0.22.1 (http://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu) Date: Thu, 03 May 2018 15:59:54 +0200 Message-ID: <87efiskffp.fsf@suse.com> MIME-Version: 1.0 Sender: linux-cifs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org I've run xfstests on Steve's for-next against a Windows Server 2016 share. I've used this xfstests patch [1] to add a cifs-quick test group (adapted patch that applies on xfstests master attached). Results are attached. I've only looked into generic/023 failure so far: - output mismatch (see /tests/xfstests/results//generic/023.out.bad) --- tests/generic/023.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/023.out.bad 2018-05-03 13:02:21.625014529 +0000 @@ -18,12 +18,12 @@ samedir dire/regu -> Not a directory samedir dire/symb -> Not a directory samedir dire/dire -> none/dire. -samedir dire/tree -> Directory not empty +samedir dire/tree -> Permission denied samedir tree/none -> none/tree. samedir tree/regu -> Not a directory It seems renaming a directory to an existing tree (dir + sub files) fails with EACCESS instead of EEXISTS or ENOTEMPTY. I think Ronnie already tried to fix this here: http://marc.info/?i=20171109235249.8013-1-lsahlber@redhat.com 1: https://patchwork.kernel.org/patch/8844831/ FSTYP -- cifs PLATFORM -- Linux/x86_64 192 4.17.0-rc2+ generic/002 run fstests generic/002 at 2018-05-03 09:39:10 random: mkfs.xfs: uninitialized urandom read (16 bytes read) random: perl: uninitialized urandom read (4 bytes read) 48s generic/005 run fstests generic/005 at 2018-05-03 09:39:58 random: mkfs.xfs: uninitialized urandom read (16 bytes read) random: mktemp: uninitialized urandom read (10 bytes read) random: mktemp: uninitialized urandom read (10 bytes read) random: crng init done 437s generic/010 run fstests generic/010 at 2018-05-03 09:47:15 [not run] src/dbtest not built generic/023 run fstests generic/023 at 2018-05-03 09:47:16 - output mismatch (see /tests/xfstests/results//generic/023.out.bad) --- tests/generic/023.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/023.out.bad 2018-05-03 09:50:48.854757700 +0000 @@ -18,12 +18,12 @@ samedir dire/regu -> Not a directory samedir dire/symb -> Not a directory samedir dire/dire -> none/dire. -samedir dire/tree -> Directory not empty +samedir dire/tree -> Permission denied samedir tree/none -> none/tree. samedir tree/regu -> Not a directory ... (Run 'diff -u tests/generic/023.out /tests/xfstests/results//generic/023.out.bad' to see the entire diff) generic/024 run fstests generic/024 at 2018-05-03 09:50:48 190s generic/028 run fstests generic/028 at 2018-05-03 09:53:58 5s generic/029 CIFS VFS: Close unmatched open run fstests generic/029 at 2018-05-03 09:54:03 [not run] this test requires a valid $SCRATCH_DEV generic/030 run fstests generic/030 at 2018-05-03 09:54:04 [not run] this test requires a valid $SCRATCH_DEV generic/035 run fstests generic/035 at 2018-05-03 09:54:05 - output mismatch (see /tests/xfstests/results//generic/035.out.bad) --- tests/generic/035.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/035.out.bad 2018-05-03 09:54:09.422760339 +0000 @@ -1,3 +1,7 @@ QA output created by 035 overwriting regular file: +t_rename_overwrite: rename("/mnt/2536/file1", "/mnt/2536/file2"): No such file or directory +rm: cannot remove '/mnt/2536/file2': No such file or directory overwriting directory: +t_rename_overwrite: fstat(3): Stale file handle +rmdir: failed to remove '/mnt/2536': Directory not empty ... (Run 'diff -u tests/generic/035.out /tests/xfstests/results//generic/035.out.bad' to see the entire diff) generic/067 run fstests generic/067 at 2018-05-03 09:54:09 [not run] this test requires a valid $SCRATCH_DEV generic/075 run fstests generic/075 at 2018-05-03 09:54:11 [failed, exit status 1] - output mismatch (see /tests/xfstests/results//generic/075.out.bad) --- tests/generic/075.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/075.out.bad 2018-05-03 09:54:17.046760440 +0000 @@ -4,15 +4,4 @@ ----------------------------------------------- fsx.0 : -d -N numops -S 0 ----------------------------------------------- - ------------------------------------------------ -fsx.1 : -d -N numops -S 0 -x ------------------------------------------------ ... (Run 'diff -u tests/generic/075.out /tests/xfstests/results//generic/075.out.bad' to see the entire diff) generic/080 run fstests generic/080 at 2018-05-03 09:54:17 4s generic/084 run fstests generic/084 at 2018-05-03 09:54:21 [not run] this test requires a valid $SCRATCH_DEV generic/087 run fstests generic/087 at 2018-05-03 09:54:22 - output mismatch (see /tests/xfstests/results//generic/087.out.bad) --- tests/generic/087.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/087.out.bad 2018-05-03 09:54:34.110760664 +0000 @@ -1,7 +1,7 @@ QA output created by 087 t a 600 file owned by (99/99) as user/group(99/99) PASS T a 600 file owned by (99/99) as user/group(99/99) PASS -t a 600 file owned by (99/99) as user/group(100/99) PASS -T a 600 file owned by (99/99) as user/group(100/99) PASS +t a 600 file owned by (99/99) as user/group(100/99) FAIL +T a 600 file owned by (99/99) as user/group(100/99) FAIL ... (Run 'diff -u tests/generic/087.out /tests/xfstests/results//generic/087.out.bad' to see the entire diff) generic/088 run fstests generic/088 at 2018-05-03 09:54:34 - output mismatch (see /tests/xfstests/results//generic/088.out.bad) --- tests/generic/088.out 2017-09-12 18:48:16.000000000 +0000 +++ /tests/xfstests/results//generic/088.out.bad 2018-05-03 09:54:36.142760691 +0000 @@ -1,9 +1,10 @@ QA output created by 088 +-r-xr-xr-x 1 root 0 0 May 3 2018 TEST_DIR/t_access access(TEST_DIR/t_access, 0) returns 0 access(TEST_DIR/t_access, R_OK) returns 0 access(TEST_DIR/t_access, W_OK) returns 0 -access(TEST_DIR/t_access, X_OK) returns -1 +access(TEST_DIR/t_access, X_OK) returns 0 ... (Run 'diff -u tests/generic/088.out /tests/xfstests/results//generic/088.out.bad' to see the entire diff) generic/091 run fstests generic/091 at 2018-05-03 09:54:36 [failed, exit status 1] - output mismatch (see /tests/xfstests/results//generic/091.out.bad) --- tests/generic/091.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/091.out.bad 2018-05-03 10:26:10.954785624 +0000 @@ -5,3 +5,302 @@ fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -R -W fsx -N 10000 -o 32768 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -R -W fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -W +mapped writes DISABLED +main: filesystem does not support fallocate mode 0, disabling! +main: filesystem does not support fallocate mode FALLOC_FL_KEEP_SIZE, disabling! +main: filesystem does not support fallocate mode FALLOC_FL_ZERO_RANGE, disabling! ... (Run 'diff -u tests/generic/091.out /tests/xfstests/results//generic/091.out.bad' to see the entire diff) generic/095 run fstests generic/095 at 2018-05-03 10:26:11 [not run] this test requires a valid $SCRATCH_DEV generic/098 run fstests generic/098 at 2018-05-03 10:26:11 [not run] this test requires a valid $SCRATCH_DEV generic/109 run fstests generic/109 at 2018-05-03 10:26:12 [not run] this test requires a valid $SCRATCH_DEV generic/120 run fstests generic/120 at 2018-05-03 10:26:13 [not run] this test requires a valid $SCRATCH_DEV generic/123 run fstests generic/123 at 2018-05-03 10:26:13 [not run] fsgqa cannot execute commands. generic/124 run fstests generic/124 at 2018-05-03 10:26:14 [not run] this test requires a valid $SCRATCH_DEV generic/125 run fstests generic/125 at 2018-05-03 10:26:15 [not run] fsgqa cannot execute commands. generic/126 run fstests generic/126 at 2018-05-03 10:26:16 - output mismatch (see /tests/xfstests/results//generic/126.out.bad) --- tests/generic/126.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/126.out.bad 2018-05-03 10:26:54.970786203 +0000 @@ -8,12 +8,12 @@ r a 004 file owned by (99/99) as user/group(12/100) PASS r a 040 file owned by (99/99) as user/group(200/99) PASS r a 400 file owned by (99/99) as user/group(99/500) PASS -r a 000 file owned by (99/99) as user/group(99/99) FAIL +r a 000 file owned by (99/99) as user/group(99/99) PASS w a 000 file owned by (99/99) as user/group(99/99) FAIL -x a 000 file owned by (99/99) as user/group(99/99) FAIL ... (Run 'diff -u tests/generic/126.out /tests/xfstests/results//generic/126.out.bad' to see the entire diff) generic/128 run fstests generic/128 at 2018-05-03 10:26:55 [not run] this test requires a valid $SCRATCH_DEV generic/130 run fstests generic/130 at 2018-05-03 10:26:55 [not run] this test requires a valid $SCRATCH_DEV generic/184 run fstests generic/184 at 2018-05-03 10:26:56 - output mismatch (see /tests/xfstests/results//generic/184.out.bad) --- tests/generic/184.out 2016-09-09 19:33:24.000000000 +0000 +++ /tests/xfstests/results//generic/184.out.bad 2018-05-03 10:26:57.326786234 +0000 @@ -1 +1,3 @@ QA output created by 184 - silence is golden +mknod: /mnt/null: Operation not permitted +chmod: cannot access '/mnt/null': No such file or directory ... (Run 'diff -u tests/generic/184.out /tests/xfstests/results//generic/184.out.bad' to see the entire diff) generic/198 run fstests generic/198 at 2018-05-03 10:26:57 203s generic/207 run fstests generic/207 at 2018-05-03 10:30:20 19s generic/211 run fstests generic/211 at 2018-05-03 10:30:39 2s generic/212 run fstests generic/212 at 2018-05-03 10:30:41 2s generic/215 run fstests generic/215 at 2018-05-03 10:30:43 10s generic/221 run fstests generic/221 at 2018-05-03 10:30:53 2s generic/236 run fstests generic/236 at 2018-05-03 10:30:55 4s generic/239 run fstests generic/239 at 2018-05-03 10:30:59 316s generic/246 run fstests generic/246 at 2018-05-03 10:36:15 2s generic/248 run fstests generic/248 at 2018-05-03 10:36:17 1s generic/249 run fstests generic/249 at 2018-05-03 10:36:18 generic/249 run fstests generic/249 at 2018-05-03 10:36:18 197s generic/257 run fstests generic/257 at 2018-05-03 10:39:35 73s generic/258 run fstests generic/258 at 2018-05-03 10:40:48 CIFS VFS: generate_smb3signingkey: dumping generated AES session keys CIFS VFS: Session Id 11 00 00 28 45 1c 00 00 CIFS VFS: Session Key 43 8e 6b 57 d8 03 a4 a5 cc 32 b8 1e 04 2c 92 7b CIFS VFS: Signing Key c8 92 c2 da 32 50 7b 0f cb f8 88 4a 8b 4b 02 5f CIFS VFS: ServerIn Key b2 ca ec e0 3c 1c 8f 12 bf f1 6e f4 70 25 6d 8b CIFS VFS: ServerOut Key d8 01 9e 66 65 d7 07 2b b3 2a 7b 75 74 25 7d fd 2s generic/285 run fstests generic/285 at 2018-05-03 10:40:50 22s generic/308 run fstests generic/308 at 2018-05-03 10:41:12 2s generic/309 run fstests generic/309 at 2018-05-03 10:41:14 6s Ran: generic/002 generic/005 generic/023 generic/024 generic/028 generic/035 generic/075 generic/080 generic/087 generic/088 generic/091 generic/126 generic/184 generic/198 generic/207 generic/211 generic/212 generic/215 generic/221 generic/236 generic/239 generic/246 generic/248 generic/249 generic/257 generic/258 generic/285 generic/308 generic/309 Not run: generic/010 generic/029 generic/030 generic/067 generic/084 generic/095 generic/098 generic/109 generic/120 generic/123 generic/124 generic/125 generic/128 generic/130 Failures: generic/023 generic/035 generic/075 generic/087 generic/088 generic/091 generic/126 generic/184 Failed 8 of 29 tests From 8c0253eb98b4103deb4244e0bdd667e593282df9 Mon Sep 17 00:00:00 2001 From: Aurelien Aptel Date: Thu, 3 May 2018 14:25:04 +0200 Subject: [PATCH] cifs quick Signed-off-by: Aurelien Aptel --- tests/generic/group | 152 ++++++++++++++++++++++++++-------------------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/tests/generic/group b/tests/generic/group index 19be9267..55d3558c 100644 --- a/tests/generic/group +++ b/tests/generic/group @@ -3,20 +3,20 @@ # - do not start group names with a digit # - comment line before each group is "new" description # -001 rw dir udf auto quick -002 metadata udf auto quick +001 rw dir udf auto quick cifs +002 metadata udf auto quick cifs cifs-quick 003 atime auto quick 004 auto quick -005 dir udf auto quick -006 dir udf auto quick -007 dir udf auto quick +005 dir udf auto quick cifs cifs-quick +006 dir udf auto quick cifs +007 dir udf auto quick cifs 008 auto quick prealloc zero 009 auto quick prealloc zero -010 other udf auto -011 dir udf auto quick +010 other udf auto cifs cifs-quick +011 dir udf auto quick cifs 012 auto quick prealloc punch collapse -013 other ioctl udf auto quick -014 rw udf auto quick +013 other ioctl udf auto quick cifs +014 rw udf auto quick cifs 015 other auto quick enospc 016 auto quick prealloc punch collapse 017 auto prealloc collapse @@ -25,20 +25,20 @@ 020 metadata attr udf auto quick 021 auto quick prealloc punch collapse 022 auto quick prealloc punch collapse -023 auto quick -024 auto quick +023 auto quick cifs cifs-quick +024 auto quick cifs cifs-quick 025 auto quick 026 acl quick auto 027 auto enospc -028 auto quick -029 auto quick rw -030 auto quick rw +028 auto quick cifs cifs-quick +029 auto quick rw cifs cifs-quick +030 auto quick rw cifs cifs-quick 031 auto quick prealloc rw collapse 032 auto quick rw 033 auto quick rw zero 034 auto quick metadata log -035 auto quick -036 auto aio rw stress +035 auto quick cifs cifs-quick +036 auto aio rw stress cifs 037 metadata auto quick 038 auto stress 039 metadata auto quick @@ -69,40 +69,40 @@ 064 auto quick prealloc collapse insert 065 metadata auto quick 066 metadata auto quick -067 auto quick mount +067 auto quick mount cifs cifs-quick 068 other auto freeze dangerous stress -069 rw udf auto quick +069 rw udf auto quick cifs 070 attr udf auto quick stress 071 auto quick prealloc 072 auto metadata stress collapse 073 metadata auto quick -074 rw udf auto -075 rw udf auto quick +074 rw udf auto cifs +075 rw udf auto quick cifs cifs-quick 076 metadata rw udf auto quick stress 077 acl attr auto enospc 078 auto quick metadata 079 acl attr ioctl metadata auto quick -080 auto quick +080 auto quick cifs cifs-quick 081 auto quick 082 auto quick quota 083 rw auto enospc stress -084 auto metadata quick +084 auto metadata quick cifs cifs-quick 085 auto freeze mount 086 auto prealloc preallocrw quick -087 perms auto quick -088 perms auto quick -089 metadata auto +087 perms auto quick cifs cifs-quick +088 perms auto quick cifs cifs-quick +089 metadata auto cifs 090 metadata auto quick -091 rw auto quick +091 rw auto quick cifs cifs-quick 092 auto quick prealloc 093 attr cap auto 094 auto quick prealloc -095 auto rw stress +095 auto rw stress cifs cifs-quick 096 auto prealloc quick zero 097 attr auto quick -098 auto quick metadata +098 auto quick metadata cifs cifs-quick 099 acl auto quick -100 udf auto +100 udf auto cifs 101 auto quick metadata 102 auto rw 103 auto enospc quick @@ -111,7 +111,7 @@ 106 auto quick metadata 107 auto quick metadata 108 auto quick rw -109 auto metadata dir +109 auto metadata dir cifs cifs-quick 110 auto quick clone 111 auto quick clone 112 rw aio auto quick @@ -122,28 +122,28 @@ 117 attr auto quick 118 auto quick clone 119 auto quick clone -120 other auto quick +120 other auto quick cifs cifs-quick 121 auto quick clone dedupe 122 auto quick clone dedupe -123 perms auto quick -124 pattern auto quick -125 other pnfs -126 perms auto quick -127 rw auto -128 perms auto quick -129 rw auto quick -130 pattern auto quick +123 perms auto quick cifs cifs-quick +124 pattern auto quick cifs cifs-quick +125 other pnfs cifs cifs-quick +126 perms auto quick cifs cifs-quick +127 rw auto cifs +128 perms auto quick cifs cifs-quick +129 rw auto quick cifs +130 pattern auto quick cifs cifs-quick 131 perms auto quick 132 pattern auto -133 rw auto +133 rw auto cifs 134 auto quick clone -135 metadata auto quick +135 metadata auto quick cifs 136 auto quick clone dedupe 137 auto clone dedupe 138 auto quick clone 139 auto quick clone 140 auto quick clone -141 rw auto quick +141 rw auto quick cifs 142 auto quick clone 143 auto quick clone 144 auto quick clone @@ -171,7 +171,7 @@ 166 auto clone 167 auto clone 168 auto clone -169 rw metadata auto quick +169 rw metadata auto quick cifs 170 auto clone 171 auto quick clone 172 auto quick clone @@ -186,7 +186,7 @@ 181 auto quick clone 182 auto quick clone dedupe 183 auto quick clone -184 metadata auto quick +184 metadata auto quick cifs cifs-quick 185 auto quick clone 186 auto clone punch 187 auto clone punch @@ -194,13 +194,13 @@ 189 auto quick clone 190 auto quick clone 191 auto quick clone -192 atime auto -193 metadata auto quick +192 atime auto cifs +193 metadata auto quick cifs 194 auto quick clone 195 auto quick clone 196 auto quick clone 197 auto quick clone -198 auto aio quick +198 auto aio quick cifs cifs-quick 199 auto quick clone punch 200 auto quick clone punch 201 auto quick clone @@ -209,21 +209,21 @@ 204 metadata rw auto 205 auto quick clone 206 auto quick clone -207 auto aio quick -208 auto aio -209 auto aio -210 auto aio quick -211 auto aio quick -212 auto aio quick +207 auto aio quick cifs cifs-quick +208 auto aio cifs +209 auto aio cifs +210 auto aio quick cifs +211 auto aio quick cifs cifs-quick +212 auto aio quick cifs cifs-quick 213 rw auto prealloc quick enospc 214 rw auto prealloc quick -215 auto metadata quick +215 auto metadata quick cifs cifs-quick 216 auto quick clone 217 auto quick clone 218 auto quick clone 219 auto quota quick 220 auto quick clone -221 auto metadata quick +221 auto metadata quick cifs cifs-quick 222 auto quick clone 223 auto quick 224 auto @@ -238,20 +238,20 @@ 233 auto quota stress 234 auto quota 235 auto quota quick -236 auto quick metadata +236 auto quick metadata cifs cifs-quick 237 auto quick acl 238 auto quick clone -239 auto aio rw +239 auto aio rw cifs cifs-quick 240 auto aio quick rw -241 auto +241 auto cifs 242 auto clone 243 auto clone 244 auto quick quota -245 auto quick dir -246 auto quick rw -247 auto quick rw -248 auto quick rw -249 auto quick rw +245 auto quick dir cifs +246 auto quick rw cifs cifs-quick +247 auto quick rw cifs +248 auto quick rw cifs cifs-quick +249 auto quick rw cifs cifs-quick 250 auto quick prealloc rw 251 ioctl trim 252 auto quick prealloc rw @@ -259,13 +259,13 @@ 254 auto quick clone punch 255 auto quick prealloc punch 256 auto quick punch -257 dir auto quick -258 auto quick +257 dir auto quick cifs cifs-quick +258 auto quick cifs cifs-quick 259 auto quick clone zero 260 auto quick trim 261 auto quick clone collapse 262 auto quick clone insert -263 rw auto quick +263 rw auto quick cifs 264 auto quick clone 265 auto quick clone 266 auto quick clone @@ -287,8 +287,8 @@ 282 auto quick clone 283 auto quick clone 284 auto quick clone -285 auto rw -286 auto quick other +285 auto rw cifs cifs-quick +286 auto quick other cifs 287 auto quick clone 288 auto quick ioctl trim 289 auto quick clone @@ -296,7 +296,7 @@ 291 auto quick clone 292 auto quick clone 293 auto quick clone -294 auto quick +294 auto quick cifs 295 auto quick clone 296 auto quick clone 297 auto clone @@ -308,24 +308,24 @@ 303 auto quick clone 304 auto quick clone dedupe 305 auto quick clone -306 auto quick rw +306 auto quick rw cifs 307 auto quick acl -308 auto quick -309 auto quick -310 auto +308 auto quick cifs cifs-quick +309 auto quick cifs cifs-quick +310 auto cifs 311 auto metadata log 312 auto quick prealloc enospc -313 auto quick +313 auto quick cifs 314 auto quick 315 auto quick rw prealloc 316 auto quick punch -317 auto metadata quick +317 auto metadata quick cifs 318 acl attr auto quick 319 acl auto quick 320 auto rw 321 auto quick metadata log 322 auto quick metadata log -323 auto aio stress +323 auto aio stress cifs 324 auto fsr quick defrag 325 auto quick data log 326 auto quick clone -- 2.13.6