On Wed, Oct 07, 2020 at 09:25:12PM -0400, Dai Ngo wrote: > This cover email is intended for including my test results. > > This patch adds the ops table in nfs_common for knfsd to access > NFS client modules without calling these functions directly. > > The client module registers their functions and deregisters them > when the module is loaded and unloaded respectively. > > fs/nfs/nfs4file.c | 44 ++++++++++++-- > fs/nfs/nfs4super.c | 6 ++ > fs/nfs/super.c | 20 +++++++ > fs/nfs_common/Makefile | 1 + > fs/nfs_common/nfs_ssc.c | 136 +++++++++++++++++++++++++++++++++++++++++++ > fs/nfsd/Kconfig | 2 +- > fs/nfsd/nfs4proc.c | 3 +- > include/linux/nfs_ssc.h | 77 ++++++++++++++++++++++++ > 8 files changed, 281 insertions(+), 8 deletions(-) > > Test Results: > > Upstream version used for testing: 5.9-rc5 > > |----------------------------------------------------------| > | NFSD | NFS_FS | NFS_V4 | RESULTS | > |----------------------------------------------------------| > | m | y | m | inter server copy OK | > |----------------------------------------------------------| > | m | m | m | inter server copy OK | > |----------------------------------------------------------| > | m | m | y (m) | inter server copy OK | > |----------------------------------------------------------| > | m | y | y | inter server copy OK | > |----------------------------------------------------------| > | m | n | n | NFS4ERR_STALE error | > |----------------------------------------------------------| Why are there two? And how are you getting that NFS4ERR_STALE case? NFSD_V4_2_INTER_SSC depends on NFS_FS, so it shouldn't be possible to build server-to-server-copy support without building the client. And if you don't build NFSD_V4_2_INTER_SSC at all, then I think it should be returning NOTSUPP instead of STALE. --b. > |----------------------------------------------------------| > | NFSD | NFS_FS | NFS_V4 | RESULTS | > |----------------------------------------------------------| > | y | y | m | inter server copy OK | > |----------------------------------------------------------| > | y | m | m | inter server copy OK | > |----------------------------------------------------------| > | y | m | y (m) | inter server copy OK | > |----------------------------------------------------------| > | y | y | y | inter server copy OK | > |----------------------------------------------------------| > | y | n | n | NFS4ERR_STALE error | > |----------------------------------------------------------| > > NOTE: > When NFS_V4=y and NFS_FS=m, the build process automatically builds > with NFS_V4=m and ignores the setting NFS_V4=y in the config file. > > This probably due to NFS_V4 in fs/nfs/Kconfig is configured to > depend on NFS_FS.