From: Chuck Lever <cel@kernel.org>
To: linux-nfs@vger.kernel.org
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: [PATCH v1 06/52] NFSD: Add nfsd4_encode_fattr4__false()
Date: Mon, 18 Sep 2023 09:57:26 -0400 [thread overview]
Message-ID: <169504544625.133720.5531415222277888990.stgit@manet.1015granger.net> (raw)
In-Reply-To: <169504501081.133720.4162400017732492854.stgit@manet.1015granger.net>
From: Chuck Lever <chuck.lever@oracle.com>
Add an encoding helper that encodes a single boolean "false" value.
Attributes that always return "false" can use this helper.
In a subsequent patch, this helper will be called from a bitmask
loop, so it is given a standardized synopsis.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
fs/nfsd/nfs4xdr.c | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index ba07e97c206b..91f3b03f297b 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -2953,6 +2953,12 @@ static __be32 nfsd4_encode_fattr4__true(struct xdr_stream *xdr,
return nfsd4_encode_bool(xdr, true);
}
+static __be32 nfsd4_encode_fattr4__false(struct xdr_stream *xdr,
+ const struct nfsd4_fattr_args *args)
+{
+ return nfsd4_encode_bool(xdr, false);
+}
+
/*
* Note: @fhp can be NULL; in this case, we might have to compose the filehandle
* ourselves.
@@ -3144,10 +3150,9 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
goto out;
}
if (bmval0 & FATTR4_WORD0_NAMED_ATTR) {
- p = xdr_reserve_space(xdr, 4);
- if (!p)
- goto out_resource;
- *p++ = cpu_to_be32(0);
+ status = nfsd4_encode_fattr4__false(xdr, &args);
+ if (status != nfs_ok)
+ goto out;
}
if (bmval0 & FATTR4_WORD0_FSID) {
p = xdr_reserve_space(xdr, 16);
@@ -3174,10 +3179,9 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
}
}
if (bmval0 & FATTR4_WORD0_UNIQUE_HANDLES) {
- p = xdr_reserve_space(xdr, 4);
- if (!p)
- goto out_resource;
- *p++ = cpu_to_be32(0);
+ status = nfsd4_encode_fattr4__false(xdr, &args);
+ if (status != nfs_ok)
+ goto out;
}
if (bmval0 & FATTR4_WORD0_LEASE_TIME) {
p = xdr_reserve_space(xdr, 4);
@@ -3234,10 +3238,9 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
goto out;
}
if (bmval0 & FATTR4_WORD0_CASE_INSENSITIVE) {
- p = xdr_reserve_space(xdr, 4);
- if (!p)
- goto out_resource;
- *p++ = cpu_to_be32(0);
+ status = nfsd4_encode_fattr4__false(xdr, &args);
+ if (status != nfs_ok)
+ goto out;
}
if (bmval0 & FATTR4_WORD0_CASE_PRESERVING) {
status = nfsd4_encode_fattr4__true(xdr, &args);
next prev parent reply other threads:[~2023-09-18 16:25 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-18 13:56 [PATCH v1 00/52] Modernize nfsd4_encode_fattr() Chuck Lever
2023-09-18 13:56 ` [PATCH v1 01/52] NFSD: Add simple u32, u64, and bool encoders Chuck Lever
2023-09-18 13:57 ` [PATCH v1 02/52] NFSD: Rename nfsd4_encode_bitmap() Chuck Lever
2023-09-18 13:57 ` [PATCH v1 03/52] NFSD: Clean up nfsd4_encode_setattr() Chuck Lever
2023-09-18 13:57 ` [PATCH v1 04/52] NFSD: Add struct nfsd4_fattr_args Chuck Lever
2023-09-18 13:57 ` [PATCH v1 05/52] NFSD: Add nfsd4_encode_fattr4__true() Chuck Lever
2023-09-18 13:57 ` Chuck Lever [this message]
2023-09-18 13:57 ` [PATCH v1 07/52] NFSD: Add nfsd4_encode_fattr4_supported_attrs() Chuck Lever
2023-09-18 13:57 ` [PATCH v1 08/52] NFSD: Add nfsd4_encode_fattr4_type() Chuck Lever
2023-09-18 13:57 ` [PATCH v1 09/52] NFSD: Add nfsd4_encode_fattr4_fh_expire_type() Chuck Lever
2023-09-18 13:57 ` [PATCH v1 10/52] NFSD: Add nfsd4_encode_fattr4_change() Chuck Lever
2023-09-18 13:57 ` [PATCH v1 11/52] NFSD: Add nfsd4_encode_fattr4_size() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 12/52] NFSD: Add nfsd4_encode_fattr4_fsid() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 13/52] NFSD: Add nfsd4_encode_fattr4_lease_time() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 14/52] NFSD: Add nfsd4_encode_fattr4_rdattr_error() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 15/52] NFSD: Add nfsd4_encode_fattr4_aclsupport() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 16/52] NFSD: Add nfsd4_encode_nfsace4() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 17/52] NFSD: Add nfsd4_encode_fattr4_acl() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 18/52] NFSD: Add nfsd4_encode_fattr4_filehandle() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 19/52] NFSD: Add nfsd4_encode_fattr4_fileid() Chuck Lever
2023-09-18 13:58 ` [PATCH v1 20/52] NFSD: Add nfsd4_encode_fattr4_files_avail() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 21/52] NFSD: Add nfsd4_encode_fattr4_files_free() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 22/52] NFSD: Add nfsd4_encode_fattr4_files_total() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 23/52] NFSD: Add nfsd4_encode_fattr4_fs_locations() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 24/52] NFSD: Add nfsd4_encode_fattr4_maxfilesize() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 25/52] NFSD: Add nfsd4_encode_fattr4_maxlink() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 26/52] NFSD: Add nfsd4_encode_fattr4_maxname() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 27/52] NFSD: Add nfsd4_encode_fattr4_maxread() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 28/52] NFSD: Add nfsd4_encode_fattr4_maxwrite() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 29/52] NFSD: Add nfsd4_encode_fattr4_mode() Chuck Lever
2023-09-18 13:59 ` [PATCH v1 30/52] NFSD: Add nfsd4_encode_fattr4_numlinks() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 31/52] NFSD: Add nfsd4_encode_fattr4_owner() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 32/52] NFSD: Add nfsd4_encode_fattr4_owner_group() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 33/52] NFSD: Add nfsd4_encode_fattr4_rawdev() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 34/52] NFSD: Add nfsd4_encode_fattr4_space_avail() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 35/52] NFSD: Add nfsd4_encode_fattr4_space_free() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 36/52] NFSD: Add nfsd4_encode_fattr4_space_total() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 37/52] NFSD: Add nfsd4_encode_fattr4_space_used() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 38/52] NFSD: Add nfsd4_encode_fattr4_time_access() Chuck Lever
2023-09-18 14:00 ` [PATCH v1 39/52] NFSD: Add nfsd4_encode_fattr4_time_create() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 40/52] NFSD: Add nfsd4_encode_fattr4_time_delta() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 41/52] NFSD: Add nfsd4_encode_fattr4_time_metadata() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 42/52] NFSD: Add nfsd4_encode_fattr4_time_modify() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 43/52] NFSD: Add nfsd4_encode_fattr4_mounted_on_fileid() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 44/52] NFSD: Add nfsd4_encode_fattr4_fs_layout_types() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 45/52] NFSD: Add nfsd4_encode_fattr4_layout_types() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 46/52] NFSD: Add nfsd4_encode_fattr4_layout_blksize() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 47/52] NFSD: Add nfsd4_encode_fattr4_suppattr_exclcreat() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 48/52] NFSD: Add nfsd4_encode_fattr4_sec_label() Chuck Lever
2023-09-18 14:01 ` [PATCH v1 49/52] NFSD: Add nfsd4_encode_fattr4_xattr_support() Chuck Lever
2023-09-18 14:02 ` [PATCH v1 50/52] NFSD: Copy FATTR4 bit number definitions from RFCs Chuck Lever
2023-09-18 14:02 ` [PATCH v1 51/52] NFSD: Use a bitmask loop to encode FATTR4 results Chuck Lever
2023-09-18 14:02 ` [PATCH v1 52/52] NFSD: Rename nfsd4_encode_fattr() Chuck Lever
2023-09-22 19:20 ` [PATCH v1 00/52] Modernize nfsd4_encode_fattr() Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=169504544625.133720.5531415222277888990.stgit@manet.1015granger.net \
--to=cel@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox