Commit 8a4ef7e2 authored by Hongbo Li's avatar Hongbo Li Committed by Kent Overstreet

bcachefs: implement FS_IOC_GETVERSION to support lsattr

In this patch we add the FS_IOC_GETVERSION ioctl for getting
i_generation from inode, after that, users can list file's
generation number by using "lsattr".
Signed-off-by: default avatarHongbo Li <lihongbo22@huawei.com>
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 889fb3dc
...@@ -272,6 +272,11 @@ static int bch2_ioc_reinherit_attrs(struct bch_fs *c, ...@@ -272,6 +272,11 @@ static int bch2_ioc_reinherit_attrs(struct bch_fs *c,
return ret; return ret;
} }
static int bch2_ioc_getversion(struct bch_inode_info *inode, u32 __user *arg)
{
return put_user(inode->v.i_generation, arg);
}
static int bch2_ioc_goingdown(struct bch_fs *c, u32 __user *arg) static int bch2_ioc_goingdown(struct bch_fs *c, u32 __user *arg)
{ {
u32 flags; u32 flags;
...@@ -499,7 +504,7 @@ long bch2_fs_file_ioctl(struct file *file, unsigned cmd, unsigned long arg) ...@@ -499,7 +504,7 @@ long bch2_fs_file_ioctl(struct file *file, unsigned cmd, unsigned long arg)
break; break;
case FS_IOC_GETVERSION: case FS_IOC_GETVERSION:
ret = -ENOTTY; ret = bch2_ioc_getversion(inode, (u32 __user *) arg);
break; break;
case FS_IOC_SETVERSION: case FS_IOC_SETVERSION:
...@@ -547,6 +552,9 @@ long bch2_compat_fs_ioctl(struct file *file, unsigned cmd, unsigned long arg) ...@@ -547,6 +552,9 @@ long bch2_compat_fs_ioctl(struct file *file, unsigned cmd, unsigned long arg)
case FS_IOC32_SETFLAGS: case FS_IOC32_SETFLAGS:
cmd = FS_IOC_SETFLAGS; cmd = FS_IOC_SETFLAGS;
break; break;
case FS_IOC32_GETVERSION:
cmd = FS_IOC_GETVERSION;
break;
default: default:
return -ENOIOCTLCMD; return -ENOIOCTLCMD;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment