lmdp = (struct lov_user_mds_data *)arg;
lump = &lmdp->lmd_lmm;
}
- if (cfs_copy_to_user(lump, lmm, lmmsize))
- GOTO(out_req, rc = -EFAULT);
+ if (cfs_copy_to_user(lump, lmm, lmmsize)) {
+ if (cfs_copy_to_user(lump, lmm, sizeof(*lump)))
+ GOTO(out_req, rc = -EFAULT);
+ rc = -EOVERFLOW;
+ }
skip_lmm:
if (cmd == IOC_MDC_GETFILEINFO || cmd == LL_IOC_MDC_GETINFO) {
struct lov_user_mds_data *lmdp;
CDEBUG(D_QUOTA, "mdc ioctl %d failed: %d\n", cmd, rc);
if (cfs_copy_to_user((void *)arg, check,
sizeof(*check)))
- rc = -EFAULT;
+ CDEBUG(D_QUOTA, "cfs_copy_to_user failed\n");
GOTO(out_poll, rc);
}
CDEBUG(D_QUOTA, "osc ioctl %d failed: %d\n", cmd, rc);
if (cfs_copy_to_user((void *)arg, check,
sizeof(*check)))
- rc = -EFAULT;
+ CDEBUG(D_QUOTA, "cfs_copy_to_user failed\n");
GOTO(out_poll, rc);
}
out_poll:
void rw_file(char *name, long stride, unsigned int seed)
{
char filename[MAX_FILENAME_LEN];
- char path[MAX_FILENAME_LEN];
char errmsg[MAX_FILENAME_LEN+20];
char *buf, *o_buf;
struct lov_user_md lum = {0};
sprintf(errmsg, "close of file %s", filename);
FAIL(errmsg);
}
-
- strncpy(path, filename, MAX_FILENAME_LEN);
- rc = llapi_file_get_stripe(path, &lum);
- if (rc == -1) {
- sprintf(errmsg, "get stripe of file %s", filename);
- FAIL(errmsg);
- }
}
MPI_Barrier(MPI_COMM_WORLD);