summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_qm_syscalls.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2013-09-03 13:47:37 +0200
committerBen Myers <bpm@sgi.com>2013-09-10 20:58:07 +0200
commit46f9d2eb37849a328011b182729990d2db3f4d52 (patch)
tree0a471bd1ca18c7579679474f3f539cd4367db00d /fs/xfs/xfs_qm_syscalls.c
parentxfs: factor all the kmalloc-or-vmalloc fallback allocations (diff)
downloadlinux-46f9d2eb37849a328011b182729990d2db3f4d52.tar.xz
linux-46f9d2eb37849a328011b182729990d2db3f4d52.zip
xfs: aborted buf items can be in the AIL.
Saw this on generic/270 after a DQALLOC transaction overrun shutdown: XFS: Assertion failed: !(bip->bli_item.li_flags & XFS_LI_IN_AIL), file: fs/xfs/xfs_buf_item.c, line: 952 ..... xfs_buf_item_relse+0x4f/0xd0 xfs_buf_item_unlock+0x1b4/0x1e0 xfs_trans_free_items+0x7d/0xb0 xfs_trans_cancel+0x13c/0x1b0 xfs_symlink+0x37e/0xa60 .... When a transaction abort occured. If we are aborting a transaction and trigger this code path, then the item may be dirty. If the item is dirty, then it may be in the AIL. Hence if we are aborting, we need to check if the item is in the AIL and remove it before freeing it. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_qm_syscalls.c')
0 files changed, 0 insertions, 0 deletions