From patchwork Tue Aug 22 07:28:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naohiro Aota X-Patchwork-Id: 13360294 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1828EE49A8 for ; Tue, 22 Aug 2023 07:30:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232932AbjHVHaQ (ORCPT ); Tue, 22 Aug 2023 03:30:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233366AbjHVHaL (ORCPT ); Tue, 22 Aug 2023 03:30:11 -0400 Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0249919E for ; Tue, 22 Aug 2023 00:30:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1692689410; x=1724225410; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=c+LHgde+NARKxsljIznK+Pf/Lfxji6/IdOHuAcQ55oU=; b=XRrSZ34TR6RpB55SEA7oWWtD86T0gpkJCmeUdj5tp7DwBiyyWnSIbZ30 tE3zlvQZa+VVEuGOPlw2xzVqErLkR86diVZIBB+xZRYld5ltCcGcKZQ88 xXpTx6K7M/e4D1XnwX7G7mgtpHPIaTSweO7D67JgkBo58GRANSiHTfwg7 fgiO0Rmu0I1Db3zdiPLZq15D8UhpkyDm5YIDF/+gdBob/s6hel3UUqQhE HCZu2PD3jmLFLXMlscDphAJHkmQdTpORLA6oi8viN6wDwhFlXuOJNeVSW OitNZ3ARiWj04ZmgDfHrI32qx9RYAWmdoySFD1Jrkjb33W9cdXwADufu7 A==; X-IronPort-AV: E=Sophos;i="6.01,192,1684771200"; d="scan'208";a="240045035" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 22 Aug 2023 15:30:09 +0800 IronPort-SDR: b1vm5jONA1Xj9b1ZnWHtuxKdBze2fdNF1gwYltGLsqghxyTRcBO776HaagJTBioU8YEtBVjMsA QPsXH5BTcb394TsXcF15zyGfttCFP1A/zpOT3HWkSUJ16l09RXyXDDqr2GDrMmm9lcqcLQ0uaB /oECM8FOHTNI9+e1fMNIL74RVbUkd9cN58bEJAN4jkqC13DQrsXX65zvt927d3+AcOePbTjdX/ +goLrpGFuC6sV87SkU+C2nsKWSUhGW7XrieU5NMHn8Wf+DM0seLH83eaOhU72q6GeNyDwz4p3z r3U= Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 21 Aug 2023 23:43:19 -0700 IronPort-SDR: yTaJ9tTu6xHdqb5KLRHsEMmfH9ZS1B4p4WXzaeRjSGPdoveYQ+XtziwbRL7wC+oMlTEWUhRYSI iEdP6Ep58XCYX9tY47Pp5j1fQFdZs0iEud7VzY46AWaL+1jWOYXT5lQ9vFEfjxPxyEpPdW5/T+ 9klbc2ygRXMssJLUF63PIACze2A8cF61OEEROX90aH1/2rIUPg3SwviYsGcJmUMRsCZsOsWc3O /Cbbnd0A8CHAiQWK7TvIK+Z8EbkjnVbjKxHki/cUdYUOvVQ3LhwwijqD4yh9I+YjvwuhbXhin9 vSw= WDCIronportException: Internal Received: from unknown (HELO naota-xeon.wdc.com) ([10.225.163.102]) by uls-op-cesaip02.wdc.com with ESMTP; 22 Aug 2023 00:30:09 -0700 From: Naohiro Aota To: fstests@vger.kernel.org Cc: Naohiro Aota Subject: [PATCH 1/3] aio-dio-write-verify: check for the IO errors Date: Tue, 22 Aug 2023 16:28:50 +0900 Message-ID: <2c9519c024e39b6eb4a3bb93f448752cedd83894.1692688971.git.naohiro.aota@wdc.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org The async write IOs can return some errors, which may lead to a short read or corruption in io_verify() stage. Catch an error early to identify the root cause easily. Signed-off-by: Naohiro Aota Reviewed-by: Zorro Lang --- src/aio-dio-regress/aio-dio-write-verify.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/aio-dio-regress/aio-dio-write-verify.c b/src/aio-dio-regress/aio-dio-write-verify.c index 302b8fe4a096..90e41b391289 100644 --- a/src/aio-dio-regress/aio-dio-write-verify.c +++ b/src/aio-dio-regress/aio-dio-write-verify.c @@ -238,6 +238,16 @@ static int io_write(int fd, int num_events) return 1; } + for (i = 0; i < num_events; i++) { + int err = (int)evs[i].res; + + if (err < 0) { + fprintf(stderr, "error %s with event %d\n", + strerror(err), i); + return 1; + } + } + /* Try to destroy at here, not necessary, so don't check result */ io_destroy(ctx); From patchwork Tue Aug 22 07:28:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naohiro Aota X-Patchwork-Id: 13360296 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 53F70EE4996 for ; Tue, 22 Aug 2023 07:30:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232958AbjHVHaQ (ORCPT ); Tue, 22 Aug 2023 03:30:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233372AbjHVHaL (ORCPT ); Tue, 22 Aug 2023 03:30:11 -0400 Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 362241A4 for ; Tue, 22 Aug 2023 00:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1692689410; x=1724225410; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qW3UAh4oWyl/SuF7S9j0SYeqPgY1o5OWeATmM40Nk2o=; b=kvqPIa+3POotvKMu8/3ANzJ4DodTYZ4d0wEJGJ2xfLhTcNlaXAeENtBY JZHpzm9CxsJQu0V7GPlUp1NSpqbFU9g49dv2jmI2JuXhX+yw7QZRjpnNZ PZ/x7Cv8uUjyyoGZouUzgelru0PNsU/hjDzQ0j3L6Hprp4pBaoS/yV2Ok HdWAns0tPWCWtjnB7lGt5oULTh9CEi+HgWTOy1NzZD6IqxA8TTW5gZfjE now1Cb+5njD2He1dPG6dt+WTUReaVKlWzMGuWmOyj6VxmDRYyC2uspzQR C8zDWdeDAKEVDDjXTNP6GLHazWuCFj5Rve6EWpMe4q4RnmXKEvLb9HJi2 g==; X-IronPort-AV: E=Sophos;i="6.01,192,1684771200"; d="scan'208";a="240045036" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 22 Aug 2023 15:30:09 +0800 IronPort-SDR: uajNENFckGZCxgv/hFrv/bb2JujdCRYMGgeEUPIR7l2i6VJ2EcTP0gw77LWddoEk3Qz1256mic MWDR0FMOdhRCU3t813MmEPYGoHe2rpkj9857Q2ry+y30PPKXi77cJvx5Arqr7TTstXaZN0Ssms v+a7AmnAj0fjMy0rC+eXRwucQ0dOJdUnBOdkpCC71uIcO8PFeNXKN5xl0w4cNnztqH/9BJRe/q Q81gT22jEjA8rNtaw/3sIeqZ8tn2eoe6F19Laq10HDllBBFvnHJmKBWyPkR4xdedMkBVX6wF5q prw= Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 21 Aug 2023 23:43:20 -0700 IronPort-SDR: ozjBhnx6yz9nxoVOVk/N/MwHOh66Y+M6FAY77+sc8RZJzjM4HnIrM4OYk5sLdlsbdjBCCqjKdQ cnRKdWgz+CyF2VfvMNv6AewnneylbrCIP81m/aeoJD0gh53E4F85BrdtZEOOmEY28Um2nQoD4f f3oG2iHIVZ+6hOKUkpmFnEQcdmPkf99Zr0eqmQ10sBb1URXoYjow2hJZ6XwP7ZoYnsNQSX38Ga zGoMUkhmF2p2TNoPKmvioB/njDyBBDDMNnwuiH4HOUTeqhgF/kgr7VxbHDNeLV4T8JHTc3s14j u7M= WDCIronportException: Internal Received: from unknown (HELO naota-xeon.wdc.com) ([10.225.163.102]) by uls-op-cesaip02.wdc.com with ESMTP; 22 Aug 2023 00:30:10 -0700 From: Naohiro Aota To: fstests@vger.kernel.org Cc: Naohiro Aota Subject: [PATCH 2/3] aio-dio-write-verify: print more info on the error case Date: Tue, 22 Aug 2023 16:28:51 +0900 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org When short read or corruption happened, it is difficult to locate which IO event failed. Print the address to make it identifiable. Signed-off-by: Naohiro Aota Reviewed-by: Zorro Lang --- src/aio-dio-regress/aio-dio-write-verify.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/aio-dio-regress/aio-dio-write-verify.c b/src/aio-dio-regress/aio-dio-write-verify.c index 90e41b391289..dabbfacde3f8 100644 --- a/src/aio-dio-regress/aio-dio-write-verify.c +++ b/src/aio-dio-regress/aio-dio-write-verify.c @@ -267,13 +267,14 @@ static int io_verify(int fd) perror("pread"); return 1; } else if (sret != p->param->buf_size) { - fprintf(stderr, "short read %zd was less than %zu\n", - sret, p->param->buf_size); + fprintf(stderr, "short read %zd was less than %zu at %zu\n", + sret, p->param->buf_size, p->param->offset); return 1; } if (memcmp(p->param->buf, p->param->cmp_buf, p->param->buf_size)) { - printf("Find corruption\n"); + printf("Find corruption at %zu length %zu\n", p->param->offset, + p->param->buf_size); dump_buffer(p->param->buf, p->param->offset, p->param->buf_size); corrupted++; From patchwork Tue Aug 22 07:28:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naohiro Aota X-Patchwork-Id: 13360295 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9ACECEE49AC for ; Tue, 22 Aug 2023 07:30:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233108AbjHVHaQ (ORCPT ); Tue, 22 Aug 2023 03:30:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52222 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232915AbjHVHaN (ORCPT ); Tue, 22 Aug 2023 03:30:13 -0400 Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F112132 for ; Tue, 22 Aug 2023 00:30:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1692689411; x=1724225411; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nID1n2RgGWOjjqK3F/9xfo2uvrhIvcdw2axqFf1HudY=; b=bciIL+pzSlmxDqu6JW/Hhy5+qZr5z6du713NStmHso5rSfM0NhZuuMLs 4bkUar3oOqFWbMzCTGdxCoY8zs9CvbBePhAmTDu6Ftl5IfjRqXnSlgSg7 w2D/cYpodl7bpnuISFQ9QtvfLu4PoWfhbWL7rtZjBtjxOF1bWI8EbC7cH PRZftJRiV5VmgnZ2jrMQowRroxTohOO9Il0ziJNydpM5gWR+9aAs5pMse h9BaCQHgHvVjk89KS+2DJ1b7ut9JBfmejLEfvGqy9RgYXwgoFwNXPEZa3 /Bu+W1S+K478A1KTJ+VxubXgKm27qA6RLyrAYG6jTra52CWLTNjn5BGRY w==; X-IronPort-AV: E=Sophos;i="6.01,192,1684771200"; d="scan'208";a="240045038" Received: from h199-255-45-14.hgst.com (HELO uls-op-cesaep01.wdc.com) ([199.255.45.14]) by ob1.hgst.iphmx.com with ESMTP; 22 Aug 2023 15:30:10 +0800 IronPort-SDR: gKVq02BlCbpjdha8Wa6/lqUDmDUHcluzDzWzsXsG/jgwPb5ytkIwe45NKOK952grWmUeStpSTW pujl8Zx+HaFqIOmFfruHkaFJaP8dtoHBmp4t/eBqJKRjB/YE4rTeozffsWFBTtnqCnvZdUNFNq iy9ftFOhlknWAnod1JzEwT2qyUGi3qdKEHYc5ORy9txLEj5m5v/eOrePi80tKrq9nICJWhn0Od y9aYa6+camvmlO7V3dSe2Q7wrC/G6uR0rLHWZRWGqLAKuyT0Mw9Cx02IcBENcf7pLRVq5nmQRa K/o= Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 21 Aug 2023 23:43:20 -0700 IronPort-SDR: HRAYuHY1STQMocAgxcHfob+1FOzXB917v05mqTuyegjw4K1bOP1V4gokMaDX5wlmPAgciJMJQd HBh9i2T0BwUuBZpR21qltaI86q1iIueQ6XmBhPAd5xt04/bq4I00bZNY2Eq8TPT0zE1tmnRPol 5f5Lklkiw5daeAFnLboRunLvAaPiO3IBk6yF9nQ9aUWUtwjnq+uUMIu420tgmv6zdoO2OilHII HwNQP6e0qXFx493uCwvmRmx3ol3dOU9n7Gk3jKIqP3ulX9YOa4ts4LPBzqkHHrct/WH+uI8oiW LKU= WDCIronportException: Internal Received: from unknown (HELO naota-xeon.wdc.com) ([10.225.163.102]) by uls-op-cesaip02.wdc.com with ESMTP; 22 Aug 2023 00:30:10 -0700 From: Naohiro Aota To: fstests@vger.kernel.org Cc: Naohiro Aota Subject: [PATCH 3/3] generic/551: bail out test if aio-dio-write-verify failed Date: Tue, 22 Aug 2023 16:28:52 +0900 Message-ID: <5054cad7e003bfc51bcc3ecd7ba39e389375a6f5.1692688971.git.naohiro.aota@wdc.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org When the AIO program failed, it is better to bail out the test to keep the failed state intact. Signed-off-by: Naohiro Aota Reviewed-by: Zorro Lang --- tests/generic/551 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/generic/551 b/tests/generic/551 index 2689270aa3dd..58c7f9a516c7 100755 --- a/tests/generic/551 +++ b/tests/generic/551 @@ -56,16 +56,18 @@ do_test() truncsize=$(((RANDOM * diosize + RANDOM % diosize) % max_io_size_b)) $AIO_TEST -t $truncsize $oper_list $localfile - if [ $? -ne 0 ];then + ret=$? + if [ $ret -ne 0 ];then echo "$AIO_TEST -t $truncsize $oper_list $localfile" echo "==========^^ Fail ^^==========" fi + return $ret } testimes=$((LOAD_FACTOR * 100)) while [ $testimes -gt 0 ]; do echo > $localfile - do_test + do_test || break ((testimes--)) done