[lustre-devel] [PATCH 1/5] lustre: uapi: fallocate interop for 2.14 clients
James Simmons
jsimmons at infradead.org
Wed May 11 12:38:39 PDT 2022
From: Arshad Hussain <arshad.hussain at aeoncomputing.com>
fallocate() start and end are passed in o_size and o_blocks
on the wire. Clients 2.15.0 and newer should always set
the OBD_MD_FLSIZE and OBD_MD_FLBLOCKS valid flags, but some
older client versions did not. We permit older clients to
not set these flags, checking their version by proxy using
the missing OBD_CONNECT_TRUNCLOCK to imply 2.14.0 or older.
WC-bug-id: https://jira.whamcloud.com/browse/LU-15748
Lustre-commit: 79053592966792a21 ("LU-15748 osc: fallocate interop for 2.14 clients")
Signed-off-by: Arshad Hussain <arshad.hussain at aeoncomputing.com>
Reviewed-on: https://review.whamcloud.com/47098
Reviewed-by: Andreas Dilger <adilger at whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell at whamcloud.com>
Signed-off-by: James Simmons <jsimmons at infradead.org>
---
include/uapi/linux/lustre/lustre_idl.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/uapi/linux/lustre/lustre_idl.h b/include/uapi/linux/lustre/lustre_idl.h
index 753df16..37db3ee 100644
--- a/include/uapi/linux/lustre/lustre_idl.h
+++ b/include/uapi/linux/lustre/lustre_idl.h
@@ -691,6 +691,9 @@ struct ptlrpc_body_v2 {
#define OBD_CONNECT_ACL 0x80ULL /*access control lists */
#define OBD_CONNECT_XATTR 0x100ULL /*client use extended attr */
#define OBD_CONNECT_LARGE_ACL 0x200ULL /* more than 32 ACL entries */
+/* was OBD_CONNECT_TRUNCLOCK 0x400ULL *locks on server for punch */
+/* temporary reuse until 2.21.53 to indicate pre-2.15 client, see LU-15478 */
+#define OBD_CONNECT_OLD_FALLOC 0x400ULL /* missing o_valid flags */
#define OBD_CONNECT_TRANSNO 0x800ULL /*replay sends init transno */
#define OBD_CONNECT_IBITS 0x1000ULL /* not checked in 2.11+ */
#define OBD_CONNECT_BARRIER 0x2000ULL /* write barrier. Resevered to
--
1.8.3.1
More information about the lustre-devel
mailing list