From: kernel test robot <lkp@intel.com>
To: trondmy@kernel.org, Anna Schumaker <anna@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-nfs@vger.kernel.org
Subject: Re: [PATCH] NFS: Avoid flushing data while holding directory locks in nfs_rename()
Date: Mon, 28 Apr 2025 10:35:29 +0800 [thread overview]
Message-ID: <202504281017.yCgdaZD3-lkp@intel.com> (raw)
In-Reply-To: <a804c54445a3f028007763e05285d765afcab0f9.1745794273.git.trond.myklebust@hammerspace.com>
Hi,
kernel test robot noticed the following build errors:
[auto build test ERROR on trondmy-nfs/linux-next]
[also build test ERROR on linus/master v6.15-rc3 next-20250424]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/trondmy-kernel-org/NFS-Avoid-flushing-data-while-holding-directory-locks-in-nfs_rename/20250428-070327
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
patch link: https://lore.kernel.org/r/a804c54445a3f028007763e05285d765afcab0f9.1745794273.git.trond.myklebust%40hammerspace.com
patch subject: [PATCH] NFS: Avoid flushing data while holding directory locks in nfs_rename()
config: sparc-randconfig-002-20250428 (https://download.01.org/0day-ci/archive/20250428/202504281017.yCgdaZD3-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250428/202504281017.yCgdaZD3-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504281017.yCgdaZD3-lkp@intel.com/
All errors (new ones prefixed by >>):
fs/nfs/client.c: In function 'nfs_create_server':
>> fs/nfs/client.c:1109:8: error: 'struct nfs_server' has no member named 'fh_expire_type'
server->fh_expire_type = NFS_FH_VOL_RENAME;
^~
>> fs/nfs/client.c:1109:27: error: 'NFS_FH_VOL_RENAME' undeclared (first use in this function); did you mean 'NFS4_FH_VOL_RENAME'?
server->fh_expire_type = NFS_FH_VOL_RENAME;
^~~~~~~~~~~~~~~~~
NFS4_FH_VOL_RENAME
fs/nfs/client.c:1109:27: note: each undeclared identifier is reported only once for each function it appears in
--
fs/nfs/dir.c: In function 'nfs_rename_is_unsafe_cross_dir':
>> fs/nfs/dir.c:2686:12: error: 'struct nfs_server' has no member named 'fh_expire_type'
if (server->fh_expire_type & NFS_FH_RENAME_UNSAFE)
^~
>> fs/nfs/dir.c:2686:31: error: 'NFS_FH_RENAME_UNSAFE' undeclared (first use in this function); did you mean 'TASK_FREEZABLE_UNSAFE'?
if (server->fh_expire_type & NFS_FH_RENAME_UNSAFE)
^~~~~~~~~~~~~~~~~~~~
TASK_FREEZABLE_UNSAFE
fs/nfs/dir.c:2686:31: note: each undeclared identifier is reported only once for each function it appears in
fs/nfs/dir.c:2687:18: error: 'struct nfs_server' has no member named 'fh_expire_type'
return !(server->fh_expire_type & NFS_FH_NOEXPIRE_WITH_OPEN);
^~
>> fs/nfs/dir.c:2687:37: error: 'NFS_FH_NOEXPIRE_WITH_OPEN' undeclared (first use in this function); did you mean 'NFS4_FH_NOEXPIRE_WITH_OPEN'?
return !(server->fh_expire_type & NFS_FH_NOEXPIRE_WITH_OPEN);
^~~~~~~~~~~~~~~~~~~~~~~~~
NFS4_FH_NOEXPIRE_WITH_OPEN
vim +1109 fs/nfs/client.c
1067
1068 /*
1069 * Create a version 2 or 3 volume record
1070 * - keyed on server and FSID
1071 */
1072 struct nfs_server *nfs_create_server(struct fs_context *fc)
1073 {
1074 struct nfs_fs_context *ctx = nfs_fc2context(fc);
1075 struct nfs_server *server;
1076 struct nfs_fattr *fattr;
1077 int error;
1078
1079 server = nfs_alloc_server();
1080 if (!server)
1081 return ERR_PTR(-ENOMEM);
1082
1083 server->cred = get_cred(fc->cred);
1084
1085 error = -ENOMEM;
1086 fattr = nfs_alloc_fattr();
1087 if (fattr == NULL)
1088 goto error;
1089
1090 /* Get a client representation */
1091 error = nfs_init_server(server, fc);
1092 if (error < 0)
1093 goto error;
1094
1095 /* Probe the root fh to retrieve its FSID */
1096 error = nfs_probe_fsinfo(server, ctx->mntfh, fattr);
1097 if (error < 0)
1098 goto error;
1099 if (server->nfs_client->rpc_ops->version == 3) {
1100 if (server->namelen == 0 || server->namelen > NFS3_MAXNAMLEN)
1101 server->namelen = NFS3_MAXNAMLEN;
1102 if (!(ctx->flags & NFS_MOUNT_NORDIRPLUS))
1103 server->caps |= NFS_CAP_READDIRPLUS;
1104 } else {
1105 if (server->namelen == 0 || server->namelen > NFS2_MAXNAMLEN)
1106 server->namelen = NFS2_MAXNAMLEN;
1107 }
1108 /* Linux 'subtree_check' borkenness mandates this setting */
> 1109 server->fh_expire_type = NFS_FH_VOL_RENAME;
1110
1111 if (!(fattr->valid & NFS_ATTR_FATTR)) {
1112 error = ctx->nfs_mod->rpc_ops->getattr(server, ctx->mntfh,
1113 fattr, NULL);
1114 if (error < 0) {
1115 dprintk("nfs_create_server: getattr error = %d\n", -error);
1116 goto error;
1117 }
1118 }
1119 memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid));
1120
1121 dprintk("Server FSID: %llx:%llx\n",
1122 (unsigned long long) server->fsid.major,
1123 (unsigned long long) server->fsid.minor);
1124
1125 nfs_server_insert_lists(server);
1126 server->mount_time = jiffies;
1127 nfs_free_fattr(fattr);
1128 return server;
1129
1130 error:
1131 nfs_free_fattr(fattr);
1132 nfs_free_server(server);
1133 return ERR_PTR(error);
1134 }
1135 EXPORT_SYMBOL_GPL(nfs_create_server);
1136
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-04-28 2:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-27 23:01 [PATCH] NFS: Avoid flushing data while holding directory locks in nfs_rename() trondmy
2025-04-28 1:53 ` kernel test robot
2025-04-28 2:35 ` kernel test robot [this message]
2025-04-29 16:14 ` Chuck Lever
2025-04-29 16:54 ` Jeff Layton
2025-04-29 23:22 ` Trond Myklebust
2025-04-30 13:28 ` Chuck Lever
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=202504281017.yCgdaZD3-lkp@intel.com \
--to=lkp@intel.com \
--cc=anna@kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=trondmy@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