mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 19:19:32 +03:00
Return -EOPNOTSUPP for ZFS_IOC_{GET|SET}FLAGS
Until these hooks are fully implemented return the expected -EOPNOTSUPP error to indicate they are not functional. This allows test suites such as xfstests to cleanly skip testing this functionality until it's implemented. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #229
This commit is contained in:
parent
0c1171dcb5
commit
88c283952f
@ -149,4 +149,7 @@ typedef int zpl_umode_t;
|
|||||||
#define zpl_sget(type, cmp, set, fl, mtd) sget(type, cmp, set, mtd)
|
#define zpl_sget(type, cmp, set, fl, mtd) sget(type, cmp, set, mtd)
|
||||||
#endif /* HAVE_5ARG_SGET */
|
#endif /* HAVE_5ARG_SGET */
|
||||||
|
|
||||||
|
#define ZFS_IOC_GETFLAGS FS_IOC_GETFLAGS
|
||||||
|
#define ZFS_IOC_SETFLAGS FS_IOC_SETFLAGS
|
||||||
|
|
||||||
#endif /* _ZFS_VFS_H */
|
#endif /* _ZFS_VFS_H */
|
||||||
|
@ -433,6 +433,27 @@ zpl_fallocate(struct file *filp, int mode, loff_t offset, loff_t len)
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_FILE_FALLOCATE */
|
#endif /* HAVE_FILE_FALLOCATE */
|
||||||
|
|
||||||
|
static long
|
||||||
|
zpl_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
|
{
|
||||||
|
switch (cmd) {
|
||||||
|
case ZFS_IOC_GETFLAGS:
|
||||||
|
case ZFS_IOC_SETFLAGS:
|
||||||
|
return (-EOPNOTSUPP);
|
||||||
|
default:
|
||||||
|
return (-ENOTTY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_COMPAT
|
||||||
|
static long
|
||||||
|
zpl_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
|
{
|
||||||
|
return zpl_ioctl(filp, cmd, arg);
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_COMPAT */
|
||||||
|
|
||||||
|
|
||||||
const struct address_space_operations zpl_address_space_operations = {
|
const struct address_space_operations zpl_address_space_operations = {
|
||||||
.readpages = zpl_readpages,
|
.readpages = zpl_readpages,
|
||||||
.readpage = zpl_readpage,
|
.readpage = zpl_readpage,
|
||||||
@ -451,6 +472,10 @@ const struct file_operations zpl_file_operations = {
|
|||||||
#ifdef HAVE_FILE_FALLOCATE
|
#ifdef HAVE_FILE_FALLOCATE
|
||||||
.fallocate = zpl_fallocate,
|
.fallocate = zpl_fallocate,
|
||||||
#endif /* HAVE_FILE_FALLOCATE */
|
#endif /* HAVE_FILE_FALLOCATE */
|
||||||
|
.unlocked_ioctl = zpl_ioctl,
|
||||||
|
#ifdef CONFIG_COMPAT
|
||||||
|
.compat_ioctl = zpl_compat_ioctl,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct file_operations zpl_dir_file_operations = {
|
const struct file_operations zpl_dir_file_operations = {
|
||||||
@ -458,4 +483,8 @@ const struct file_operations zpl_dir_file_operations = {
|
|||||||
.read = generic_read_dir,
|
.read = generic_read_dir,
|
||||||
.readdir = zpl_readdir,
|
.readdir = zpl_readdir,
|
||||||
.fsync = zpl_fsync,
|
.fsync = zpl_fsync,
|
||||||
|
.unlocked_ioctl = zpl_ioctl,
|
||||||
|
#ifdef CONFIG_COMPAT
|
||||||
|
.compat_ioctl = zpl_compat_ioctl,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user