From: Al Viro Date: Sun, 3 Nov 2024 20:20:15 +0000 (-0500) Subject: libfs: kill empty_dir_getattr() X-Git-Tag: v6.13-rc1~215^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6c056ae4b27575d9230b883498d3cd02315ce6cc;p=thirdparty%2Fkernel%2Flinux.git libfs: kill empty_dir_getattr() It's used only to initialize ->getattr in one inode_operations instance (empty_dir_inode_operations) and its behaviour had always been equivalent to what we get with NULL ->getattr. Just remove that initializer, along with empty_dir_getattr() itself. While we are at it, the same instance has ->permission initialized to generic_permission, which is what NULL ->permission ends up doing. Again, no point keeping it. Reviewed-by: Christian Brauner Signed-off-by: Al Viro --- diff --git a/fs/libfs.c b/fs/libfs.c index 46966fd8bcf9f..12f5185f3fa98 100644 --- a/fs/libfs.c +++ b/fs/libfs.c @@ -1711,15 +1711,6 @@ static struct dentry *empty_dir_lookup(struct inode *dir, struct dentry *dentry, return ERR_PTR(-ENOENT); } -static int empty_dir_getattr(struct mnt_idmap *idmap, - const struct path *path, struct kstat *stat, - u32 request_mask, unsigned int query_flags) -{ - struct inode *inode = d_inode(path->dentry); - generic_fillattr(&nop_mnt_idmap, request_mask, inode, stat); - return 0; -} - static int empty_dir_setattr(struct mnt_idmap *idmap, struct dentry *dentry, struct iattr *attr) { @@ -1733,9 +1724,7 @@ static ssize_t empty_dir_listxattr(struct dentry *dentry, char *list, size_t siz static const struct inode_operations empty_dir_inode_operations = { .lookup = empty_dir_lookup, - .permission = generic_permission, .setattr = empty_dir_setattr, - .getattr = empty_dir_getattr, .listxattr = empty_dir_listxattr, };