linux-stable/fs/xfs
Brian Foster 98719051e7 xfs: refactor internal dfops initialization
The current transaction allocation code conditionally initializes
the ->t_dfops indirection pointer. Transaction commit/cancel check
the validity of the pointer to determine whether to finish/cancel
the internal dfops.

This disallows the ability to use the internal dfops list as a
temporary container (via xfs_trans_alloc_empty()). Refactor
transaction allocation to always initialize ->t_dfops and check
permanent reservation state on transaction commit/cancel.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
2018-08-02 23:05:13 -07:00
..
libxfs xfs: check da node magic in _node_lookup_int 2018-08-01 07:42:43 -07:00
scrub xfs: refactor the xrep_extent_list into xfs_bitmap 2018-07-31 13:18:08 -07:00
Kconfig
kmem.c
kmem.h
Makefile xfs: move the repair extent list into its own file 2018-07-29 22:37:09 -07:00
mrlock.h
xfs.h
xfs_acl.c
xfs_acl.h
xfs_aops.c xfs: avoid COW fork extent lookups in writeback if the fork didn't change 2018-07-31 13:18:09 -07:00
xfs_aops.h xfs: remove xfs_map_cow 2018-07-11 22:25:59 -07:00
xfs_attr.h
xfs_attr_inactive.c xfs: remove all boilerplate defer init/finish code 2018-07-26 10:15:15 -07:00
xfs_attr_list.c
xfs_bmap_item.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_bmap_item.h
xfs_bmap_util.c xfs: introduce a new xfs_inode_has_cow_data helper 2018-07-30 07:57:48 -07:00
xfs_bmap_util.h
xfs_buf.c xfs: kill __xfs_buf_submit_common() 2018-07-11 22:26:35 -07:00
xfs_buf.h xfs: combine [a]sync buffer submission apis 2018-07-11 22:26:35 -07:00
xfs_buf_item.c
xfs_buf_item.h
xfs_dir2_readdir.c
xfs_discard.c xfs: trivial xfs_btree_del_cursor cleanups 2018-07-23 09:08:00 -07:00
xfs_discard.h
xfs_dquot.c xfs: drop unnecessary xfs_defer_finish() dfops parameter 2018-07-26 10:15:16 -07:00
xfs_dquot.h
xfs_dquot_item.c
xfs_dquot_item.h
xfs_error.c xfs: force summary counter recalc at next mount 2018-07-23 09:08:01 -07:00
xfs_error.h
xfs_export.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_export.h
xfs_extent_busy.c
xfs_extent_busy.h
xfs_extfree_item.c
xfs_extfree_item.h
xfs_file.c xfs: remove unused iolock arg from xfs_break_dax_layouts 2018-07-11 22:26:36 -07:00
xfs_filestream.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_filestream.h
xfs_fsmap.c xfs: trivial xfs_btree_del_cursor cleanups 2018-07-23 09:08:00 -07:00
xfs_fsmap.h
xfs_fsops.c xfs: pass transaction lock while setting up agresv on cyclic metadata 2018-07-29 22:37:08 -07:00
xfs_fsops.h
xfs_globals.c
xfs_icache.c xfs: introduce a new xfs_inode_has_cow_data helper 2018-07-30 07:57:48 -07:00
xfs_icache.h
xfs_icreate_item.c
xfs_icreate_item.h
xfs_inode.c xfs: introduce a new xfs_inode_has_cow_data helper 2018-07-30 07:57:48 -07:00
xfs_inode.h xfs: introduce a new xfs_inode_has_cow_data helper 2018-07-30 07:57:48 -07:00
xfs_inode_item.c xfs: remove if_real_bytes 2018-07-30 07:57:48 -07:00
xfs_inode_item.h
xfs_ioctl.c
xfs_ioctl.h
xfs_ioctl32.c
xfs_ioctl32.h
xfs_iomap.c xfs: avoid COW fork extent lookups in writeback if the fork didn't change 2018-07-31 13:18:09 -07:00
xfs_iomap.h xfs: avoid COW fork extent lookups in writeback if the fork didn't change 2018-07-31 13:18:09 -07:00
xfs_iops.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_iops.h
xfs_itable.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_itable.h
xfs_linux.h
xfs_log.c xfs: refactor log recovery check 2018-08-01 07:40:48 -07:00
xfs_log.h xfs: refactor log recovery check 2018-08-01 07:40:48 -07:00
xfs_log_cil.c
xfs_log_priv.h
xfs_log_recover.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_message.c
xfs_message.h
xfs_mount.c xfs: move extent busy tree initialization to xfs_initialize_perag 2018-07-31 13:18:09 -07:00
xfs_mount.h xfs: remove deprecated barrier/nobarrier mount 2018-07-26 10:15:17 -07:00
xfs_mru_cache.c
xfs_mru_cache.h
xfs_ondisk.h
xfs_pnfs.c
xfs_pnfs.h
xfs_qm.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_qm.h
xfs_qm_bhv.c
xfs_qm_syscalls.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_quota.h
xfs_quotaops.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_refcount_item.c xfs: use internal dfops during [b|c]ui recovery 2018-07-26 10:15:15 -07:00
xfs_refcount_item.h
xfs_reflink.c xfs: introduce a new xfs_inode_has_cow_data helper 2018-07-30 07:57:48 -07:00
xfs_reflink.h xfs: remove xfs_reflink_find_cow_mapping 2018-07-11 22:26:01 -07:00
xfs_rmap_item.c
xfs_rmap_item.h
xfs_rtalloc.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_rtalloc.h
xfs_stats.c
xfs_stats.h
xfs_super.c xfs: remove the xfs_ifork_t typedef 2018-07-30 07:57:48 -07:00
xfs_super.h
xfs_symlink.c xfs: clean up IRELE/iput callsites 2018-07-26 10:15:16 -07:00
xfs_symlink.h
xfs_sysctl.c
xfs_sysctl.h
xfs_sysfs.c
xfs_sysfs.h
xfs_trace.c
xfs_trace.h xfs: remove unused deferred ops committed field 2018-07-26 10:15:13 -07:00
xfs_trans.c xfs: refactor internal dfops initialization 2018-08-02 23:05:13 -07:00
xfs_trans.h xfs: drop unnecessary xfs_defer_finish() dfops parameter 2018-07-26 10:15:16 -07:00
xfs_trans_ail.c
xfs_trans_bmap.c
xfs_trans_buf.c
xfs_trans_dquot.c
xfs_trans_extfree.c
xfs_trans_inode.c
xfs_trans_priv.h
xfs_trans_refcount.c
xfs_trans_rmap.c
xfs_xattr.c