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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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);
|
||||
case FITRIM:
|
||||
return gfs2_fitrim(filp, (void __user *)arg);
|
||||
case FS_IOC_GETFSLABEL:
|
||||
return gfs2_getlabel(filp, (char __user *)arg);
|
||||
}
|
||||
|
||||
return -ENOTTY;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue