return 0;
}
+#ifndef HAVE_FILEATTR_GET
int ll_ioctl_fsgetxattr(struct inode *inode, unsigned int cmd,
void __user *uarg)
{
RETURN(0);
}
+#endif
int ll_ioctl_check_project(struct inode *inode, __u32 xflags,
__u32 projid)
return 0;
}
-static int ll_set_project(struct inode *inode, __u32 xflags, __u32 projid)
+int ll_set_project(struct inode *inode, __u32 xflags, __u32 projid)
{
struct ptlrpc_request *req = NULL;
struct md_op_data *op_data;
RETURN(rc);
}
+#ifndef HAVE_FILEATTR_GET
int ll_ioctl_fssetxattr(struct inode *inode, unsigned int cmd,
void __user *uarg)
{
RETURN(ll_set_project(inode, fsxattr.fsx_xflags,
fsxattr.fsx_projid));
}
+#endif
int ll_ioctl_project(struct file *file, unsigned int cmd, void __user *uarg)
{
case LL_IOC_LOV_GETSTRIPE:
case LL_IOC_LOV_GETSTRIPE_NEW:
RETURN(ll_file_getstripe(inode, uarg, 0));
+#ifndef HAVE_FILEATTR_GET
case LL_IOC_GROUP_LOCK:
RETURN(ll_get_grouplock(inode, file, arg));
+#endif
case LL_IOC_GROUP_UNLOCK:
RETURN(ll_put_grouplock(inode, file, arg));
case LL_IOC_DATA_VERSION: {
#ifdef HAVE_IOP_SET_ACL
.set_acl = ll_set_acl,
#endif
+#ifdef HAVE_FILEATTR_GET
+ .fileattr_get = ll_fileattr_get,
+ .fileattr_set = ll_fileattr_set,
+#endif
};
const struct file_operations *ll_select_file_operations(struct ll_sb_info *sbi)