mirror_zfs/module/zfs
Chunwei Chen 07d63f0cb9 Fix fail path in zfs_znode_alloc
When sa_bulk_lookup() fails, unlock_new_inode() will spit out a WARNING. It
will also recursive deadlock on ZFS_OBJ_HOLD_ENTER in zfs_zinactive().

Since we never call insert_inode_locked in fail path, I_NEW is never set, the
inode is never hashed. So unlock_new_inode() can be safely remove it.

We set z_sa_hdl to NULL in fail path so that iput path will stop at
zfs_inactive() without entering zfs_zinactive(). This way we can avoid the
deadlock and prevent double sa_handle_destroy().

Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #3899
2015-10-13 15:57:17 -07:00
..
arc.c Fix 'arc_c < arc_c_min' panic 2015-10-13 09:23:35 -07:00
blkptr.c
bplist.c
bpobj.c
bptree.c
dbuf_stats.c
dbuf.c Illumos 6267 - dn_bonus evicted too early 2015-10-13 14:12:02 -07:00
ddt_zap.c
ddt.c Handle zap_lookup() failure in ddt_object_load() 2015-08-19 14:32:50 -07:00
dmu_diff.c
dmu_object.c
dmu_objset.c Illumos 6267 - dn_bonus evicted too early 2015-10-13 14:12:02 -07:00
dmu_send.c
dmu_traverse.c Prevent reclaim in the traverse prefetch thread 2015-09-04 08:43:28 -07:00
dmu_tx.c
dmu_zfetch.c
dmu.c zvol processing should use struct bio 2015-09-04 15:30:24 -04:00
dnode_sync.c Illumos 6267 - dn_bonus evicted too early 2015-10-13 14:12:02 -07:00
dnode.c
dsl_bookmark.c
dsl_dataset.c Allow recovery from corrupted snapshot maps 2015-08-28 11:56:32 -07:00
dsl_deadlist.c
dsl_deleg.c
dsl_destroy.c
dsl_dir.c
dsl_pool.c Align thread priority with Linux defaults 2015-07-28 13:36:47 -07:00
dsl_prop.c
dsl_scan.c Illumos 5347 - idle pool may run itself out of space 2015-07-14 10:35:21 -07:00
dsl_synctask.c
dsl_userhold.c
fm.c
gzip.c
lz4.c
lzjb.c
Makefile.in Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
metaslab.c Disable LBA weighting on files and SSDs 2015-09-01 15:22:07 -07:00
multilist.c
range_tree.c
refcount.c
rrwlock.c
sa.c
sha256.c
spa_boot.c
spa_config.c Linux 4.2 compat: vfs_rename() 2015-08-19 16:04:33 -07:00
spa_errlog.c
spa_history.c
spa_misc.c Add spa_slop_shift module option 2015-09-02 09:30:18 -07:00
spa_stats.c
spa.c Align thread priority with Linux defaults 2015-07-28 13:36:47 -07:00
space_map.c
space_reftree.c
trace.c
txg.c Align thread priority with Linux defaults 2015-07-28 13:36:47 -07:00
uberblock.c Illumos 5347 - idle pool may run itself out of space 2015-07-14 10:35:21 -07:00
unique.c
vdev_cache.c
vdev_disk.c Fix use-after-free in vdev_disk_physio_completion 2015-10-13 15:25:33 -07:00
vdev_file.c Disable LBA weighting on files and SSDs 2015-09-01 15:22:07 -07:00
vdev_label.c
vdev_mirror.c
vdev_missing.c
vdev_queue.c Fix small typo 2015-08-30 10:10:16 -07:00
vdev_raidz.c
vdev_root.c
vdev.c Disable LBA weighting on files and SSDs 2015-09-01 15:22:07 -07:00
zap_leaf.c
zap_micro.c Add parenthesis to the ternary operator 2015-08-19 11:28:41 -07:00
zap.c
zfeature_common.c
zfeature.c
zfs_acl.c
zfs_byteswap.c
zfs_ctldir.c Allow NFS activity to defer snapshot unmounts 2015-09-25 12:45:38 -07:00
zfs_debug.c Add dbgmsg kstat 2015-09-04 16:08:14 -07:00
zfs_dir.c
zfs_fm.c
zfs_fuid.c
zfs_ioctl.c Add dbgmsg kstat 2015-09-04 16:08:14 -07:00
zfs_log.c
zfs_onexit.c
zfs_replay.c
zfs_rlock.c
zfs_sa.c
zfs_vfsops.c Support accessing .zfs/snapshot via NFS 2015-09-04 13:23:53 -07:00
zfs_vnops.c Fix invalid fileid for snapshot root dentry 2015-09-04 13:23:06 -07:00
zfs_znode.c Fix fail path in zfs_znode_alloc 2015-10-13 15:57:17 -07:00
zil.c Align thread priority with Linux defaults 2015-07-28 13:36:47 -07:00
zio_checksum.c
zio_compress.c
zio_inject.c
zio.c
zle.c
zpl_ctldir.c Linux 3.18 compat: Snapshot auto-mounting 2015-08-31 13:54:39 -07:00
zpl_export.c zfsctl: No need to sync ctldir inodes 2015-08-31 13:54:39 -07:00
zpl_file.c Linux 4.1 compat: loop device on ZFS 2015-08-24 10:17:06 -07:00
zpl_inode.c Linux 3.18 compat: Snapshot auto-mounting 2015-08-31 13:54:39 -07:00
zpl_super.c Disable zpl_nr_cached_objects() callback 2015-09-25 12:45:42 -07:00
zpl_xattr.c
zrlock.c
zvol.c Remove obsolete zv_lock 2015-09-30 10:43:19 -07:00