Message ID | 20240131-flsplit-v3-0-c6129007ee8d@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | filelock: split file leases out of struct file_lock | expand |
On Thu, 01 Feb 2024, Jeff Layton wrote: > I'm not sure this is much prettier than the last, but contracting > "fl_core" to "c", as Neil suggested is a bit easier on the eyes. > > I also added a few small helpers and converted several users over to > them. That reduces the size of the per-fs conversion patches later in > the series. I played with some others too, but they were too awkward > or not frequently used enough to make it worthwhile. > > Many thanks to Chuck and Neil for the earlier R-b's and comments. I've > dropped those for now since this set is a bit different from the last. > > I'd like to get this into linux-next soon and we can see about merging > it for v6.9, unless anyone has major objections. For all patches: Reviewed-by: NeilBrown <neilb@suse.de> Thanks Jeff - I think this is a good and useful change and while it might not all be as pretty as I might like, I don't see any way to improve it and think it is certainly good enough to merge. I think the conversion from "fl_core" to "c" does work well enough. I particularly like how the removal of the IS_* macros (patch 16) turned out. The inline expansion of IS_LEASE() in particular makes the code clearer to me. Thanks, NeilBrown > > Thanks! > > Signed-off-by: Jeff Layton <jlayton@kernel.org> > --- > Changes in v3: > - Rename "flc_core" fields in file_lock and file_lease to "c" > - new helpers: locks_wake_up, for_each_file_lock, and lock_is_{unlock,read,write} > - Link to v2: https://lore.kernel.org/r/20240125-flsplit-v2-0-7485322b62c7@kernel.org > > Changes in v2: > - renamed file_lock_core fields to have "flc_" prefix > - used macros to more easily do the change piecemeal > - broke up patches into per-subsystem ones > - Link to v1: https://lore.kernel.org/r/20240116-flsplit-v1-0-c9d0f4370a5d@kernel.org > > --- > Jeff Layton (47): > filelock: fl_pid field should be signed int > filelock: rename some fields in tracepoints > filelock: rename fl_pid variable in lock_get_status > filelock: add some new helper functions > 9p: rename fl_type variable in v9fs_file_do_lock > afs: convert to using new filelock helpers > ceph: convert to using new filelock helpers > dlm: convert to using new filelock helpers > gfs2: convert to using new filelock helpers > lockd: convert to using new filelock helpers > nfs: convert to using new filelock helpers > nfsd: convert to using new filelock helpers > ocfs2: convert to using new filelock helpers > smb/client: convert to using new filelock helpers > smb/server: convert to using new filelock helpers > filelock: drop the IS_* macros > filelock: split common fields into struct file_lock_core > filelock: have fs/locks.c deal with file_lock_core directly > filelock: convert more internal functions to use file_lock_core > filelock: make posix_same_owner take file_lock_core pointers > filelock: convert posix_owner_key to take file_lock_core arg > filelock: make locks_{insert,delete}_global_locks take file_lock_core arg > filelock: convert locks_{insert,delete}_global_blocked > filelock: make __locks_delete_block and __locks_wake_up_blocks take file_lock_core > filelock: convert __locks_insert_block, conflict and deadlock checks to use file_lock_core > filelock: convert fl_blocker to file_lock_core > filelock: clean up locks_delete_block internals > filelock: reorganize locks_delete_block and __locks_insert_block > filelock: make assign_type helper take a file_lock_core pointer > filelock: convert locks_wake_up_blocks to take a file_lock_core pointer > filelock: convert locks_insert_lock_ctx and locks_delete_lock_ctx > filelock: convert locks_translate_pid to take file_lock_core > filelock: convert seqfile handling to use file_lock_core > 9p: adapt to breakup of struct file_lock > afs: adapt to breakup of struct file_lock > ceph: adapt to breakup of struct file_lock > dlm: adapt to breakup of struct file_lock > gfs2: adapt to breakup of struct file_lock > fuse: adapt to breakup of struct file_lock > lockd: adapt to breakup of struct file_lock > nfs: adapt to breakup of struct file_lock > nfsd: adapt to breakup of struct file_lock > ocfs2: adapt to breakup of struct file_lock > smb/client: adapt to breakup of struct file_lock > smb/server: adapt to breakup of struct file_lock > filelock: remove temporary compatibility macros > filelock: split leases out of struct file_lock > > fs/9p/vfs_file.c | 40 +- > fs/afs/flock.c | 60 +-- > fs/ceph/locks.c | 74 ++-- > fs/dlm/plock.c | 44 +-- > fs/fuse/file.c | 14 +- > fs/gfs2/file.c | 16 +- > fs/libfs.c | 2 +- > fs/lockd/clnt4xdr.c | 14 +- > fs/lockd/clntlock.c | 2 +- > fs/lockd/clntproc.c | 65 +-- > fs/lockd/clntxdr.c | 14 +- > fs/lockd/svc4proc.c | 10 +- > fs/lockd/svclock.c | 64 +-- > fs/lockd/svcproc.c | 10 +- > fs/lockd/svcsubs.c | 24 +- > fs/lockd/xdr.c | 14 +- > fs/lockd/xdr4.c | 14 +- > fs/locks.c | 851 ++++++++++++++++++++++------------------ > fs/nfs/delegation.c | 4 +- > fs/nfs/file.c | 22 +- > fs/nfs/nfs3proc.c | 2 +- > fs/nfs/nfs4_fs.h | 2 +- > fs/nfs/nfs4file.c | 2 +- > fs/nfs/nfs4proc.c | 39 +- > fs/nfs/nfs4state.c | 22 +- > fs/nfs/nfs4trace.h | 4 +- > fs/nfs/nfs4xdr.c | 8 +- > fs/nfs/write.c | 8 +- > fs/nfsd/filecache.c | 4 +- > fs/nfsd/nfs4callback.c | 2 +- > fs/nfsd/nfs4layouts.c | 34 +- > fs/nfsd/nfs4state.c | 120 +++--- > fs/ocfs2/locks.c | 12 +- > fs/ocfs2/stack_user.c | 2 +- > fs/open.c | 2 +- > fs/posix_acl.c | 4 +- > fs/smb/client/cifsfs.c | 2 +- > fs/smb/client/cifssmb.c | 8 +- > fs/smb/client/file.c | 78 ++-- > fs/smb/client/smb2file.c | 2 +- > fs/smb/server/smb2pdu.c | 44 +-- > fs/smb/server/vfs.c | 14 +- > include/linux/filelock.h | 103 +++-- > include/linux/fs.h | 5 +- > include/linux/lockd/lockd.h | 8 +- > include/linux/lockd/xdr.h | 2 +- > include/trace/events/afs.h | 4 +- > include/trace/events/filelock.h | 102 ++--- > 48 files changed, 1064 insertions(+), 933 deletions(-) > --- > base-commit: e96efe9f69ebb12b38c722c159413fd6850b782c > change-id: 20240116-flsplit-bdb46824db68 > > Best regards, > -- > Jeff Layton <jlayton@kernel.org> > >
On Wed, 31 Jan 2024 18:01:41 -0500, Jeff Layton wrote: > I'm not sure this is much prettier than the last, but contracting > "fl_core" to "c", as Neil suggested is a bit easier on the eyes. > > I also added a few small helpers and converted several users over to > them. That reduces the size of the per-fs conversion patches later in > the series. I played with some others too, but they were too awkward > or not frequently used enough to make it worthwhile. > > [...] Fyi, I've merged this series as in I've turned this series into a pull request based on the patches. And this has a merge commit of the following form: commit 363af2435e403ac323ab2543da91f5984047bdb8 Merge: 6613476e225e 6c6109548454 Author: Christian Brauner <brauner@kernel.org> AuthorDate: Fri Feb 2 12:09:26 2024 +0100 Commit: Christian Brauner <brauner@kernel.org> CommitDate: Fri Feb 2 12:09:26 2024 +0100 Merge patch series "filelock: split file leases out of struct file_lock" Pull file locking patch series from Jeff Layton: For larger series such as this this is what I think we should end up doing because it gives bigger series an overall summary without forcing the author to always provide a tag or branch or whatever. Often the cover letter description is good for long term contributors already. So I stole most of it from v1. Thanks for basing this on a mainline tag! --- Applied to the vfs.file branch of the vfs/vfs.git tree. Patches in the vfs.file branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs.file [01/47] filelock: fl_pid field should be signed int https://git.kernel.org/vfs/vfs/c/0e9876d8e88d [02/47] filelock: rename some fields in tracepoints https://git.kernel.org/vfs/vfs/c/587a67b6830b [03/47] filelock: rename fl_pid variable in lock_get_status https://git.kernel.org/vfs/vfs/c/6021d62c677f [04/47] filelock: add some new helper functions https://git.kernel.org/vfs/vfs/c/403594111407 [05/47] 9p: rename fl_type variable in v9fs_file_do_lock https://git.kernel.org/vfs/vfs/c/2911c0e3a5dd [06/47] afs: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/46a9b98baecc [07/47] ceph: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/7c82f3103915 [08/47] dlm: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/7851cb526662 [09/47] gfs2: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/47bc8fa51b46 [10/47] lockd: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/b9570e87b652 [11/47] nfs: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/28ad1884a338 [12/47] nfsd: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/4e2cd366d826 [13/47] ocfs2: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/a336b91b2340 [14/47] smb/client: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/39647541cb26 [15/47] smb/server: convert to using new filelock helpers https://git.kernel.org/vfs/vfs/c/1d9b1c4525f6 [16/47] filelock: drop the IS_* macros https://git.kernel.org/vfs/vfs/c/22716eba8323 [17/47] filelock: split common fields into struct file_lock_core https://git.kernel.org/vfs/vfs/c/b2566e35e7d6 [18/47] filelock: have fs/locks.c deal with file_lock_core directly https://git.kernel.org/vfs/vfs/c/424dc929f8f1 [19/47] filelock: convert more internal functions to use file_lock_core https://git.kernel.org/vfs/vfs/c/2d1cfb3cf69e [20/47] filelock: make posix_same_owner take file_lock_core pointers https://git.kernel.org/vfs/vfs/c/c91b6f218894 [21/47] filelock: convert posix_owner_key to take file_lock_core arg https://git.kernel.org/vfs/vfs/c/6944d789d1a1 [22/47] filelock: make locks_{insert,delete}_global_locks take file_lock_core arg https://git.kernel.org/vfs/vfs/c/ff30006ce158 [23/47] filelock: convert locks_{insert,delete}_global_blocked https://git.kernel.org/vfs/vfs/c/b7ae01bb4138 [24/47] filelock: make __locks_delete_block and __locks_wake_up_blocks take file_lock_core https://git.kernel.org/vfs/vfs/c/6ada65e99171 [25/47] filelock: convert __locks_insert_block, conflict and deadlock checks to use file_lock_core https://git.kernel.org/vfs/vfs/c/f449edd19f07 [26/47] filelock: convert fl_blocker to file_lock_core https://git.kernel.org/vfs/vfs/c/9bb41e6b6ea5 [27/47] filelock: clean up locks_delete_block internals https://git.kernel.org/vfs/vfs/c/78d1567cb873 [28/47] filelock: reorganize locks_delete_block and __locks_insert_block https://git.kernel.org/vfs/vfs/c/b261e8d3d5eb [29/47] filelock: make assign_type helper take a file_lock_core pointer https://git.kernel.org/vfs/vfs/c/ae37275d53ed [30/47] filelock: convert locks_wake_up_blocks to take a file_lock_core pointer https://git.kernel.org/vfs/vfs/c/acd1c6f76c17 [31/47] filelock: convert locks_insert_lock_ctx and locks_delete_lock_ctx https://git.kernel.org/vfs/vfs/c/77d7ed489db4 [32/47] filelock: convert locks_translate_pid to take file_lock_core https://git.kernel.org/vfs/vfs/c/e2c23bf73104 [33/47] filelock: convert seqfile handling to use file_lock_core https://git.kernel.org/vfs/vfs/c/a15d945405a3 [34/47] 9p: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/d09f798f208c [35/47] afs: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/febb326af51b [36/47] ceph: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/afd5898079d2 [37/47] dlm: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/f40b314ab0f2 [38/47] gfs2: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/f1b0d238e179 [39/47] fuse: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/ca2a24a9ff7f [40/47] lockd: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/1c910b2459cf [41/47] nfs: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/455100f41471 [42/47] nfsd: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/48c7900f7b21 [43/47] ocfs2: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/b7b8c39a9587 [44/47] smb/client: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/7cd03c482447 [45/47] smb/server: adapt to breakup of struct file_lock https://git.kernel.org/vfs/vfs/c/5087b21fd5ee [46/47] filelock: remove temporary compatibility macros https://git.kernel.org/vfs/vfs/c/e0bde6d6d7e3 [47/47] filelock: split leases out of struct file_lock https://git.kernel.org/vfs/vfs/c/6c6109548454
I'm not sure this is much prettier than the last, but contracting "fl_core" to "c", as Neil suggested is a bit easier on the eyes. I also added a few small helpers and converted several users over to them. That reduces the size of the per-fs conversion patches later in the series. I played with some others too, but they were too awkward or not frequently used enough to make it worthwhile. Many thanks to Chuck and Neil for the earlier R-b's and comments. I've dropped those for now since this set is a bit different from the last. I'd like to get this into linux-next soon and we can see about merging it for v6.9, unless anyone has major objections. Thanks! Signed-off-by: Jeff Layton <jlayton@kernel.org> --- Changes in v3: - Rename "flc_core" fields in file_lock and file_lease to "c" - new helpers: locks_wake_up, for_each_file_lock, and lock_is_{unlock,read,write} - Link to v2: https://lore.kernel.org/r/20240125-flsplit-v2-0-7485322b62c7@kernel.org Changes in v2: - renamed file_lock_core fields to have "flc_" prefix - used macros to more easily do the change piecemeal - broke up patches into per-subsystem ones - Link to v1: https://lore.kernel.org/r/20240116-flsplit-v1-0-c9d0f4370a5d@kernel.org --- Jeff Layton (47): filelock: fl_pid field should be signed int filelock: rename some fields in tracepoints filelock: rename fl_pid variable in lock_get_status filelock: add some new helper functions 9p: rename fl_type variable in v9fs_file_do_lock afs: convert to using new filelock helpers ceph: convert to using new filelock helpers dlm: convert to using new filelock helpers gfs2: convert to using new filelock helpers lockd: convert to using new filelock helpers nfs: convert to using new filelock helpers nfsd: convert to using new filelock helpers ocfs2: convert to using new filelock helpers smb/client: convert to using new filelock helpers smb/server: convert to using new filelock helpers filelock: drop the IS_* macros filelock: split common fields into struct file_lock_core filelock: have fs/locks.c deal with file_lock_core directly filelock: convert more internal functions to use file_lock_core filelock: make posix_same_owner take file_lock_core pointers filelock: convert posix_owner_key to take file_lock_core arg filelock: make locks_{insert,delete}_global_locks take file_lock_core arg filelock: convert locks_{insert,delete}_global_blocked filelock: make __locks_delete_block and __locks_wake_up_blocks take file_lock_core filelock: convert __locks_insert_block, conflict and deadlock checks to use file_lock_core filelock: convert fl_blocker to file_lock_core filelock: clean up locks_delete_block internals filelock: reorganize locks_delete_block and __locks_insert_block filelock: make assign_type helper take a file_lock_core pointer filelock: convert locks_wake_up_blocks to take a file_lock_core pointer filelock: convert locks_insert_lock_ctx and locks_delete_lock_ctx filelock: convert locks_translate_pid to take file_lock_core filelock: convert seqfile handling to use file_lock_core 9p: adapt to breakup of struct file_lock afs: adapt to breakup of struct file_lock ceph: adapt to breakup of struct file_lock dlm: adapt to breakup of struct file_lock gfs2: adapt to breakup of struct file_lock fuse: adapt to breakup of struct file_lock lockd: adapt to breakup of struct file_lock nfs: adapt to breakup of struct file_lock nfsd: adapt to breakup of struct file_lock ocfs2: adapt to breakup of struct file_lock smb/client: adapt to breakup of struct file_lock smb/server: adapt to breakup of struct file_lock filelock: remove temporary compatibility macros filelock: split leases out of struct file_lock fs/9p/vfs_file.c | 40 +- fs/afs/flock.c | 60 +-- fs/ceph/locks.c | 74 ++-- fs/dlm/plock.c | 44 +-- fs/fuse/file.c | 14 +- fs/gfs2/file.c | 16 +- fs/libfs.c | 2 +- fs/lockd/clnt4xdr.c | 14 +- fs/lockd/clntlock.c | 2 +- fs/lockd/clntproc.c | 65 +-- fs/lockd/clntxdr.c | 14 +- fs/lockd/svc4proc.c | 10 +- fs/lockd/svclock.c | 64 +-- fs/lockd/svcproc.c | 10 +- fs/lockd/svcsubs.c | 24 +- fs/lockd/xdr.c | 14 +- fs/lockd/xdr4.c | 14 +- fs/locks.c | 851 ++++++++++++++++++++++------------------ fs/nfs/delegation.c | 4 +- fs/nfs/file.c | 22 +- fs/nfs/nfs3proc.c | 2 +- fs/nfs/nfs4_fs.h | 2 +- fs/nfs/nfs4file.c | 2 +- fs/nfs/nfs4proc.c | 39 +- fs/nfs/nfs4state.c | 22 +- fs/nfs/nfs4trace.h | 4 +- fs/nfs/nfs4xdr.c | 8 +- fs/nfs/write.c | 8 +- fs/nfsd/filecache.c | 4 +- fs/nfsd/nfs4callback.c | 2 +- fs/nfsd/nfs4layouts.c | 34 +- fs/nfsd/nfs4state.c | 120 +++--- fs/ocfs2/locks.c | 12 +- fs/ocfs2/stack_user.c | 2 +- fs/open.c | 2 +- fs/posix_acl.c | 4 +- fs/smb/client/cifsfs.c | 2 +- fs/smb/client/cifssmb.c | 8 +- fs/smb/client/file.c | 78 ++-- fs/smb/client/smb2file.c | 2 +- fs/smb/server/smb2pdu.c | 44 +-- fs/smb/server/vfs.c | 14 +- include/linux/filelock.h | 103 +++-- include/linux/fs.h | 5 +- include/linux/lockd/lockd.h | 8 +- include/linux/lockd/xdr.h | 2 +- include/trace/events/afs.h | 4 +- include/trace/events/filelock.h | 102 ++--- 48 files changed, 1064 insertions(+), 933 deletions(-) --- base-commit: e96efe9f69ebb12b38c722c159413fd6850b782c change-id: 20240116-flsplit-bdb46824db68 Best regards,