summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAnna Schumaker <anna.schumaker@oracle.com>2025-11-04 10:06:43 -0500
committerTrond Myklebust <trond.myklebust@hammerspace.com>2025-11-23 16:01:47 -0500
commit2da211670782637fd2d4fbba06f91d1e7c70dc0c (patch)
treec0ca596470a71abc07a81ce572aa24dfb35e4f83 /include/linux
parent156b0948293362b036caf49e6e4d97cae30201de (diff)
NFS: Request a directory delegation during RENAME
If we notice that we're renaming a file within a directory then we take that as a sign that the user is working with the current directory and may want a delegation to avoid extra revalidations when possible. The nfs_request_directory_delegation() function exists within the NFS v4 module, so I add an extra flag to rename_setup() to indicate if a dentry is being renamed within the same parent directory. Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nfs_xdr.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 8bf6cba96c46..79fe2dfb470f 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1808,7 +1808,8 @@ struct nfs_rpc_ops {
int (*unlink_done) (struct rpc_task *, struct inode *);
void (*rename_setup) (struct rpc_message *msg,
struct dentry *old_dentry,
- struct dentry *new_dentry);
+ struct dentry *new_dentry,
+ struct inode *same_parent);
void (*rename_rpc_prepare)(struct rpc_task *task, struct nfs_renamedata *);
int (*rename_done) (struct rpc_task *task, struct inode *old_dir, struct inode *new_dir);
int (*link) (struct inode *, struct inode *, const struct qstr *);