mirror_zfs/module/os/linux/zfs
Umer Saleem 39a4daf742
Expose additional file level attributes
ZFS allows to update and retrieve additional file level attributes for
FreeBSD. This commit allows additional file level attributes to be
updated and retrieved for Linux. These include the flags stored in the
upper half of z_pflags only.

Two new IOCTLs have been added for this purpose. ZFS_IOC_GETDOSFLAGS
can be used to retrieve the attributes, while ZFS_IOC_SETDOSFLAGS can
be used to update the attributes.

Attributes that are allowed to be updated include ZFS_IMMUTABLE,
ZFS_APPENDONLY, ZFS_NOUNLINK, ZFS_ARCHIVE, ZFS_NODUMP, ZFS_SYSTEM,
ZFS_HIDDEN, ZFS_READONLY, ZFS_REPARSE, ZFS_OFFLINE and ZFS_SPARSE.
Flags can be or'd together while calling ZFS_IOC_SETDOSFLAGS.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Closes #13118
2022-03-07 17:52:03 -08:00
..
abd_os.c module/*.ko: prune .data, global .rodata 2022-01-14 15:37:55 -08:00
arc_os.c Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
Makefile.in Restore FreeBSD resource usage accounting 2021-02-19 22:34:33 -08:00
mmp_os.c Add zfs_multihost_interval tunable handler for FreeBSD 2020-06-23 13:32:42 -07:00
policy.c Linux 5.12 compat: idmapped mounts 2021-03-19 21:00:59 -07:00
qat_compress.c Modify checksum obtain method of QAT 2021-08-03 11:46:33 -06:00
qat_crypt.c QAT related bug fixes 2019-09-12 13:33:44 -07:00
qat.c QAT related bug fixes 2019-09-12 13:33:44 -07:00
spa_misc_os.c Add spa _os() hooks 2022-02-15 15:54:25 -08:00
trace.c Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
vdev_disk.c Linux <4.8 compat: submit_bio() rw arg 2022-01-25 13:12:49 -08:00
vdev_file.c module/*.ko: prune .data, global .rodata 2022-01-14 15:37:55 -08:00
zfs_acl.c module: mark arguments used 2022-02-18 09:34:03 -08:00
zfs_ctldir.c module/*.ko: prune .data, global .rodata 2022-01-14 15:37:55 -08:00
zfs_debug.c module/*.ko: prune .data, global .rodata 2022-01-14 15:37:55 -08:00
zfs_dir.c Clean up use of zfs_log_create in zfs_dir 2021-05-07 15:13:10 -07:00
zfs_file_os.c file reference counts can get corrupted 2021-07-10 19:00:37 -06:00
zfs_ioctl_os.c libzfs: On FreeBSD, use MNT_NOWAIT with getfsstat 2021-06-08 07:36:43 -06:00
zfs_racct.c module: zfs: fix unused, remove argsused 2021-12-23 09:42:47 -08:00
zfs_sysfs.c Vdev Properties Feature 2021-11-30 07:46:25 -07:00
zfs_uio.c Removing old code for k(un)map_atomic 2021-03-19 22:38:44 -07:00
zfs_vfsops.c module: mark arguments used 2022-02-18 09:34:03 -08:00
zfs_vnops_os.c module: mark arguments used 2022-02-18 09:34:03 -08:00
zfs_znode.c module: mark arguments used 2022-02-18 09:34:03 -08:00
zio_crypt.c module: icp: rip out insane crypto_req_handle_t mechanism, inline KM_SLEEP 2022-02-15 16:25:37 -08:00
zpl_ctldir.c module: mark arguments used 2022-02-18 09:34:03 -08:00
zpl_export.c Return required size when encode_fh size too small 2021-05-07 15:08:16 -07:00
zpl_file.c Expose additional file level attributes 2022-03-07 17:52:03 -08:00
zpl_inode.c Linux 4.11 compat: statx support 2021-08-17 10:25:58 -07:00
zpl_super.c Linux: Fix ZFS_ENTER/ZFS_EXIT/ZFS_VERFY_ZP usage 2020-11-14 10:19:00 -08:00
zpl_xattr.c log xattr=sa create/remove/update to ZIL 2022-02-22 13:06:43 -08:00
zvol_os.c zvol: make calls to platform ops static 2022-02-07 10:24:38 -08:00