mirror of https://gitee.com/openkylin/linux.git
gfs2: getlabel support
Add support for the GETFSLABEL ioctl in gfs2. I tested this patch and it works as expected. Signed-off-by: Steve Whitehouse <swhiteho@redhat.com> Tested-by: Abhi Das <adas@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
This commit is contained in:
parent
1eb8d73879
commit
6ddc5c3ddf
|
@ -314,6 +314,17 @@ static int gfs2_set_flags(struct file *filp, u32 __user *ptr)
|
||||||
return do_gfs2_set_flags(filp, gfsflags, mask);
|
return do_gfs2_set_flags(filp, gfsflags, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int gfs2_getlabel(struct file *filp, char __user *label)
|
||||||
|
{
|
||||||
|
struct inode *inode = file_inode(filp);
|
||||||
|
struct gfs2_sbd *sdp = GFS2_SB(inode);
|
||||||
|
|
||||||
|
if (copy_to_user(label, sdp->sd_sb.sb_locktable, GFS2_LOCKNAME_LEN))
|
||||||
|
return -EFAULT;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
switch(cmd) {
|
switch(cmd) {
|
||||||
|
@ -323,7 +334,10 @@ static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
return gfs2_set_flags(filp, (u32 __user *)arg);
|
return gfs2_set_flags(filp, (u32 __user *)arg);
|
||||||
case FITRIM:
|
case FITRIM:
|
||||||
return gfs2_fitrim(filp, (void __user *)arg);
|
return gfs2_fitrim(filp, (void __user *)arg);
|
||||||
|
case FS_IOC_GETFSLABEL:
|
||||||
|
return gfs2_getlabel(filp, (char __user *)arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
return -ENOTTY;
|
return -ENOTTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue