aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-11-18 09:43:10 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2019-12-10 22:29:58 -0500
commita3d1e7eb5abe3aa1095bc75d1a6760d3809bd672 (patch)
tree1dce9bdc1052f0a94dffe67526e38f5a8202164f /include/linux/fs.h
parentLinux 5.5-rc1 (diff)
downloadlinux-dev-a3d1e7eb5abe3aa1095bc75d1a6760d3809bd672.tar.xz
linux-dev-a3d1e7eb5abe3aa1095bc75d1a6760d3809bd672.zip
simple_recursive_removal(): kernel-side rm -rf for ramfs-style filesystems
two requirements: no file creations in IS_DEADDIR and no cross-directory renames whatsoever. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 98e0349adb52..9a2be7c0c088 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -3303,6 +3303,8 @@ extern int simple_unlink(struct inode *, struct dentry *);
extern int simple_rmdir(struct inode *, struct dentry *);
extern int simple_rename(struct inode *, struct dentry *,
struct inode *, struct dentry *, unsigned int);
+extern void simple_recursive_removal(struct dentry *,
+ void (*callback)(struct dentry *));
extern int noop_fsync(struct file *, loff_t, loff_t, int);
extern int noop_set_page_dirty(struct page *page);
extern void noop_invalidatepage(struct page *page, unsigned int offset,