[GIT PULL] XFS update for 3.9-rc1

From: Ben Myers
Date: Tue Feb 19 2013 - 18:04:28 EST


Hi Linus,

Please pull these XFS updates for 3.9-rc1. Here there are
primarily fixes for regressions and bugs, but there are a few cleanups
too. There are fixes for compound buffers, quota asserts, dir v2 block
compaction, mount behavior, use-after-free with AIO, swap extents, an
unmount hang, speculative preallocation, write verifiers, the allocator
stack switch, recursion on xa_lock, an xfs_buf_find oops, and a memory
barrier in xfs_ifunlock. Cleanups include the removal of unused
XFS_TRANS_DEBUG routines, removal of obsolete simple_strto*, removal of
boolean_t, removal of the rest of boolean_t, and replacement of a
hardcoded 128 with the log header size when calculating log space
reservations.

Thanks,
Ben

The following changes since commit a49f0d1ea3ec94fc7cf33a7c36a16343b74bd565:

Linux 3.8-rc1 (2012-12-21 17:19:00 -0800)

are available in the git repository at:

git://oss.sgi.com/xfs/xfs tags/for-linus-v3.9-rc1

for you to fetch changes up to 1e82379b018ceed0f0912327c60d73107dacbcb3:

xfs: xfs_bmap_add_attrfork_local is too generic (2013-02-14 17:35:51 -0600)

----------------------------------------------------------------
xfs: update for 3.9-rc1

For 3.9-rc1 there are primarily bugfixes and a few cleanups.

- fix(es) for compound buffers
- remove unused XFS_TRANS_DEBUG routines
- fix for dquot soft timer asserts due to overflow of d_blk_softlimit
- don't zero allocation args structure members after they are memset(0)
- fix for regression in dir v2 code introduced in commit 20f7e9f3
- remove obsolete simple_strto<foo>
- fix return value when filesystem probe finds no XFS magic, a
regression introduced in 9802182.
- remove boolean_t typedef completely
- fix stack switch in __xfs_bmapi_allocate by moving the check for stack
switch up into xfs_bmapi_write.
- fix build error due to incomplete boolean_t removal
- fix oops in _xfs_buf_find by validating that the requested block is
within the filesystem bounds.
- limit speculative preallocation near ENOSPC.
- fix an unmount hang in xfs_wait_buftarg by freeing the
xfs_buf_log_item in xfs_buf_item_unlock.
- fix a possible use after free with AIO.
- fix xfs_swap_extents after removal of xfs_flushinval_pages, a
regression introduced in fb59581404a.
- replace hardcoded 128 with log header size
- add memory barrier before wake_up_bit in xfs_ifunlock
- limit speculative preallocation on sparse files
- fix xa_lock recursion bug introduced in 90810b9e82a3
- fix write verifier for symlinks

----------------------------------------------------------------
Abhijit Pawar (1):
fs/xfs remove obsolete simple_strto<foo>

Alex Elder (1):
xfs: memory barrier before wake_up_bit()

Ben Myers (2):
Merge branch 'xfs-for-3.9'
xfs: fix fs/xfs/xfs_log.c:1740:39: error: 'B_TRUE' undeclared

Brian Foster (4):
xfs: remove int casts from debug dquot soft limit timer asserts
xfs: pull up stack_switch check into xfs_bmapi_write
xfs: recheck buffer pinned status after push trylock failure
xfs: remove log force from xfs_buf_trylock()

Dave Chinner (5):
xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end
xfs: limit speculative prealloc near ENOSPC thresholds
xfs: fix shutdown hang on invalid inode during create
xfs: limit speculative prealloc size on sparse files
xfs: xfs_bmap_add_attrfork_local is too generic

Eric Sandeen (3):
xfs: don't zero structure members after a memset(0)
xfs: recalculate leaf entry pointer after compacting a dir2 block
xfs: Do not return EFSCORRUPTED when filesystem probe finds no XFS magic

Jan Kara (1):
xfs: Fix possible use-after-free with AIO

Jeff Liu (13):
xfs: add a helper to figure out the space log reservation per item
xfs: make use of xfs_calc_buf_res() in xfs_trans.c
xfs: calculate XFS_TRANS_QM_SBCHANGE space log reservation at mount time
xfs: calculate xfs_qm_write_sb_changes() space log reservation at mount time
xfs: calcuate XFS_TRANS_QM_SETQLIM space log reservation at mount time
xfs: calculate XFS_TRANS_QM_DQALLOC space log reservation at mount time
xfs: calculate XFS_TRANS_QM_QUOTAOFF space log reservation at mount time
xfs: calculate XFS_TRANS_QM_QUOTAOFF_END space log reservation at mount time
xfs: introduce XFS_SB_LOG_RES() for transactions that modify sb on disk
xfs: make use of XFS_SB_LOG_RES() at xfs_log_sbcount()
xfs: make use of XFS_SB_LOG_RES() at xfs_mount_log_sb()
xfs: make use of XFS_SB_LOG_RES() at xfs_fs_log_dummy()
xfs: refactor space log reservation for XFS_TRANS_ATTR_SET

Mark Tinguely (5):
xfs: use b_maps[] for discontiguous buffers
xfs: rename bli_format to avoid confusion with bli_formats
xfs: fix segment in xfs_buf_item_format_segment
xfs: fix the multi-segment log buffer format
xfs remove the XFS_TRANS_DEBUG routines

Thiago Farina (1):
xfs: Remove boolean_t typedef completely.

Torsten Kaiser (1):
xfs: Fix xfs_swap_extents() after removal of xfs_flushinval_pages()

fs/xfs/xfs_alloc.c | 2 -
fs/xfs/xfs_aops.c | 2 +-
fs/xfs/xfs_attr.c | 9 +-
fs/xfs/xfs_bmap.c | 124 ++++++++++++----
fs/xfs/xfs_buf.c | 34 ++++-
fs/xfs/xfs_buf.h | 6 +-
fs/xfs/xfs_buf_item.c | 177 +++++++---------------
fs/xfs/xfs_buf_item.h | 16 +-
fs/xfs/xfs_dfrag.c | 4 +-
fs/xfs/xfs_dir2_block.c | 6 +-
fs/xfs/xfs_dquot.c | 12 +-
fs/xfs/xfs_fsops.c | 4 +-
fs/xfs/xfs_ialloc.c | 4 -
fs/xfs/xfs_inode.c | 6 -
fs/xfs/xfs_inode.h | 1 +
fs/xfs/xfs_inode_item.c | 16 --
fs/xfs/xfs_inode_item.h | 4 -
fs/xfs/xfs_iomap.c | 86 +++++++++--
fs/xfs/xfs_log.c | 10 +-
fs/xfs/xfs_mount.c | 14 +-
fs/xfs/xfs_mount.h | 9 +-
fs/xfs/xfs_qm.c | 7 +-
fs/xfs/xfs_qm_bhv.c | 2 +-
fs/xfs/xfs_qm_syscalls.c | 32 ++--
fs/xfs/xfs_super.c | 29 ++--
fs/xfs/xfs_trace.h | 1 +
fs/xfs/xfs_trans.c | 376 ++++++++++++++++++++++++++++++-----------------
fs/xfs/xfs_trans.h | 18 ++-
fs/xfs/xfs_trans_ail.c | 14 --
fs/xfs/xfs_trans_buf.c | 27 ++--
fs/xfs/xfs_trans_dquot.c | 10 +-
fs/xfs/xfs_trans_inode.c | 41 ------
fs/xfs/xfs_types.h | 1 -
fs/xfs/xfs_vnodeops.c | 12 +-
34 files changed, 613 insertions(+), 503 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/