linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/13] nfsd: implement the "delstid" draft
@ 2024-08-29 13:26 Jeff Layton
  2024-08-29 13:26 ` [PATCH v3 01/13] nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease Jeff Layton
                   ` (12 more replies)
  0 siblings, 13 replies; 32+ messages in thread
From: Jeff Layton @ 2024-08-29 13:26 UTC (permalink / raw)
  To: Chuck Lever, Neil Brown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
	Trond Myklebust, Anna Schumaker, Olga Kornievskaia,
	Alexander Viro, Christian Brauner, Jan Kara, Jonathan Corbet
  Cc: Tom Haynes, linux-kernel, linux-nfs, linux-fsdevel, linux-doc,
	Jeff Layton

The first couple of patches are prep patches from Neil, with some small
cleanups. The first patch should probably go to mainline for v6.11
since it fixes a bug.

The OPEN_ARGUMENTS and OPEN_XOR_DELEG patches are pretty straightforward
and have survived some local testing. The delegated timestamp patches
took a few tries to get right, but seem to work. That part is hard to
test since it requires 2 clients. It would be nice to have pynfs tests
for that.

The main question I have about this series is the change to make nfs4.h
include the autogenerated headers. Does anyone have issues with that?
I'd especially appreciate feedback on the basic scheme from Chuck, Trond
and Anna.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
Changes in v3:
- fix includes in nfs4xdr_gen.c
- drop ATTR_CTIME_DLG flag (just use ATTR_DELEG instead)
- proper handling for SETATTR (maybe? Outstanding q about stateid here)
- incorporate Neil's patches for handling non-delegation leases
- always return times from CB_GETATTR instead of from local vfs_getattr
- fix potential races vs. mgtimes by moving ctime handling into VFS layer
- Link to v2: https://lore.kernel.org/r/20240826-delstid-v2-0-e8ab5c0e39cc@kernel.org

Changes in v2:
- rebase onto Chuck's lkxdrgen branch, and reworked how autogenerated
  code is included
- declare nfsd_open_arguments as a global, so it doesn't have to be
  set up on the stack each time
- delegated timestamp support has been added
- Link to v1: https://lore.kernel.org/r/20240816-delstid-v1-0-c221c3dc14cd@kernel.org

---
Jeff Layton (11):
      nfsd: drop the ncf_cb_bmap field
      nfsd: drop the nfsd4_fattr_args "size" field
      nfsd: have nfsd4_deleg_getattr_conflict pass back write deleg pointer
      nfsd: add pragma public to delegated timestamp types
      nfsd: fix reported change attr on a write delegation
      nfs_common: make nfs4.h include generated nfs4_1.h
      nfsd: add support for FATTR4_OPEN_ARGUMENTS
      nfsd: implement OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION
      fs: handle delegated timestamps in setattr_copy_mgtime
      nfsd: add support for delegated timestamps
      nfsd: handle delegated timestamps in SETATTR

NeilBrown (2):
      nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease
      nfsd: untangle code in nfsd4_deleg_getattr_conflict()

 {fs/nfsd => Documentation/sunrpc/xdr}/nfs4_1.x     |   2 +
 MAINTAINERS                                        |   1 +
 fs/attr.c                                          |  28 ++-
 fs/inode.c                                         |  74 +++++++
 fs/nfsd/Makefile                                   |   2 +-
 fs/nfsd/nfs4callback.c                             |  43 +++-
 fs/nfsd/nfs4proc.c                                 |  29 ++-
 fs/nfsd/nfs4state.c                                | 241 ++++++++++++++-------
 fs/nfsd/nfs4xdr.c                                  | 117 ++++++++--
 fs/nfsd/nfs4xdr_gen.c                              |  12 +-
 fs/nfsd/nfsd.h                                     |   5 +-
 fs/nfsd/state.h                                    |   6 +-
 fs/nfsd/xdr4cb.h                                   |  10 +-
 include/linux/fs.h                                 |   2 +
 include/linux/nfs4.h                               |   7 +-
 include/linux/nfs_xdr.h                            |   5 -
 .../linux/sunrpc/xdrgen/nfs4_1.h                   |  14 +-
 include/linux/time64.h                             |   5 +
 include/uapi/linux/nfs4.h                          |   7 +-
 19 files changed, 469 insertions(+), 141 deletions(-)
---
base-commit: 30e4927dc0506504ddbfed51698bc5f37b17343a
change-id: 20240815-delstid-93290691ad11

Best regards,
-- 
Jeff Layton <jlayton@kernel.org>


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2024-09-05  1:44 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-29 13:26 [PATCH v3 00/13] nfsd: implement the "delstid" draft Jeff Layton
2024-08-29 13:26 ` [PATCH v3 01/13] nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease Jeff Layton
2024-08-29 15:17   ` Chuck Lever
2024-08-30  6:01     ` NeilBrown
2024-08-30 13:54       ` Chuck Lever III
2024-08-29 13:26 ` [PATCH v3 02/13] nfsd: untangle code in nfsd4_deleg_getattr_conflict() Jeff Layton
2024-08-29 13:26 ` [PATCH v3 03/13] nfsd: drop the ncf_cb_bmap field Jeff Layton
2024-09-04 15:20   ` Chuck Lever
2024-09-04 16:58     ` Jeff Layton
2024-09-04 17:28       ` Chuck Lever III
2024-09-04 17:39         ` Jeff Layton
2024-09-04 17:45           ` Chuck Lever III
2024-09-05  1:44             ` NeilBrown
2024-08-29 13:26 ` [PATCH v3 04/13] nfsd: drop the nfsd4_fattr_args "size" field Jeff Layton
2024-08-29 13:26 ` [PATCH v3 05/13] nfsd: have nfsd4_deleg_getattr_conflict pass back write deleg pointer Jeff Layton
2024-08-29 13:26 ` [PATCH v3 06/13] nfsd: add pragma public to delegated timestamp types Jeff Layton
2024-08-29 15:19   ` Chuck Lever
2024-08-29 13:26 ` [PATCH v3 07/13] nfsd: fix reported change attr on a write delegation Jeff Layton
2024-08-29 13:26 ` [PATCH v3 08/13] nfs_common: make nfs4.h include generated nfs4_1.h Jeff Layton
2024-08-29 15:13   ` Chuck Lever
2024-08-29 15:28     ` Chuck Lever
2024-08-29 18:26     ` Jeff Layton
2024-08-29 19:02       ` Chuck Lever III
2024-08-30 14:48       ` Chuck Lever III
2024-08-30 15:44         ` Jeff Layton
2024-08-30 17:48           ` Jeff Layton
2024-08-29 13:26 ` [PATCH v3 09/13] nfsd: add support for FATTR4_OPEN_ARGUMENTS Jeff Layton
2024-08-29 13:26 ` [PATCH v3 10/13] nfsd: implement OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION Jeff Layton
2024-08-29 13:26 ` [PATCH v3 11/13] fs: handle delegated timestamps in setattr_copy_mgtime Jeff Layton
2024-09-02 13:22   ` Jan Kara
2024-08-29 13:26 ` [PATCH v3 12/13] nfsd: add support for delegated timestamps Jeff Layton
2024-08-29 13:26 ` [PATCH v3 13/13] nfsd: handle delegated timestamps in SETATTR Jeff Layton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).