Christoph Hellwig
e12199f85d
xfs: handle racy AIO in xfs_reflink_end_cow
...
If we got two AIO writes into a COW area the second one might not have any
COW extents left to convert. Handle that case gracefully instead of
triggering an assert or accessing beyond the bounds of the extent list.
Signed-off-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>
2017-10-03 21:27:55 -07:00
..
libxfs
xfs: revert "xfs: factor rmap btree size into the indlen calculations"
2017-09-26 10:55:20 -07:00
Kconfig
xfs: define fatal assert build time tunable
2017-06-19 08:59:10 -07:00
kmem.c
kmem.h
xfs: map KM_MAYFAIL to __GFP_RETRY_MAYFAIL
2017-07-12 16:26:03 -07:00
Makefile
xfs: use the common helper uuid_is_null()
2017-06-05 16:59:08 +02:00
mrlock.h
xfs.h
xfs: define fatal assert build time tunable
2017-06-19 08:59:10 -07:00
xfs_acl.c
xfs: Don't clear SGID when inheriting ACLs
2017-06-27 18:23:21 -07:00
xfs_acl.h
xfs: Don't clear SGID when inheriting ACLs
2017-06-27 18:23:21 -07:00
xfs_aops.c
xfs: update i_size after unwritten conversion in dio completion
2017-09-26 10:55:19 -07:00
xfs_aops.h
xfs: perform dax_device lookup at mount
2017-08-31 09:31:47 -07:00
xfs_attr.h
xfs: pass along transaction context when reading xattr block buffers
2017-06-20 10:45:22 -07:00
xfs_attr_inactive.c
xfs: refactor xfs_trans_roll
2017-09-01 10:55:30 -07:00
xfs_attr_list.c
xfs: assert locking precondіtion in xfs_attr_list_int_ilocked
2017-07-13 14:55:05 -07:00
xfs_bmap_item.c
xfs: remove the ip argument to xfs_defer_finish
2017-09-01 10:55:30 -07:00
xfs_bmap_item.h
xfs_bmap_util.c
xfs: always swap the cow forks when swapping extents
2017-10-03 21:27:55 -07:00
xfs_bmap_util.h
xfs: rewrite xfs_bmap_count_leaves using xfs_iext_get_extent
2017-09-01 13:08:26 -07:00
xfs_buf.c
xfs: remove redundant re-initialization of total_nr_pages
2017-09-25 18:22:30 -07:00
xfs_buf.h
xfs: perform dax_device lookup at mount
2017-08-31 09:31:47 -07:00
xfs_buf_item.c
xfs: fix compiler warnings
2017-09-02 08:22:19 -07:00
xfs_buf_item.h
xfs: remove unnecessary dirty bli format check for ordered bufs
2017-09-01 10:55:30 -07:00
xfs_dir2_readdir.c
xfs: pass along transaction context when reading directory block buffers
2017-06-20 10:45:22 -07:00
xfs_discard.c
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_discard.h
xfs_dquot.c
xfs: remove the ip argument to xfs_defer_finish
2017-09-01 10:55:30 -07:00
xfs_dquot.h
xfs_dquot_item.c
xfs_dquot_item.h
xfs_error.c
fs/xfs: Use %pS printk format for direct addresses
2017-09-25 18:22:30 -07:00
xfs_error.h
xfs: add log item pinning error injection tag
2017-08-22 09:22:24 -07:00
xfs_export.c
xfs_export.h
xfs_extent_busy.c
xfs_extent_busy.h
xfs_extfree_item.c
xfs_extfree_item.h
xfs_file.c
xfs: update i_size after unwritten conversion in dio completion
2017-09-26 10:55:19 -07:00
xfs_filestream.c
xfs_filestream.h
xfs_fsmap.c
xfs: only return detailed fsmap info if the caller has CAP_SYS_ADMIN
2017-05-16 12:26:16 -07:00
xfs_fsmap.h
xfs_fsops.c
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_fsops.h
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_globals.c
xfs: define fatal assert build time tunable
2017-06-19 08:59:10 -07:00
xfs_icache.c
xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster()
2017-09-01 10:55:30 -07:00
xfs_icache.h
xfs: check if an inode is cached and allocated
2017-06-19 14:11:34 -07:00
xfs_icreate_item.c
xfs_icreate_item.h
xfs_inode.c
xfs: don't unconditionally clear the reflink flag on zero-block files
2017-09-25 18:22:30 -07:00
xfs_inode.h
xfs: Switch to iomap for SEEK_HOLE / SEEK_DATA
2017-07-02 22:46:13 -07:00
xfs_inode_item.c
xfs: Capture state of the right inode in xfs_iflush_done
2017-09-26 10:55:20 -07:00
xfs_inode_item.h
xfs_ioctl.c
xfs: validate bdev support for DAX inode flag
2017-09-26 10:55:19 -07:00
xfs_ioctl.h
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_ioctl32.c
xfs_ioctl32.h
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_iomap.c
xfs: update i_size after unwritten conversion in dio completion
2017-09-26 10:55:19 -07:00
xfs_iomap.h
xfs: update i_size after unwritten conversion in dio completion
2017-09-26 10:55:19 -07:00
xfs_iops.c
xfs: fix compiler warnings
2017-09-02 08:22:19 -07:00
xfs_iops.h
xfs_itable.c
xfs: export various function for the online scrubber
2017-06-19 14:11:34 -07:00
xfs_itable.h
xfs: export various function for the online scrubber
2017-06-19 14:11:34 -07:00
xfs_linux.h
xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
2017-09-12 20:02:22 -07:00
xfs_log.c
xfs: fix incorrect log_flushed on fsync
2017-09-01 13:08:26 -07:00
xfs_log.h
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_log_cil.c
xfs: Fix leak of discard bio
2017-08-04 13:43:36 -07:00
xfs_log_priv.h
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_log_recover.c
xfs: fix compiler warnings
2017-09-02 08:22:19 -07:00
xfs_message.c
xfs: define bug_on_assert debug mode sysfs tunable
2017-06-19 08:59:10 -07:00
xfs_message.h
xfs_mount.c
xfs: don't leak quotacheck dquots when cow recovery
2017-08-17 12:40:33 -07:00
xfs_mount.h
xfs: convert drop_writes to use the errortag mechanism
2017-06-27 18:23:20 -07:00
xfs_mru_cache.c
xfs_mru_cache.h
xfs_ondisk.h
xfs_pnfs.c
xfs: update i_size after unwritten conversion in dio completion
2017-09-26 10:55:19 -07:00
xfs_pnfs.h
xfs_qm.c
xfs: replace xfs_qm_get_rtblks with a direct call to xfs_bmap_count_leaves
2017-09-01 13:08:26 -07:00
xfs_qm.h
xfs_qm_bhv.c
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_qm_syscalls.c
xfs_quota.h
xfs_quotaops.c
VFS: Convert sb->s_flags & MS_RDONLY to sb_rdonly(sb)
2017-07-17 08:45:34 +01:00
xfs_refcount_item.c
xfs: remove the ip argument to xfs_defer_finish
2017-09-01 10:55:30 -07:00
xfs_refcount_item.h
xfs_reflink.c
xfs: handle racy AIO in xfs_reflink_end_cow
2017-10-03 21:27:55 -07:00
xfs_reflink.h
xfs: separate function to check if inode shares extents
2017-06-19 14:11:35 -07:00
xfs_rmap_item.c
xfs_rmap_item.h
xfs_rtalloc.c
xfs: remove the ip argument to xfs_defer_finish
2017-09-01 10:55:30 -07:00
xfs_rtalloc.h
xfs: export various function for the online scrubber
2017-06-19 14:11:34 -07:00
xfs_stats.c
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_stats.h
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_super.c
xfs: Output warning message when discard option was enabled even though the device does not support discard
2017-09-25 18:22:30 -07:00
xfs_super.h
xfs_symlink.c
xfs: remove the ip argument to xfs_defer_finish
2017-09-01 10:55:30 -07:00
xfs_symlink.h
xfs: allow reading of already-locked remote symbolic link
2017-06-20 10:45:22 -07:00
xfs_sysctl.c
xfs_sysctl.h
xfs: define bug_on_assert debug mode sysfs tunable
2017-06-19 08:59:10 -07:00
xfs_sysfs.c
xfs: replace log_badcrc_factor knob with error injection tag
2017-06-27 18:23:21 -07:00
xfs_sysfs.h
xfs_trace.c
xfs_trace.h
xfs: consolidate the various page fault handlers
2017-09-01 10:55:30 -07:00
xfs_trans.c
xfs: refactor xfs_trans_roll
2017-09-01 10:55:30 -07:00
xfs_trans.h
xfs: disallow marking previously dirty buffers as ordered
2017-09-01 10:55:30 -07:00
xfs_trans_ail.c
xfs: add log item pinning error injection tag
2017-08-22 09:22:24 -07:00
xfs_trans_bmap.c
xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent
2017-06-19 08:59:10 -07:00
xfs_trans_buf.c
xfs: disallow marking previously dirty buffers as ordered
2017-09-01 10:55:30 -07:00
xfs_trans_dquot.c
xfs_trans_extfree.c
xfs_trans_inode.c
xfs: refactor xfs_trans_roll
2017-09-01 10:55:30 -07:00
xfs_trans_priv.h
xfs: Properly retry failed inode items in case of error during buffer writeback
2017-08-22 09:22:23 -07:00
xfs_trans_refcount.c
xfs_trans_rmap.c
xfs: remove double-underscore integer types
2017-06-19 14:11:33 -07:00
xfs_xattr.c