two requirements: no file creations in IS_DEADDIR and no cross-directory renames whatsoever.
Showing the changes to include/linux (3 of 9 files). Show all
Unified · Split
| @@ -83,7 +83,7 @@ struct dentry *debugfs_create_automount(const char *name, · 82 unmodified lines | |||
| 83 | void *data); | 83 | void *data); |
| 84 | 84 | ||
| 85 | void debugfs_remove(struct dentry *dentry); | 85 | void debugfs_remove(struct dentry *dentry); |
| 86 | void debugfs_remove_recursive(struct dentry *dentry); | 86 | #define debugfs_remove_recursive debugfs_remove |
| 87 | 87 | ||
| 88 | const struct file_operations *debugfs_real_fops(const struct file *filp); | 88 | const struct file_operations *debugfs_real_fops(const struct file *filp); |
| 89 | 89 | ||
| @@ -3303,6 +3303,8 @@ extern int simple_unlink(struct inode *, struct dentry *); · 3302 unmodified lines | |||
| 3303 | extern int simple_rmdir(struct inode *, struct dentry *); | 3303 | extern int simple_rmdir(struct inode *, struct dentry *); |
| 3304 | extern int simple_rename(struct inode *, struct dentry *, | 3304 | extern int simple_rename(struct inode *, struct dentry *, |
| 3305 | struct inode *, struct dentry *, unsigned int); | 3305 | struct inode *, struct dentry *, unsigned int); |
| 3306 | extern void simple_recursive_removal(struct dentry *, | ||
| 3307 | void (*callback)(struct dentry *)); | ||
| 3306 | extern int noop_fsync(struct file *, loff_t, loff_t, int); | 3308 | extern int noop_fsync(struct file *, loff_t, loff_t, int); |
| 3307 | extern int noop_set_page_dirty(struct page *page); | 3309 | extern int noop_set_page_dirty(struct page *page); |
| 3308 | extern void noop_invalidatepage(struct page *page, unsigned int offset, | 3310 | extern void noop_invalidatepage(struct page *page, unsigned int offset, |
| @@ -28,7 +28,6 @@ struct dentry *tracefs_create_file(const char *name, umode_t mode, · 27 unmodified lines | |||
| 28 | struct dentry *tracefs_create_dir(const char *name, struct dentry *parent); | 28 | struct dentry *tracefs_create_dir(const char *name, struct dentry *parent); |
| 29 | 29 | ||
| 30 | void tracefs_remove(struct dentry *dentry); | 30 | void tracefs_remove(struct dentry *dentry); |
| 31 | void tracefs_remove_recursive(struct dentry *dentry); | ||
| 32 | 31 | ||
| 33 | struct dentry *tracefs_create_instance_dir(const char *name, struct dentry *parent, | 32 | struct dentry *tracefs_create_instance_dir(const char *name, struct dentry *parent, |
| 34 | int (*mkdir)(const char *name), | 33 | int (*mkdir)(const char *name), |