Commit 44164fc9 authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman

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: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4eb53dfd
...@@ -2026,7 +2026,6 @@ int ll_obd_statfs(struct inode *inode, void *arg) ...@@ -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) ...@@ -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, ...@@ -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),
......
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