* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2012, Whamcloud, Inc.
+ * Copyright (c) 2012, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
return rc;
}
-
-#ifdef HAVE_UNLOCKED_IOCTL
static long libcfs_ioctl(struct file *file,
- unsigned int cmd, unsigned long arg)
-#else
-static int libcfs_ioctl(struct inode *inode, struct file *file,
- unsigned int cmd, unsigned long arg)
-#endif
+ unsigned int cmd, unsigned long arg)
{
struct cfs_psdev_file pfile;
int rc = 0;
- if (current_fsuid() != 0)
+ if (!capable(CAP_SYS_ADMIN))
return -EACCES;
if ( _IOC_TYPE(cmd) != IOC_LIBCFS_TYPE ||
}
static struct file_operations libcfs_fops = {
-#ifdef HAVE_UNLOCKED_IOCTL
- unlocked_ioctl: libcfs_ioctl,
-#else
- ioctl: libcfs_ioctl,
-#endif
- open : libcfs_psdev_open,
- release : libcfs_psdev_release
+ unlocked_ioctl: libcfs_ioctl,
+ open : libcfs_psdev_open,
+ release : libcfs_psdev_release
};
-cfs_psdev_t libcfs_dev = {
+struct miscdevice libcfs_dev = {
LNET_MINOR,
"lnet",
&libcfs_fops