freebsd-dev/module/zfs
Chunwei Chen ace1eae84c Add support for O_TMPFILE
Linux 3.11 add O_TMPFILE to open(2), which allow creating an unlinked file on
supported filesystem. It's basically doing open(2) and unlink(2) atomically.

The filesystem support is added through i_op->tmpfile. We basically copy the
create operation except we get rid of the link and name related stuff and add
the new node to unlinked set.

We also add support for linkat(2) to link tmpfile. However, since all previous
file operation will skip ZIL, we force a txg_wait_synced to make sure we are
sync safe.

Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
2016-11-04 10:46:40 -07:00
..
arc.c Use vmem_size() for 32-bit systems 2016-11-02 12:14:45 -07:00
blkptr.c Illumos 4757, 4913 2014-08-01 14:28:05 -07:00
bplist.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
bpobj.c Illumos 5810 - zdb should print details of bpobj 2015-05-11 15:10:24 -07:00
bptree.c Illumos 5960, 5925 2016-01-08 15:08:19 -08:00
bqueue.c Fix coverity defects: CID 147565-147567 2016-10-07 13:19:43 -07:00
dbuf_stats.c OpenZFS 6950 - ARC should cache compressed data 2016-09-13 09:58:33 -07:00
dbuf.c Fix coverity defects: CID 150943, 150938 2016-10-13 14:30:50 -07:00
ddt_zap.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
ddt.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
dmu_diff.c OpenZFS 6950 - ARC should cache compressed data 2016-09-13 09:58:33 -07:00
dmu_object.c Implement large_dnode pool feature 2016-06-24 13:13:21 -07:00
dmu_objset.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
dmu_send.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
dmu_traverse.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
dmu_tx.c Fix coverity defects: CID 147553 2016-11-01 10:20:24 -07:00
dmu_zfetch.c OpenZFS 6322 - ZFS indirect block predictive prefetch 2016-08-30 14:26:55 -07:00
dmu.c Fix coverity defects: CID 152975 2016-10-31 16:23:56 -07:00
dnode_sync.c Add support for user/group dnode accounting & quota 2016-10-07 09:45:13 -07:00
dnode.c OpenZFS 6988 spa_sync() spends half its time in dmu_objset_do_userquota_updates 2016-10-07 09:45:13 -07:00
dsl_bookmark.c OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
dsl_dataset.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
dsl_deadlist.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
dsl_deleg.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
dsl_destroy.c OpenZFS 2605, 6980, 6902 2016-06-28 13:47:02 -07:00
dsl_dir.c Fix coverity defects: 147658, 147652, 147651 2016-09-29 12:06:14 -07:00
dsl_pool.c Fix file permissions 2016-10-08 14:57:56 -07:00
dsl_prop.c Fix dsl_prop_get_all_dsl() memory leak 2016-11-02 12:34:10 -07:00
dsl_scan.c OpenZFS 6950 - ARC should cache compressed data 2016-09-13 09:58:33 -07:00
dsl_synctask.c Illumos 4951 - ZFS administrative commands should use reserved space 2015-05-04 09:41:10 -07:00
dsl_userhold.c OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
edonr_zfs.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
fm.c Multipath autoreplace, control enclosure LEDs, event rate limiting 2016-10-19 12:55:59 -07:00
gzip.c cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
lz4.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
lzjb.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00
Makefile.in Add parity generation/rebuild using AVX-512 for x86-64 2016-11-02 12:40:23 -07:00
metaslab.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
multilist.c Identify locks flagged by lockdep 2015-12-22 10:21:33 -08:00
pathname.c Add pn_alloc()/pn_free() functions 2016-04-21 09:49:25 -07:00
policy.c Fix NFS credential 2016-06-21 09:58:37 -07:00
range_tree.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
refcount.c OpenZFS 7090 - zfs should throttle allocations 2016-10-13 17:59:18 -07:00
rrwlock.c Illumos 5008 - lock contention (rrw_exit) while running a read only load 2015-07-06 09:34:13 -07:00
sa.c Fix sa_legacy_attr_count to use ARRAY_SIZE 2016-11-02 10:26:12 -07:00
sha256.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
skein_zfs.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
spa_boot.c
spa_config.c Fix coverity defects: CID 147565-147567 2016-10-07 13:19:43 -07:00
spa_errlog.c Illumos 4914 - zfs on-disk bookmark structure should be named *_phys_t 2014-08-06 14:48:41 -07:00
spa_history.c Fix indefinite article 2016-08-11 11:23:49 -07:00
spa_misc.c OpenZFS 7090 - zfs should throttle allocations 2016-10-13 17:59:18 -07:00
spa_stats.c Explicit integer promotion for bit shift operations 2016-09-29 15:55:41 -07:00
spa.c Fix coverity defects: CID 147488, 147490 2016-10-14 11:00:47 -07:00
space_map.c Illumos 5960, 5925 2016-01-08 15:08:19 -08:00
space_reftree.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
trace.c OpenZFS 6531 - Provide mechanism to artificially limit disk performance 2016-05-26 10:11:51 -07:00
txg.c txg visibility code should not execute under tc_open_lock 2016-07-27 14:11:13 -07:00
uberblock.c Illumos 5347 - idle pool may run itself out of space 2015-07-14 10:35:21 -07:00
unique.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
vdev_cache.c OpenZFS 7090 - zfs should throttle allocations 2016-10-13 17:59:18 -07:00
vdev_disk.c Explicit block device plugging when submitting multiple BIOs 2016-09-29 13:13:31 -07:00
vdev_file.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
vdev_label.c Turn on/off enclosure slot fault LED even when disk isn't present 2016-10-24 10:45:59 -07:00
vdev_mirror.c OpenZFS 7090 - zfs should throttle allocations 2016-10-13 17:59:18 -07:00
vdev_missing.c Illumos #5244 - zio pipeline callers should explicitly invoke next stage 2015-04-30 15:07:47 -07:00
vdev_queue.c OpenZFS 7090 - zfs should throttle allocations 2016-10-13 17:59:18 -07:00
vdev_raidz_math_aarch64_neon_common.h Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_aarch64_neon.c Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_aarch64_neonx2.c Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_avx2.c Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_avx512bw.c Add parity generation/rebuild using AVX-512 for x86-64 2016-11-02 12:40:23 -07:00
vdev_raidz_math_avx512f.c Add parity generation/rebuild using AVX-512 for x86-64 2016-11-02 12:40:23 -07:00
vdev_raidz_math_impl.h Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_scalar.c Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_sse2.c Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math_ssse3.c Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
vdev_raidz_math.c Add parity generation/rebuild using AVX-512 for x86-64 2016-11-02 12:40:23 -07:00
vdev_raidz.c OpenZFS 4185 - add new cryptographic checksums to ZFS: SHA-512, Skein, Edon-R 2016-10-03 14:51:15 -07:00
vdev_root.c Illumos #3598 2013-10-31 14:58:04 -07:00
vdev.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
zap_leaf.c Illumos 5314 - Remove "dbuf phys" db->db_data pointer aliases in ZFS 2015-04-28 16:25:20 -07:00
zap_micro.c Fix coverity defects: CID 147650, 147649, 147647, 147646 2016-09-25 15:08:28 -07:00
zap.c Avoid undefined shift overflow in fzap_cursor_retrieve() 2016-09-29 15:55:41 -07:00
zfeature_common.c Add support for user/group dnode accounting & quota 2016-10-07 09:45:13 -07:00
zfeature.c Revert "zhack: Add 'feature disable' command" 2016-05-17 11:52:07 -07:00
zfs_acl.c Fix unlinked file cannot do xattr operations 2016-11-04 10:46:40 -07:00
zfs_byteswap.c
zfs_ctldir.c Enable .zfs/snapshot for 32-bit systems 2016-11-02 12:14:45 -07:00
zfs_debug.c Add dbgmsg kstat 2015-09-04 16:08:14 -07:00
zfs_dir.c Fix unlinked file cannot do xattr operations 2016-11-04 10:46:40 -07:00
zfs_fm.c Fix statechange-led.sh & unnecessary libdevmapper warning 2016-10-25 11:05:30 -07:00
zfs_fuid.c Fix coverity defects 2016-09-21 18:09:00 -07:00
zfs_ioctl.c Fix dsl_prop_get_all_dsl() memory leak 2016-11-02 12:34:10 -07:00
zfs_log.c Fix unlinked file cannot do xattr operations 2016-11-04 10:46:40 -07:00
zfs_onexit.c zfsdev_getminor() should check for invalid file handles 2015-06-22 17:02:13 -07:00
zfs_replay.c Fix coverity defects 2016-09-21 18:09:00 -07:00
zfs_rlock.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
zfs_sa.c Use native inode->i_nlink instead of znode->z_links 2016-07-14 16:25:34 -07:00
zfs_vfsops.c Fix coverity defects: CID 49339, 153393 2016-10-18 10:31:57 -07:00
zfs_vnops.c Add support for O_TMPFILE 2016-11-04 10:46:40 -07:00
zfs_znode.c Add support for O_TMPFILE 2016-11-04 10:46:40 -07:00
zil.c OpenZFS 6950 - ARC should cache compressed data 2016-09-13 09:58:33 -07:00
zio_checksum.c OpenZFS 6541 - Pool feature-flag check defeated if "verify" is included in the dedup property value 2016-10-03 14:51:21 -07:00
zio_compress.c Illumos 5661 - ZFS: "compression = on" should use lz4 if feature is enabled 2015-07-10 12:11:45 -07:00
zio_inject.c OpenZFS 6531 - Provide mechanism to artificially limit disk performance 2016-05-26 10:11:51 -07:00
zio.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
zle.c
zpl_ctldir.c Linux 4.9 compat: iops->rename() wants flags 2016-10-20 09:39:09 -07:00
zpl_export.c zfsctl: No need to sync ctldir inodes 2015-08-31 13:54:39 -07:00
zpl_file.c Fix cred leak in zpl_fallocate_common 2016-10-24 16:41:56 -07:00
zpl_inode.c Add support for O_TMPFILE 2016-11-04 10:46:40 -07:00
zpl_super.c Fix memleak in zpl_parse_options 2016-05-31 16:04:26 -07:00
zpl_xattr.c Linux 4.7 compat: fix zpl_get_acl returns invalid acl pointer 2016-08-09 10:03:04 -07:00
zrlock.c Illumos 5812 - assertion failed in zrl_tryenter(): zr_owner==NULL 2015-04-30 14:43:40 -07:00
zvol.c Fix 32-bit maximum volume size 2016-11-02 12:14:45 -07:00