From: Frank van der Linden <fllinden@amazon.com> To: <linux-nfs@vger.kernel.org>, <anna.schumaker@netapp.com>, <trond.myklebust@hammerspace.com> Cc: Frank van der Linden <fllinden@amazon.com> Subject: [PATCH v2 00/13] NFS client user xattr (RFC8276) support Date: Wed, 25 Mar 2020 23:10:38 +0000 Message-ID: <20200325231051.31652-1-fllinden@amazon.com> (raw) v1 is here: https://www.spinics.net/lists/linux-nfs/msg76740.html v2: * Move nfs4 specific definitions to nfs_fs4.h * Squash some patches together to avoid unused function warnings when bisecting. * Made determining server support a two-step process. First, the extended attribute FATTR is verified to be supported, then the value of the attributed is queried in fsinfo to determine support. * Fixed up Makefile to remove an unneeded extra line. This was tested as before (using my own stress tests), but also with xfstests-dev. No issues were found, but xfstests needs some fixes to correctly run the applicable xattr tests on NFS. I have those changes, but need to send them out. I also tested stress-ng-xattr with 1000 workers on the client side, running for 8 hours without problems (except for noting that the session tbl_lock can become quite hot when doing NFS operations by 1000 threads, but that's a separate issue). Frank van der Linden (13): nfs,nfsd: NFSv4.2 extended attribute protocol definitions nfs: add client side only definitions for user xattrs NFSv4.2: define limits and sizes for user xattr handling NFSv4.2: query the server for extended attribute support NFSv4.2: add client side XDR handling for extended attributes nfs: define nfs_access_get_cached function NFSv4.2: query the extended attribute access bits nfs: modify update_changeattr to deal with regular files nfs: define and use the NFS_INO_INVALID_XATTR flag nfs: make the buf_to_pages_noslab function available to the nfs code NFSv4.2: add the extended attribute proc functions. NFSv4.2: hook in the user extended attribute handlers NFSv4.2: add client side xattr caching. fs/nfs/Makefile | 2 +- fs/nfs/client.c | 22 +- fs/nfs/dir.c | 24 +- fs/nfs/inode.c | 16 +- fs/nfs/nfs42.h | 24 + fs/nfs/nfs42proc.c | 248 ++++++++ fs/nfs/nfs42xattr.c | 1083 +++++++++++++++++++++++++++++++++++ fs/nfs/nfs42xdr.c | 438 ++++++++++++++ fs/nfs/nfs4_fs.h | 35 ++ fs/nfs/nfs4client.c | 31 + fs/nfs/nfs4proc.c | 237 +++++++- fs/nfs/nfs4super.c | 10 + fs/nfs/nfs4xdr.c | 31 + fs/nfs/nfstrace.h | 3 +- include/linux/nfs4.h | 25 + include/linux/nfs_fs.h | 12 + include/linux/nfs_fs_sb.h | 6 + include/linux/nfs_xdr.h | 60 +- include/uapi/linux/nfs4.h | 3 + include/uapi/linux/nfs_fs.h | 1 + 20 files changed, 2269 insertions(+), 42 deletions(-) create mode 100644 fs/nfs/nfs42xattr.c -- 2.17.2
next reply index Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-25 23:10 Frank van der Linden [this message] 2020-03-25 23:10 ` [PATCH v2 01/13] nfs,nfsd: NFSv4.2 extended attribute protocol definitions Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 02/13] nfs: add client side only definitions for user xattrs Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 03/13] NFSv4.2: define limits and sizes for user xattr handling Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 04/13] NFSv4.2: query the server for extended attribute support Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 05/13] NFSv4.2: add client side XDR handling for extended attributes Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 06/13] nfs: define nfs_access_get_cached function Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 07/13] NFSv4.2: query the extended attribute access bits Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 08/13] nfs: modify update_changeattr to deal with regular files Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 09/13] nfs: define and use the NFS_INO_INVALID_XATTR flag Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 10/13] nfs: make the buf_to_pages_noslab function available to the nfs code Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 11/13] NFSv4.2: add the extended attribute proc functions Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 12/13] NFSv4.2: hook in the user extended attribute handlers Frank van der Linden 2020-03-25 23:10 ` [PATCH v2 13/13] NFSv4.2: add client side xattr caching Frank van der Linden 2020-03-26 19:03 ` [PATCH v2 00/13] NFS client user xattr (RFC8276) support Mkrtchyan, Tigran 2020-03-26 19:43 ` Frank van der Linden 2020-03-26 23:16 ` Frank van der Linden 2020-03-27 7:51 ` Mkrtchyan, Tigran [not found] ` <v2aze7-yqvuvfuc4i30-1xxisr-dr39sbpkxym7-2nbcltx37gs3ezoql-qoc5f45hvih45iurdv-lqtdu9ppbm6i-upakk-2awl3v-em4ktl4ip5gchvuicg-vgnve1-wbqe5p-fw96bj-ct2sjj-wlbpk7.1586002736523@email.android.com> 2020-06-08 15:52 ` Mkrtchyan, Tigran 2020-06-08 16:15 ` Anna Schumaker 2020-06-08 16:37 ` Mkrtchyan, Tigran 2020-06-08 16:47 ` Frank van der Linden 2020-06-08 16:52 ` Mkrtchyan, Tigran
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=20200325231051.31652-1-fllinden@amazon.com \ --to=fllinden@amazon.com \ --cc=anna.schumaker@netapp.com \ --cc=linux-nfs@vger.kernel.org \ --cc=trond.myklebust@hammerspace.com \ /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
Linux-NFS Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-nfs/0 linux-nfs/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-nfs linux-nfs/ https://lore.kernel.org/linux-nfs \ linux-nfs@vger.kernel.org public-inbox-index linux-nfs Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-nfs AGPL code for this site: git clone https://public-inbox.org/public-inbox.git