Christoph Hellwig
2fcc319d24
xfs: try any AG when allocating the first btree block when reflinking
...
When a reflink operation causes the bmap code to allocate a btree block
we're currently doing single-AG allocations due to having ->firstblock
set and then try any higher AG due a little reflink quirk we've put in
when adding the reflink code. But given that we do not have a minleft
reservation of any kind in this AG we can still not have any space in
the same or higher AG even if the file system has enough free space.
To fix this use a XFS_ALLOCTYPE_FIRST_AG allocation in this fall back
path instead.
[And yes, we need to redo this properly instead of piling hacks over
hacks. I'm working on that, but it's not going to be a small series.
In the meantime this fixes the customer reported issue]
Also add a warning for failing allocations to make it easier to debug.
Signed-off-by: Christoph Hellwig <[email protected] >
Reviewed-by: Darrick J. Wong <[email protected] >
Signed-off-by: Darrick J. Wong <[email protected] >
2017-03-08 10:38:53 -08:00
..
libxfs
xfs: try any AG when allocating the first btree block when reflinking
2017-03-08 10:38:53 -08:00
Kconfig
kmem.c
xfs: remove kmem_zalloc_greedy
2017-03-07 20:10:50 -08:00
kmem.h
xfs: remove kmem_zalloc_greedy
2017-03-07 20:10:50 -08:00
Makefile
mrlock.h
uuid.c
uuid.h
xfs.h
xfs_acl.c
xfs_acl.h
xfs_aops.c
xfs: fix and streamline error handling in xfs_end_io
2017-03-07 20:10:50 -08:00
xfs_aops.h
xfs: use iomap_dio_rw
2016-11-30 14:37:15 +11:00
xfs_attr.h
xfs: several xattr functions can be void
2016-12-05 12:32:14 +11:00
xfs_attr_inactive.c
xfs_attr_list.c
xfs: several xattr functions can be void
2016-12-05 12:32:14 +11:00
xfs_bmap_item.c
xfs_bmap_item.h
xfs_bmap_util.c
xfs: simplify xfs_rtallocate_extent
2017-02-17 16:52:52 -08:00
xfs_bmap_util.h
xfs: remove unused full argument from bmap
2017-01-30 16:32:25 -08:00
xfs_buf.c
sched/headers: Prepare to move the memalloc_noio_*() APIs to <linux/sched/mm.h>
2017-03-02 08:42:33 +01:00
xfs_buf.h
block: Get rid of blk_get_backing_dev_info()
2017-02-02 08:21:32 -07:00
xfs_buf_item.c
xfs: reset b_first_retry_time when clear the retry status of xfs_buf_t
2017-02-03 14:39:07 -08:00
xfs_buf_item.h
xfs_dir2_readdir.c
xfs: remove i_iolock and use i_rwsem in the VFS inode instead
2016-11-30 14:33:25 +11:00
xfs_discard.c
xfs: don't block the log commit handler for discards
2017-02-09 11:36:40 -08:00
xfs_discard.h
xfs: don't block the log commit handler for discards
2017-02-09 11:36:40 -08:00
xfs_dquot.c
xfs: don't wrap ID in xfs_dq_get_next_id
2017-01-17 11:43:38 -08:00
xfs_dquot.h
xfs_dquot_item.c
xfs_dquot_item.h
xfs_error.c
xfs_error.h
xfs_export.c
xfs_export.h
xfs_extent_busy.c
xfs: fix len comparison in xfs_extent_busy_trim
2017-02-16 17:20:12 -08:00
xfs_extent_busy.h
xfs: improve handling of busy extents in the low-level allocator
2017-02-09 10:50:25 -08:00
xfs_extfree_item.c
xfs_extfree_item.h
xfs_file.c
fs: add i_blocksize()
2017-02-27 18:43:46 -08:00
xfs_filestream.c
xfs_filestream.h
xfs_fsops.c
xfs: remove boilerplate around xfs_btree_init_block
2017-01-30 16:32:24 -08:00
xfs_fsops.h
xfs_globals.c
xfs_icache.c
xfs: only reclaim unwritten COW extents periodically
2017-03-07 16:45:58 -08:00
xfs_icache.h
xfs: sync eofblocks scans under iolock are livelock prone
2017-01-30 16:32:25 -08:00
xfs_icreate_item.c
fs: xfs: xfs_icreate_item: constify xfs_item_ops structure
2016-11-28 14:57:42 +11:00
xfs_icreate_item.h
xfs_inode.c
xfs: only reclaim unwritten COW extents periodically
2017-03-07 16:45:58 -08:00
xfs_inode.h
xfs: remove i_iolock and use i_rwsem in the VFS inode instead
2016-11-30 14:33:25 +11:00
xfs_inode_item.c
xfs: provide helper for counting extents from if_bytes
2016-11-08 12:59:42 +11:00
xfs_inode_item.h
xfs_ioctl.c
sched/headers: Prepare to remove <linux/cred.h> inclusion from <linux/sched.h>
2017-03-02 08:42:31 +01:00
xfs_ioctl.h
xfs_ioctl32.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
xfs_ioctl32.h
xfs_iomap.c
xfs: use iomap new flag for newly allocated delalloc blocks
2017-03-08 09:58:08 -08:00
xfs_iomap.h
xfs: introduce xfs_aligned_fsb_count
2017-02-06 17:47:46 -08:00
xfs_iops.c
statx: Add a system call to make enhanced file info available
2017-03-02 20:51:15 -05:00
xfs_iops.h
xfs_itable.c
xfs: remove kmem_zalloc_greedy
2017-03-07 20:10:50 -08:00
xfs_itable.h
xfs_linux.h
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
xfs_log.c
xfs: don't print warnings when xfs_log_force fails
2017-01-09 13:45:01 -08:00
xfs_log.h
xfs: remove unused struct declarations
2017-01-30 16:32:25 -08:00
xfs_log_cil.c
xfs: don't block the log commit handler for discards
2017-02-09 11:36:40 -08:00
xfs_log_priv.h
xfs: don't block the log commit handler for discards
2017-02-09 11:36:40 -08:00
xfs_log_recover.c
Merge branch 'xfs-4.10-misc-fixes-3' into for-next
2016-12-07 17:42:30 +11:00
xfs_message.c
xfs_message.h
xfs_mount.c
xfs: Use xfs_icluster_size_fsb() to calculate inode alignment mask
2017-03-07 20:10:50 -08:00
xfs_mount.h
xfs: resurrect debug mode drop buffered writes mechanism
2017-02-16 17:19:15 -08:00
xfs_mru_cache.c
xfs_mru_cache.h
xfs_ondisk.h
xfs_pnfs.c
xfs: remove i_iolock and use i_rwsem in the VFS inode instead
2016-11-30 14:33:25 +11:00
xfs_pnfs.h
xfs: remove i_iolock and use i_rwsem in the VFS inode instead
2016-11-30 14:33:25 +11:00
xfs_qm.c
xfs: prevent quotacheck from overloading inode lru
2017-01-27 09:32:30 -08:00
xfs_qm.h
xfs_qm_bhv.c
xfs_qm_syscalls.c
xfs_quota.h
xfs_quotaops.c
xfs_refcount_item.c
xfs: fix double-cleanup when CUI recovery fails
2017-01-03 18:39:32 -08:00
xfs_refcount_item.h
xfs_reflink.c
xfs: only reclaim unwritten COW extents periodically
2017-03-07 16:45:58 -08:00
xfs_reflink.h
xfs: only reclaim unwritten COW extents periodically
2017-03-07 16:45:58 -08:00
xfs_rmap_item.c
xfs_rmap_item.h
xfs_rtalloc.c
xfs: simplify xfs_rtallocate_extent
2017-02-17 16:52:52 -08:00
xfs_rtalloc.h
xfs: simplify xfs_rtallocate_extent
2017-02-17 16:52:52 -08:00
xfs_stats.c
xfs: make xfs btree stats less huge
2016-12-05 14:38:58 +11:00
xfs_stats.h
xfs: make xfs btree stats less huge
2016-12-05 14:38:58 +11:00
xfs_super.c
xfs: only reclaim unwritten COW extents periodically
2017-03-07 16:45:58 -08:00
xfs_super.h
xfs: don't block the log commit handler for discards
2017-02-09 11:36:40 -08:00
xfs_symlink.c
xfs: remove i_iolock and use i_rwsem in the VFS inode instead
2016-11-30 14:33:25 +11:00
xfs_symlink.h
xfs_sysctl.c
xfs_sysctl.h
xfs_sysfs.c
xfs: resurrect debug mode drop buffered writes mechanism
2017-02-16 17:19:15 -08:00
xfs_sysfs.h
xfs_trace.c
xfs_trace.h
mm,fs,dax: change ->pmd_fault to ->huge_fault
2017-02-24 17:46:54 -08:00
xfs_trans.c
xfs_trans.h
xfs: remove unused struct declarations
2017-01-30 16:32:25 -08: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
xfs: several xattr functions can be void
2016-12-05 12:32:14 +11:00