mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-24 14:54:49 +08:00
staging/lustre: Get rid of an ugly statfs hack in lov_iocontrol
For some crazy reason ll_obd_statfs decided to decode async flag passed from userspace and then pass it via a userspace pointer argument to lov_iocontrol. This patch moves flags decoding to lov_iocontrol where it belongs. Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4eb53dfd23
commit
44164fc992
@ -2026,7 +2026,6 @@ int ll_obd_statfs(struct inode *inode, void *arg)
|
|||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
struct obd_ioctl_data *data = NULL;
|
struct obd_ioctl_data *data = NULL;
|
||||||
__u32 type;
|
__u32 type;
|
||||||
__u32 flags;
|
|
||||||
int len = 0, rc;
|
int len = 0, rc;
|
||||||
|
|
||||||
if (!inode) {
|
if (!inode) {
|
||||||
@ -2069,8 +2068,7 @@ int ll_obd_statfs(struct inode *inode, void *arg)
|
|||||||
goto out_statfs;
|
goto out_statfs;
|
||||||
}
|
}
|
||||||
|
|
||||||
flags = (type & LL_STATFS_NODELAY) ? OBD_STATFS_NODELAY : 0;
|
rc = obd_iocontrol(IOC_OBD_STATFS, exp, len, buf, NULL);
|
||||||
rc = obd_iocontrol(IOC_OBD_STATFS, exp, len, buf, &flags);
|
|
||||||
if (rc)
|
if (rc)
|
||||||
goto out_statfs;
|
goto out_statfs;
|
||||||
out_statfs:
|
out_statfs:
|
||||||
|
@ -1420,7 +1420,9 @@ static int lov_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
|
|||||||
(int) sizeof(struct obd_uuid))))
|
(int) sizeof(struct obd_uuid))))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
flags = uarg ? *(__u32 *)uarg : 0;
|
memcpy(&flags, data->ioc_inlbuf1, sizeof(__u32));
|
||||||
|
flags = flags & LL_STATFS_NODELAY ? OBD_STATFS_NODELAY : 0;
|
||||||
|
|
||||||
/* got statfs data */
|
/* got statfs data */
|
||||||
rc = obd_statfs(NULL, lov->lov_tgts[index]->ltd_exp, &stat_buf,
|
rc = obd_statfs(NULL, lov->lov_tgts[index]->ltd_exp, &stat_buf,
|
||||||
cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
|
cfs_time_shift_64(-OBD_STATFS_CACHE_SECONDS),
|
||||||
|
Loading…
Reference in New Issue
Block a user