From patchwork Tue Apr 4 07:30:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1764699 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=GDRA9n9b; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PrKF12B7mz1yZQ for ; Tue, 4 Apr 2023 17:31:00 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 49C0F3CA765 for ; Tue, 4 Apr 2023 09:30:56 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [217.194.8.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 2BC2A3C2297 for ; Tue, 4 Apr 2023 09:30:53 +0200 (CEST) Received: from mail3.bemta32.messagelabs.com (mail3.bemta32.messagelabs.com [195.245.230.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id 14EE31A00801 for ; Tue, 4 Apr 2023 09:30:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1680593451; i=@fujitsu.com; bh=1zDDHoHRWZ52YpOYo2y4lpFGnJPl+f5zhyE+0mnRdj8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=GDRA9n9b71HM0BjKnjr/VdtMAuJkQkrsW51kvkytaZ6XS4O1yDKVEWU/0sNC0d49b vy0Mwz5GAwV8bvXITD2SPLKx8zHeOQfQHSb581o1SlBabKOyqL8EdurQzK+h3hobek VeVKUycbJmg+xGVscuvPuzUt3nHGgRSrokKtT7g9SQ0mj39wD2h607G60LHdYPX0SP dBCLPT5ApVgyyj2MjYSRn0cIX0ypgv8+EgEzllTqTlWnejSZi9j/jfXQOxEXb/AV9G MgGpm6fhb8eh3D/cva/uRK0qvi3IbldR8DMyIZg/0LDTXzWaOn+OxIN6kyaLnWHnqx hqARQAJzP+86Q== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRWlGSWpSXmKPExsViZ8ORpKt1STv FYMNMNYu1e/4wW6z4voPRgclj06pONo99v9exBjBFsWbmJeVXJLBmtN4+wFbwiq1i24plzA2M z1i7GLk4hAQ2Mkrc/XWUEcJZwiTRebeXGcLZwyjxYMFyti5GTg42AU2JZ50LmEFsEQEJiY6Gt +wgNrOAncSdxU1gcWEBL4lpT08zgdgsAioS3Yv3g9m8Ap4SP+8sZAGxJQQUJKY8fA9Wzwk0s6 OnhRHEFhLQkFjee4ERol5Q4uTMJywQ8yUkDr54wQzRqyTR1nqFFcKukGicfogJwlaTuHpuE/M ERsFZSNpnIWlfwMi0itG0OLWoLLVI10QvqSgzPaMkNzEzRy+xSjdRL7VUtzy1uETXUC+xvFgv tbhYr7gyNzknRS8vtWQTIzCgU4pZ3+5g/N/7V+8QoyQHk5Io76ON2ilCfEn5KZUZicUZ8UWlO anFhxhlODiUJHgzzwPlBItS01Mr0jJzgNEFk5bg4FES4f17DijNW1yQmFucmQ6ROsWoKCXOu/ ECUEIAJJFRmgfXBovoS4yyUsK8jAwMDEI8BalFuZklqPKvGMU5GJWEeV3OAE3hycwrgZv+Cmg xE9Di1igNkMUliQgpqQYmz/XHVy8Qu5haeinD6c2X2OgtRbIWugpH246wzlyw7QLX3bMnAyqi 89gsLHvSTiz0vzqntiLk6uq9j9TNqoR1spvVDy6RNJWonnl3Z+e03QbcnDov3v97xivSd2fJk xr1jufeebyiO3768uv5hS/R77poIb5jtaD3wqcfLPx+6Fal1WQ2VL1OP9RUGmL6rGTfOaXpUw WdfJ9xsGsukBVyaDBRYpx9Itn1usj8CXWda3M3n7+sZZYSohIt6eZYy3biSZb9rgWHdHSMva+ ZWDa4bqzbsD9zTsBEiYtHF8Uttb5pWjq94eF1hfMaF+edZbti+Nb3T9uDNat+eebO9vnvLbmh SHIrTzvnSRWj2RpKLMUZiYZazEXFiQAq9JLcYwMAAA== X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-17.tower-585.messagelabs.com!1680593450!378462!1 X-Originating-IP: [62.60.8.98] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.104.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 741 invoked from network); 4 Apr 2023 07:30:50 -0000 Received: from unknown (HELO n03ukasimr03.n03.fujitsu.local) (62.60.8.98) by server-17.tower-585.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 4 Apr 2023 07:30:50 -0000 Received: from n03ukasimr03.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr03.n03.fujitsu.local (Postfix) with ESMTP id 38D2A1B0; Tue, 4 Apr 2023 08:30:50 +0100 (BST) Received: from R01UKEXCASM121.r01.fujitsu.local (R01UKEXCASM121 [10.183.43.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr03.n03.fujitsu.local (Postfix) with ESMTPS id 2DB821AF; Tue, 4 Apr 2023 08:30:50 +0100 (BST) Received: from localhost.localdomain (10.167.215.131) by R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 4 Apr 2023 08:30:48 +0100 From: Yang Xu To: Date: Tue, 4 Apr 2023 15:30:27 +0800 Message-ID: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [10.167.215.131] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) X-Virus-Scanned: clamav-milter 0.102.4 at in-3.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-3.smtp.seeweb.it Subject: [LTP] [PATCH v3 1/4] lapi/stat.h: Add STATX_DIOALIGN related definition X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Also add missing stx_mnt_id. Signed-off-by: Yang Xu --- include/lapi/stat.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/include/lapi/stat.h b/include/lapi/stat.h index ce1f2b678..c2db8a589 100644 --- a/include/lapi/stat.h +++ b/include/lapi/stat.h @@ -97,7 +97,11 @@ struct statx { uint32_t stx_dev_major; uint32_t stx_dev_minor; /* 0x90 */ - uint64_t __spare2[14]; + uint64_t stx_mnt_id; + uint32_t stx_dio_mem_align; + uint32_t stx_dio_offset_align; + /* 0xa0 */ + uint64_t __spare1[12]; /* 0x100 */ }; #endif @@ -180,6 +184,10 @@ static inline int statx(int dirfd, const char *pathname, unsigned int flags, # define STATX_MNT_ID 0x00001000U #endif +#ifndef STATX_DIOALIGN +# define STATX_DIOALIGN 0x00002000U +#endif + #ifndef STATX_ALL # define STATX_ALL 0x00000fffU #endif From patchwork Tue Apr 4 07:30:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1764700 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=P9+hwE8J; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PrKFF2Pp0z1yZQ for ; Tue, 4 Apr 2023 17:31:13 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 1225E3CACE7 for ; Tue, 4 Apr 2023 09:31:11 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-2.smtp.seeweb.it (in-2.smtp.seeweb.it [217.194.8.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 68B043CA9F0 for ; Tue, 4 Apr 2023 09:30:57 +0200 (CEST) Received: from mail3.bemta32.messagelabs.com (mail3.bemta32.messagelabs.com [195.245.230.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-2.smtp.seeweb.it (Postfix) with ESMTPS id 4E51E6008C7 for ; Tue, 4 Apr 2023 09:30:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1680593455; i=@fujitsu.com; bh=yTiGeaSrT0hNNbS834uP90dlgk9hXtMUDBacZA3zKNQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=P9+hwE8JglXl6Iz9b8XLJqR11wPVgaIpKnPdhBGAlqgnD4qeiG9ka2oSjYOOdB5GG +R1539oB2VJBOFIuLB0EKhYNcY3B2pW7/VYXR3cC5d1y0qI4HRv92tdDkTU/ujV7ar JT1ROE8R4qsa9Rw2cBZzXNOnJ+rTPgg09pOnHGQldP1wqSDzOQyiiGWysT0/2apVN7 MPOvnv7pamJ1bcCiOYgRVbyVQ9/uKFSkHCRa83QpiOQGt0sJvL8xsmqLAYxr0Zbnhi NJCl/Kk127CLN9y87xEHV2bDW8nAseUGpHBPRm19if1B6ZUlJGosUssJe7AOvuBUg2 Xu8agj3/aRgAg== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRWlGSWpSXmKPExsViZ8MxSVfvkna Kwd9TZhZr9/xhtljxfQejA5PHplWdbB77fq9jDWCKYs3MS8qvSGDNaP3zlangr2bFjlfz2RsY e1S6GLk4hAS2MEo82vuCBcJZziSxdeZ8dghnD6PEjZuTgRxODjYBTYlnnQuYQWwRAQmJjoa3Y HFmATuJO4ubwOLCAtESZ5adZQWxWQRUJE483wg0lYODV8BTYtpGAZCwhICCxJSH78HKOQW8JP bcPgBWLiSQLtF/7hdYnFdAUOLkzCcsEOMlJA6+eMEM0ask0dZ6hRXCrpBonH6ICcJWk7h6bhP zBEbBWUjaZyFpX8DItIrRrDi1qCy1SNfQUi+pKDM9oyQ3MTNHL7FKN1EvtVS3PLW4RNdQL7G8 WC+1uFivuDI3OSdFLy+1ZBMjMKBTilmP72Cc1fdX7xCjJAeTkijvo43aKUJ8SfkplRmJxRnxR aU5qcWHGGU4OJQkeDPPA+UEi1LTUyvSMnOA0QWTluDgURLh/XsOKM1bXJCYW5yZDpE6xagoJc 678QJQQgAkkVGaB9cGi+hLjLJSwryMDAwMQjwFqUW5mSWo8q8YxTkYlYR5Xc4ATeHJzCuBm/4 KaDET0OLWKA2QxSWJCCmpBiYnnn/PBfK+tgX/53F8s365WNWc55Jdz74ed7e/0PJ3smtzcGJ7 4Pd9S8oe6saZTI3pL9n/5WNN8ZYmrdZ0n2yeR9sfrPrxc9qsmevZ5C0zms96dKh9Yf/zOEp+a 1c1s97R9pDlFscKLe2MLFoOp73kNMl61FwW6cYp0OQZ2/mx+ZjC7m/XxcNymesdrroFrpP7lH Vvde0CB9P5uyPEA2zzY+apL182O26T2vrCttMfz4XeeOt/LT9ZtMqm5L+N9fof+QyS7bP+bSu bWvkqzbhN7MyWuYa8L567MjvymFgzMrBoS1yo6Ti/4POiOZpX9OSuSH6YxHRFg+Evw6GiuyrP l+0SPfK7ca5UoQPrDSWW4oxEQy3mouJEAMefgt9jAwAA X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-17.tower-585.messagelabs.com!1680593454!378471!1 X-Originating-IP: [62.60.8.146] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.104.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 1060 invoked from network); 4 Apr 2023 07:30:54 -0000 Received: from unknown (HELO n03ukasimr02.n03.fujitsu.local) (62.60.8.146) by server-17.tower-585.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 4 Apr 2023 07:30:54 -0000 Received: from n03ukasimr02.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr02.n03.fujitsu.local (Postfix) with ESMTP id 7604B100467; Tue, 4 Apr 2023 08:30:54 +0100 (BST) Received: from R01UKEXCASM121.r01.fujitsu.local (R01UKEXCASM121 [10.183.43.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr02.n03.fujitsu.local (Postfix) with ESMTPS id 68B7D1000FC; Tue, 4 Apr 2023 08:30:54 +0100 (BST) Received: from localhost.localdomain (10.167.215.131) by R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 4 Apr 2023 08:30:52 +0100 From: Yang Xu To: Date: Tue, 4 Apr 2023 15:30:28 +0800 Message-ID: <1680593430-14728-2-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> References: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.215.131] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) X-Virus-Scanned: clamav-milter 0.102.4 at in-2.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-2.smtp.seeweb.it Subject: [LTP] [PATCH v3 2/4] syscalls/statx10: Add basic test for STATX_DIOALIGN on regular file X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" If the caller didn't include STATX_DIOALIGN in the request mask, direct I/O alignment information isn't returned since statx() isn't required to return unrequested information. STATX_DIOALIGN is used to get stx_dio_mem_align and stx_dio_offset_align for files on fs that support direct io. We just check whether these value are nonzero on ext4 and xfs. On ext4, files that use certain filesystem features (data journalling, encryption, and verity) fall back to buffered I/O. But ltp doesn't use these features by default, So I think dio should not fall back to buffered I/O. For struct statx member check, we only check stx_dio_mem_align because these two member is introduced toger in separate commit in kernel, so it is safe. Signed-off-by: Yang Xu --- v2->v3: 1. fix testfile path problme 2. also test stx_dio_mem_align and stx_dio_offset_align is not filled when not request STATX_DIOALIGN configure.ac | 2 +- runtest/syscalls | 1 + testcases/kernel/syscalls/statx/.gitignore | 1 + testcases/kernel/syscalls/statx/statx10.c | 98 ++++++++++++++++++++++ 4 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 testcases/kernel/syscalls/statx/statx10.c diff --git a/configure.ac b/configure.ac index 4c8763376..548288310 100644 --- a/configure.ac +++ b/configure.ac @@ -158,7 +158,7 @@ AC_CHECK_FUNCS(mkdtemp,[],AC_MSG_ERROR(mkdtemp() not found!)) AC_CHECK_MEMBERS([struct fanotify_event_info_fid.fsid.__val],,,[#include ]) AC_CHECK_MEMBERS([struct perf_event_mmap_page.aux_head],,,[#include ]) AC_CHECK_MEMBERS([struct sigaction.sa_sigaction],[],[],[#include ]) -AC_CHECK_MEMBERS([struct statx.stx_mnt_id],,,[ +AC_CHECK_MEMBERS([struct statx.stx_mnt_id, struct statx.stx_dio_mem_align],,,[ #define _GNU_SOURCE #include ]) diff --git a/runtest/syscalls b/runtest/syscalls index 8b002e989..92123772c 100644 --- a/runtest/syscalls +++ b/runtest/syscalls @@ -1769,6 +1769,7 @@ statx06 statx06 statx07 statx07 statx08 statx08 statx09 statx09 +statx10 statx10 membarrier01 membarrier01 diff --git a/testcases/kernel/syscalls/statx/.gitignore b/testcases/kernel/syscalls/statx/.gitignore index 1cea43c0d..67341ff2d 100644 --- a/testcases/kernel/syscalls/statx/.gitignore +++ b/testcases/kernel/syscalls/statx/.gitignore @@ -7,3 +7,4 @@ /statx07 /statx08 /statx09 +/statx10 diff --git a/testcases/kernel/syscalls/statx/statx10.c b/testcases/kernel/syscalls/statx/statx10.c new file mode 100644 index 000000000..7e5d287d9 --- /dev/null +++ b/testcases/kernel/syscalls/statx/statx10.c @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (c) 2023 FUJITSU LIMITED. All rights reserved. + * Author: Yang Xu + */ + +/*\ + * [Description] + * + * It is a basic test for STATX_DIOALIGN mask on ext4 and xfs filesystem. + * + * - STATX_DIOALIGN Want stx_dio_mem_align and stx_dio_offset_align value + * + * These two values are only filled when STATX_DIOALIGN in the request mask. + * Also check these two values are nonzero under dio situation when + * STATX_DIOALIGN in the request mask + * + * Minimum Linux version required is v6.1. + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include "tst_test.h" +#include "lapi/stat.h" + +#ifdef HAVE_STRUCT_STATX_STX_DIO_MEM_ALIGN +#define MNTPOINT "mnt_point" +#define TESTFILE MNTPOINT"/testfile" + +static int fd = -1; + +static void verify_statx(void) +{ + struct statx buf; + + memset(&buf, 0, sizeof(buf)); + TST_EXP_PASS(statx(AT_FDCWD, TESTFILE, 0, STATX_DIOALIGN, &buf), + "statx(AT_FDCWD, %s, 0, STATX_DIOALIGN, &buf)", TESTFILE); + + if (!(buf.stx_mask & STATX_DIOALIGN)) { + tst_res(TCONF, "STATX_DIOALIGN is not supported until linux 6.1"); + return; + } + + if (buf.stx_dio_mem_align != 0) + tst_res(TPASS, "stx_dio_mem_align:%u", buf.stx_dio_mem_align); + else + tst_res(TFAIL, "don't get stx_dio_mem_align on supported dio fs"); + + if (buf.stx_dio_offset_align != 0) + tst_res(TPASS, "stx_dio_offset_align:%u", buf.stx_dio_offset_align); + else + tst_res(TFAIL, "don't get stx_dio_offset_align on supported dio fs"); + + TST_EXP_PASS(statx(AT_FDCWD, TESTFILE, 0, 0, &buf), + "statx(AT_FDCWD, %s, 0, 0, &buf)", TESTFILE); + + if ((buf.stx_mask & STATX_DIOALIGN)) { + tst_res(TFAIL, "STATX_DIOALIGN mask return even not request"); + return; + } + TST_EXP_EQ_LU(buf.stx_dio_mem_align, 0); + TST_EXP_EQ_LU(buf.stx_dio_offset_align, 0); +} + +static void setup(void) +{ + if (strcmp(tst_device->fs_type, "xfs") && strcmp(tst_device->fs_type, "ext4")) + tst_brk(TCONF, "This test only supports ext4 and xfs"); + + SAFE_FILE_PRINTF(TESTFILE, "AAAA"); + fd = open(TESTFILE, O_RDWR | O_DIRECT); + if (fd == -1 && errno == EINVAL) + tst_brk(TCONF, "The regular file is not on a filesystem that support DIO"); +} + +static void cleanup(void) +{ + if (fd > -1) + SAFE_CLOSE(fd); +} + +static struct tst_test test = { + .test_all = verify_statx, + .setup = setup, + .cleanup = cleanup, + .needs_root = 1, + .mntpoint = MNTPOINT, + .mount_device = 1, + .all_filesystems = 1, +}; +#else +TST_TEST_TCONF("test requires struct statx to have the stx_dio_mem_align fields"); +#endif From patchwork Tue Apr 4 07:30:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1764701 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=m7UZCz+Y; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PrKFS5lcRz1yZQ for ; Tue, 4 Apr 2023 17:31:24 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 74A753CAD4B for ; Tue, 4 Apr 2023 09:31:22 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [217.194.8.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 19CC23CB133 for ; Tue, 4 Apr 2023 09:31:01 +0200 (CEST) Received: from mail1.bemta37.messagelabs.com (mail1.bemta37.messagelabs.com [85.158.142.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 3693F1400777 for ; Tue, 4 Apr 2023 09:30:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1680593459; i=@fujitsu.com; bh=C9w8PF5VLbH4xw2WIlbYySK0tqbPcp57ndGsQMN0dBc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=m7UZCz+Yxo2PFpptFMQhePCky/44Lqa0oCNkzhLO0BFNf+gBERSQNLqSVp3EXyUOV HR4xuZPtmf6G/YoMhAMoJPc19slr5zynD6e+p3qkAoMj6vUCU4LMs7rjRd8h8T7YRN 967ilAqjuaDX6TbKiQROqLe/xTiw8BLdGU5ZiyzxqdpRvDphckrWzWMC5l2bTW70PG cw2YsgAKPKcWvoSC3Pf4Kn0oIN4Pp7e6JfkPunxfhZq5DhBF/WvgzUV6BxPW/rI4k9 3A2e+I8eYqytFv+B4l5KyyEGVmUBTBPVP8Nqm1TKFouTzP+3t1cpbAsXztyE9rmdY2 TvGnv15ZWEMSA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRWlGSWpSXmKPExsViZ8ORqGt0STv FYMJlY4u1e/4wW6z4voPRgclj06pONo99v9exBjBFsWbmJeVXJLBmTHr/jbXgk3rFswa/Bsb1 Sl2MXBxCAlsYJZ5cOMoO4Sxnknj3fgMzhLOHUaL1WSOQw8nBJqAp8axzAZgtIiAh0dHwlh3EZ hawk7izuAksLiwQLbFs7nuwOIuAikT/6fUsIDavgKfEpkeHWEFsCQEFiSkP34PVcwp4Sey5fQ AsLiSQLtF/7hczRL2gxMmZT1gg5ktIHHzxghmiV0mirfUK1JwKicbph5ggbDWJq+c2MU9gFJy FpH0WkvYFjEyrGM2KU4vKUot0DfWSijLTM0pyEzNz9BKrdBP1Ukt18/KLSjKAUonlxXqpxcV6 xZW5yTkpenmpJZsYgQGdUpx4ewfj8t6/eocYJTmYlER5H23UThHiS8pPqcxILM6ILyrNSS0+x CjDwaEkwZt5HignWJSanlqRlpkDjC6YtAQHj5II799zQGne4oLE3OLMdIjUKUZFKXHejReAEg IgiYzSPLg2WERfYpSVEuZlZGBgEOIpSC3KzSxBlX/FKM7BqCTM63IGaApPZl4J3PRXQIuZgBa 3RmmALC5JREhJNTBJmpkfj9L7xuXbGXLBY9OHyawT17xKfiEvskRj6pRN7i++6W/2O1jdzyHY nvZiOmsVyxaO9p6XS47/fle3M3HV3/zKLXPrC4P9q+aZR32t2Lwv4LCekaSm08nDvfFHVyh1n M5l7c31WOJolMK//mmDKqvb1JqnbqrXNFOWrXPeufbri8beHwlfeZTfb55SeKU63/H2Yfdgnx vV3usfKzeevdGZfaV/QZywBL92J9P+rkOXkzO0vu21ZTk40cNLobgwYMWtLS+z5nlMXVYQJB2 pyGVtOeOakTtfVKObWdD3A58tvOO3Hjr60zO9dUkK7/5ZvVe6L81Nir7YtbfxiJ/Q06u5IoG6 nNMsxLi3qiuxFGckGmoxFxUnAgAFxyXkYwMAAA== X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-12.tower-728.messagelabs.com!1680593458!1111041!1 X-Originating-IP: [62.60.8.97] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.104.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 9314 invoked from network); 4 Apr 2023 07:30:58 -0000 Received: from unknown (HELO n03ukasimr01.n03.fujitsu.local) (62.60.8.97) by server-12.tower-728.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 4 Apr 2023 07:30:58 -0000 Received: from n03ukasimr01.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr01.n03.fujitsu.local (Postfix) with ESMTP id 335511001BA; Tue, 4 Apr 2023 08:30:58 +0100 (BST) Received: from R01UKEXCASM121.r01.fujitsu.local (R01UKEXCASM121 [10.183.43.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr01.n03.fujitsu.local (Postfix) with ESMTPS id 26EF71001A8; Tue, 4 Apr 2023 08:30:58 +0100 (BST) Received: from localhost.localdomain (10.167.215.131) by R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 4 Apr 2023 08:30:55 +0100 From: Yang Xu To: Date: Tue, 4 Apr 2023 15:30:29 +0800 Message-ID: <1680593430-14728-3-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> References: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.215.131] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) X-Virus-Scanned: clamav-milter 0.102.4 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-6.smtp.seeweb.it Subject: [LTP] [PATCH v3 3/4] syscalls/statx11: Add basic test for STATX_DIOALIGN on block device X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Since STATX_DIOLAIGN is only supported on regular file and block device, so this case is used to test the latter. This test is tightly coupled to the kernel's current DIO restrictions on block devices. These changed in v6.0, and they are subject to further change in the future. It is fine for now because STATX_DIOALIGN is only in v6.1 and later anyway. Signed-off-by: Yang Xu --- v2->v3: 1.remove useless TESTFILE and MNTPINT macro 2.like statx10.c, test not filled situation when not request STATX_DIOLAIGN 3.add commet that this case is tightly coupled to the kernel's current DIO restrictions on block devices runtest/syscalls | 1 + testcases/kernel/syscalls/statx/.gitignore | 1 + testcases/kernel/syscalls/statx/statx11.c | 107 +++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 testcases/kernel/syscalls/statx/statx11.c diff --git a/runtest/syscalls b/runtest/syscalls index 92123772c..de5f0be35 100644 --- a/runtest/syscalls +++ b/runtest/syscalls @@ -1770,6 +1770,7 @@ statx07 statx07 statx08 statx08 statx09 statx09 statx10 statx10 +statx11 statx11 membarrier01 membarrier01 diff --git a/testcases/kernel/syscalls/statx/.gitignore b/testcases/kernel/syscalls/statx/.gitignore index 67341ff2d..48ac4078b 100644 --- a/testcases/kernel/syscalls/statx/.gitignore +++ b/testcases/kernel/syscalls/statx/.gitignore @@ -8,3 +8,4 @@ /statx08 /statx09 /statx10 +/statx11 diff --git a/testcases/kernel/syscalls/statx/statx11.c b/testcases/kernel/syscalls/statx/statx11.c new file mode 100644 index 000000000..35d6fbaf3 --- /dev/null +++ b/testcases/kernel/syscalls/statx/statx11.c @@ -0,0 +1,107 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (c) 2023 FUJITSU LIMITED. All rights reserved. + * Author: Yang Xu + */ + +/*\ + * [Description] + * + * It is a basic test for STATX_DIOALIGN mask on block device. + * + * - STATX_DIOALIGN Want stx_dio_mem_align and stx_dio_offset_align value + * + * These two values are only filled when STATX_DIOALIGN in the request mask. + * These two values are tightly coupled to the kernel's current DIO + * restrictions on block devices. + * + * Minimum Linux version required is v6.1. + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include "tst_test.h" +#include "lapi/stat.h" + +#ifdef HAVE_STRUCT_STATX_STX_DIO_MEM_ALIGN +static int fd = -1, logical_sector_size; +static char sys_bdev_dma_path[1024], sys_bdev_lgs_path[1024]; + +static void verify_statx(void) +{ + struct statx buf; + + memset(&buf, 0, sizeof(buf)); + TST_EXP_PASS(statx(AT_FDCWD, tst_device->dev, 0, STATX_DIOALIGN, &buf), + "statx(AT_FDCWD, %s, 0, STATX_DIOALIGN, &buf)", tst_device->dev); + + if (!(buf.stx_mask & STATX_DIOALIGN)) { + tst_res(TCONF, "STATX_DIOALIGN is not supported until linux 6.1"); + return; + } + + /* + * This test is tightly coupled to the kernel's current DIO restrictions + * on block devices. The general rule of DIO needing to be aligned to the + * block device's logical block size was recently relaxed to allow user buffers + * (but not file offsets) aligned to the DMA alignment instead. See v6.0 + * commit bf8d08532bc1 ("iomap: add support for dma aligned direct-io") and + * they are subject to further change in the future. + * Also can see commit 2d985f8c6b9 ("vfs: support STATX_DIOALIGN on block devices). + */ + TST_ASSERT_ULONG(sys_bdev_dma_path, buf.stx_dio_mem_align - 1); + TST_ASSERT_ULONG(sys_bdev_lgs_path, buf.stx_dio_offset_align); + TST_EXP_EQ_LU(buf.stx_dio_offset_align, logical_sector_size); + + TST_EXP_PASS(statx(AT_FDCWD, tst_device->dev, 0, 0, &buf), + "statx(AT_FDCWD, %s, 0, STATX_DIOALIGN, &buf)", tst_device->dev); + TST_EXP_EQ_LU(buf.stx_dio_mem_align, 0); + TST_EXP_EQ_LU(buf.stx_dio_offset_align, 0); +} + +static void setup(void) +{ + char *dev_name; + int dev_fd; + + dev_fd = SAFE_OPEN(tst_device->dev, O_RDWR); + SAFE_IOCTL(dev_fd, BLKSSZGET, &logical_sector_size); + SAFE_CLOSE(dev_fd); + + if (logical_sector_size <= 0) + tst_brk(TBROK, "BLKSSZGET returned invalid block size %i", logical_sector_size); + + dev_name = basename((char *)tst_device->dev); + sprintf(sys_bdev_lgs_path, "/sys/block/%s/queue/logical_block_size", dev_name); + while (access(sys_bdev_lgs_path, F_OK) != 0) { + dev_name[strlen(dev_name)-1] = '\0'; + sprintf(sys_bdev_lgs_path, "/sys/block/%s/queue/logical_block_size", dev_name); + } + + sprintf(sys_bdev_dma_path, "/sys/block/%s/queue/dma_alignment", dev_name); + if (access(sys_bdev_dma_path, F_OK) != 0) + tst_brk(TCONF, "dma_alignment syfsfile doesn't exist"); +} + +static void cleanup(void) +{ + if (fd > -1) + SAFE_CLOSE(fd); +} + +static struct tst_test test = { + .test_all = verify_statx, + .setup = setup, + .cleanup = cleanup, + .needs_root = 1, + .needs_device = 1, +}; +#else +TST_TEST_TCONF("test requires struct statx to have the stx_dio_mem_align fields"); +#endif From patchwork Tue Apr 4 07:30:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yang Xu \\(Fujitsu\\)" X-Patchwork-Id: 1764702 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=fujitsu.com header.i=@fujitsu.com header.a=rsa-sha256 header.s=170520fj header.b=Qdv3S6gT; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PrKFj5tCSz1yZQ for ; Tue, 4 Apr 2023 17:31:37 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id B9E193CA252 for ; Tue, 4 Apr 2023 09:31:34 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [217.194.8.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id E0DCF3CAD4B for ; Tue, 4 Apr 2023 09:31:04 +0200 (CEST) Received: from mail1.bemta34.messagelabs.com (mail1.bemta34.messagelabs.com [195.245.231.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 67E1C140015B for ; Tue, 4 Apr 2023 09:31:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=170520fj; t=1680593462; i=@fujitsu.com; bh=9DxWK2tbYyu5/brN8GelV3mERG5UOKb+6PysFuVVIj4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Qdv3S6gTX38RKeBRTjV3Y4vWdt1NYQz9iM2WfMopgaeQ5Hdfe8/fp5JpKDUZ3TXe2 mfmiIjARU/He+1okfjqfM8qudx6Wef1fGxFKz+JFNtQhtciMPUN/KvIY/Gcv1NE1UE S6njJwdgMT1GF8fCTlqG0pNvyHAOAQBAwGobVe6032z2PHUn8qK5ojWDk6pE7zJN6k fP7VgzkXiNdiYErbRh9aMT7cISYxo6GmLRNrwOUM9K/v08EOGGROwmx5NkzyJUJKjK 1kxupfgE1f8pAbFIQO739/v+sIIdJhFl7++KDvvJzQ/r3xKTQH3q/QBIG5AI9uKE7/ R0VMKn9Dy1G6g== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRWlGSWpSXmKPExsViZ8OxWdf0kna KwZ/b5hZr9/xhtljxfQejA5PHplWdbB77fq9jDWCKYs3MS8qvSGDN6P12l63gjnDF/J67zA2M /wW6GLk4hAQ2Mkrsf9rOCuEsYZL4s3oPM4Szh1Fi0ZNHLF2MnBxsApoSzzoXMIPYIgISEh0Nb 9lBbGYBO4k7i5vA4sICbhIznm9iBbFZBFQk/i1vAKvhFfCU+LViERuILSGgIDHl4Xuwek4BL4 k9tw+A1QsJpEv0n/vFDFEvKHFy5hMWiPkSEgdfvGCG6FWSaGu9wgphV0g0Tj/EBGGrSVw9t4l 5AqPgLCTts5C0L2BkWsVoWpxaVJZapGuul1SUmZ5RkpuYmaOXWKWbqJdaqlueWlyia6SXWF6s l1pcrFdcmZuck6KXl1qyiREY0CnFyjN3MC7r+6t3iFGSg0lJlPfRRu0UIb6k/JTKjMTijPii0 pzU4kOMMhwcShK8meeBcoJFqempFWmZOcDogklLcPAoifD+PQeU5i0uSMwtzkyHSJ1iVJQS59 14ASghAJLIKM2Da4NF9CVGWSlhXkYGBgYhnoLUotzMElT5V4ziHIxKwrwuZ4Cm8GTmlcBNfwW 0mAlocWuUBsjikkSElFQDk4+W0svOvX5zvDh+vqnbuYr3l0LpSqNVPu/kjVxLJp848vcXf/DH MJG/hRfKbnlbPw620mO3sr2yTPfyjqiX7kmzXe6JikteNXdp/LV572lez9Snnt99VHTj629cY vjldoC5a96ha4cbQzy+TY15W73kn7zGxgyugxs/1Sj8fDTJ+Y5w78GsYya+EdMzD7YK3nhRtJ j93qYL6dJn92ZEaa38ueZ03YcZjiWGl9NOM9UHRf03FGnbURL7ddVLxtjzT/skDGcfXbDKLva 2TFOg/BVPUR+nBbpl8TJ7P+QlmJ2eUv8oO/XH4rXejNwCwY/Vvv0pMTg9QbxnX8s9NRkuz/Lj Ii6Z8SVn3yb+lMyfrsRSnJFoqMVcVJwIABYRVhljAwAA X-Env-Sender: xuyang2018.jy@fujitsu.com X-Msg-Ref: server-8.tower-565.messagelabs.com!1680593461!300034!1 X-Originating-IP: [62.60.8.179] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.104.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 24855 invoked from network); 4 Apr 2023 07:31:01 -0000 Received: from unknown (HELO n03ukasimr04.n03.fujitsu.local) (62.60.8.179) by server-8.tower-565.messagelabs.com with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 4 Apr 2023 07:31:01 -0000 Received: from n03ukasimr04.n03.fujitsu.local (localhost [127.0.0.1]) by n03ukasimr04.n03.fujitsu.local (Postfix) with ESMTP id 99A14162; Tue, 4 Apr 2023 08:31:01 +0100 (BST) Received: from R01UKEXCASM121.r01.fujitsu.local (R01UKEXCASM121 [10.183.43.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by n03ukasimr04.n03.fujitsu.local (Postfix) with ESMTPS id 8D36015A; Tue, 4 Apr 2023 08:31:01 +0100 (BST) Received: from localhost.localdomain (10.167.215.131) by R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Tue, 4 Apr 2023 08:30:59 +0100 From: Yang Xu To: Date: Tue, 4 Apr 2023 15:30:30 +0800 Message-ID: <1680593430-14728-4-git-send-email-xuyang2018.jy@fujitsu.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> References: <1680593430-14728-1-git-send-email-xuyang2018.jy@fujitsu.com> MIME-Version: 1.0 X-Originating-IP: [10.167.215.131] X-ClientProxiedBy: G08CNEXCHPEKD07.g08.fujitsu.local (10.167.33.80) To R01UKEXCASM121.r01.fujitsu.local (10.183.43.173) X-Virus-Scanned: clamav-milter 0.102.4 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-6.smtp.seeweb.it Subject: [LTP] [PATCH v3 4/4] lapi/stat.h: Remove deprecated STATX_ALL macro X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Since kernel 5.10-rc1 commit 581701b7efd6 ("uapi: deprecate STATX_ALL"), this flag has been mark as deprecated. Kernel should keep this macro for compatibility, but ltp doesn't think about it. So remove it. Signed-off-by: Yang Xu --- include/lapi/stat.h | 4 ---- testcases/kernel/syscalls/statx/statx06.c | 4 ++-- testcases/kernel/syscalls/statx/statx07.c | 6 +++--- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/include/lapi/stat.h b/include/lapi/stat.h index c2db8a589..7c9a7a00c 100644 --- a/include/lapi/stat.h +++ b/include/lapi/stat.h @@ -188,10 +188,6 @@ static inline int statx(int dirfd, const char *pathname, unsigned int flags, # define STATX_DIOALIGN 0x00002000U #endif -#ifndef STATX_ALL -# define STATX_ALL 0x00000fffU -#endif - #ifndef STATX__RESERVED # define STATX__RESERVED 0x80000000U #endif diff --git a/testcases/kernel/syscalls/statx/statx06.c b/testcases/kernel/syscalls/statx/statx06.c index ce82b905b..60e736c5a 100644 --- a/testcases/kernel/syscalls/statx/statx06.c +++ b/testcases/kernel/syscalls/statx/statx06.c @@ -111,10 +111,10 @@ static void test_statx(unsigned int test_nr) clock_wait_tick(); SAFE_CLOCK_GETTIME(CLOCK_REALTIME_COARSE, &after_time); - TEST(statx(AT_FDCWD, TEST_FILE, 0, STATX_ALL, &buff)); + TEST(statx(AT_FDCWD, TEST_FILE, 0, STATX_BASIC_STATS | STATX_BTIME, &buff)); if (TST_RET != 0) { tst_brk(TFAIL | TTERRNO, - "statx(AT_FDCWD, %s, 0, STATX_ALL, &buff)", + "statx(AT_FDCWD, %s, 0, STATX_BASIC_STATS | STATX_BTIME, &buff)", TEST_FILE); } diff --git a/testcases/kernel/syscalls/statx/statx07.c b/testcases/kernel/syscalls/statx/statx07.c index b13c11f72..c798c7a10 100644 --- a/testcases/kernel/syscalls/statx/statx07.c +++ b/testcases/kernel/syscalls/statx/statx07.c @@ -62,15 +62,15 @@ static int get_mode(char *file_name, int flag_type, char *flag_name) { struct statx buf; - TEST(statx(AT_FDCWD, file_name, flag_type, STATX_ALL, &buf)); + TEST(statx(AT_FDCWD, file_name, flag_type, STATX_BASIC_STATS | STATX_BTIME, &buf)); if (TST_RET == -1) { tst_brk(TFAIL | TST_ERR, - "statx(AT_FDCWD, %s, %s, STATX_ALL, &buf)", + "statx(AT_FDCWD, %s, %s, STATX_BASIC_STATS | STATX_BTIME, &buf)", file_name, flag_name); } - tst_res(TINFO, "statx(AT_FDCWD, %s, %s, STATX_ALL, &buf) = %o", + tst_res(TINFO, "statx(AT_FDCWD, %s, %s, STATX_BASIC_STATS | STATX_BTIME, &buf) = %o", file_name, flag_name, buf.stx_mode); return buf.stx_mode;