int offset = 0;
ENTRY;
- err = copy_from_user(&hdr, (void *)arg, sizeof(hdr));
+ err = cfs_copy_from_user(&hdr, (void *)arg, sizeof(hdr));
if ( err )
RETURN(err);
*len = hdr.ioc_len;
data = (struct obd_ioctl_data *)*buf;
- err = copy_from_user(*buf, (void *)arg, hdr.ioc_len);
+ err = cfs_copy_from_user(*buf, (void *)arg, hdr.ioc_len);
if ( err ) {
OBD_VFREE(*buf, hdr.ioc_len);
RETURN(err);
if (data->ioc_inllen1) {
data->ioc_inlbuf1 = &data->ioc_bulk[0];
- offset += size_round(data->ioc_inllen1);
+ offset += cfs_size_round(data->ioc_inllen1);
}
if (data->ioc_inllen2) {
data->ioc_inlbuf2 = &data->ioc_bulk[0] + offset;
- offset += size_round(data->ioc_inllen2);
+ offset += cfs_size_round(data->ioc_inllen2);
}
if (data->ioc_inllen3) {
data->ioc_inlbuf3 = &data->ioc_bulk[0] + offset;
- offset += size_round(data->ioc_inllen3);
+ offset += cfs_size_round(data->ioc_inllen3);
}
if (data->ioc_inllen4) {
{
int err;
- err = copy_to_user(arg, data, len);
+ err = cfs_copy_to_user(arg, data, len);
if (err)
err = -EFAULT;
return err;
int err = 0;
ENTRY;
- if (current->fsuid != 0)
+ /* Allow non-root access for OBD_IOC_PING_TARGET - used by lfs check */
+ if (!cfs_capable(CFS_CAP_SYS_ADMIN) && (cmd != OBD_IOC_PING_TARGET))
RETURN(err = -EACCES);
if ((cmd & 0xffffff00) == ((int)'T') << 8) /* ignore all tty ioctls */
RETURN(err = -ENOTTY);
BUILD_VERSION);
#else
return snprintf(page, count, "lustre: %s\nkernel: %s\nbuild: %s\n",
- LUSTRE_VERSION_STRING, "patchless", BUILD_VERSION);
+ LUSTRE_VERSION_STRING, "patchless_client",
+ BUILD_VERSION);
#endif
}
if (libcfs_catastrophe)
rc += snprintf(page + rc, count - rc, "LBUG\n");
- spin_lock(&obd_dev_lock);
+ cfs_spin_lock(&obd_dev_lock);
for (i = 0; i < class_devno_max(); i++) {
struct obd_device *obd;
if (obd->obd_stopping)
continue;
- class_incref(obd);
- spin_unlock(&obd_dev_lock);
+ class_incref(obd, __FUNCTION__, cfs_current());
+ cfs_spin_unlock(&obd_dev_lock);
if (obd_health_check(obd)) {
rc += snprintf(page + rc, count - rc,
"device %s reported unhealthy\n",
obd->obd_name);
}
- class_decref(obd);
- spin_lock(&obd_dev_lock);
+ class_decref(obd, __FUNCTION__, cfs_current());
+ cfs_spin_lock(&obd_dev_lock);
}
- spin_unlock(&obd_dev_lock);
+ cfs_spin_unlock(&obd_dev_lock);
if (rc == 0)
return snprintf(page, count, "healthy\n");
}
static void *obd_device_list_seq_next(struct seq_file *p, void *v, loff_t *pos)
-{
+{
++*pos;
if (*pos >= class_devno_max())
return NULL;
return seq_printf(p, "%3d %s %s %s %s %d\n",
(int)index, status, obd->obd_type->typ_name,
obd->obd_name, obd->obd_uuid.uuid,
- atomic_read(&obd->obd_refcount));
+ cfs_atomic_read(&obd->obd_refcount));
}
struct seq_operations obd_device_list_sops = {
ENTRY;
obd_sysctl_init();
- proc_lustre_root = lprocfs_register("lustre", proc_root_fs,
+ proc_lustre_root = lprocfs_register("fs/lustre", NULL,
lprocfs_base, NULL);
rc = lprocfs_seq_create(proc_lustre_root, "devices", 0444,
&obd_device_list_fops, NULL);