diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2016-09-27 11:03:57 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2016-09-27 11:03:57 +0200 |
commit | e0e0be8a835520e2f7c89f214dfda570922a1b90 (patch) | |
tree | 42033a89a20c26dc0f19e9119803885b1f7a06c6 /fs/debugfs | |
parent | fs: support RENAME_NOREPLACE for local filesystems (diff) | |
download | linux-e0e0be8a835520e2f7c89f214dfda570922a1b90.tar.xz linux-e0e0be8a835520e2f7c89f214dfda570922a1b90.zip |
libfs: support RENAME_NOREPLACE in simple_rename()
This is trivial to do:
- add flags argument to simple_rename()
- check if flags doesn't have any other than RENAME_NOREPLACE
- assign simple_rename() to .rename2 instead of .rename
Filesystems converted:
hugetlbfs, ramfs, bpf.
Debugfs uses simple_rename() to implement debugfs_rename(), which is for
debugfs instances to rename files internally, not for userspace filesystem
access. For this case pass zero flags to simple_rename().
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'fs/debugfs')
-rw-r--r-- | fs/debugfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index 72361baf9da7..5ac27c9de669 100644 --- a/fs/debugfs/inode.c +++ b/fs/debugfs/inode.c @@ -748,7 +748,7 @@ struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry, old_name = fsnotify_oldname_init(old_dentry->d_name.name); error = simple_rename(d_inode(old_dir), old_dentry, d_inode(new_dir), - dentry); + dentry, 0); if (error) { fsnotify_oldname_free(old_name); goto exit; |