xfs: force the log if we encounter pinned buffers in .iop_pushbuf
We need to check for pinned buffers even in .iop_pushbuf given that inode items flush into the same buffers that may be pinned directly due operations on the unlinked inode list operating directly on buffers. To do this add a return value to .iop_pushbuf that tells the AIL push about this and use the existing log force mechanisms to unpin it. Signed-off-by:Christoph Hellwig <hch@lst.de> Reported-by:
Stefan Priebe <s.priebe@profihost.ag> Tested-by:
Stefan Priebe <s.priebe@profihost.ag> Reviewed-by:
Dave Chinner <dchinner@redhat.com> Signed-off-by:
Alex Elder <aelder@sgi.com>
Showing
- fs/xfs/xfs_buf_item.c 2 additions, 1 deletionfs/xfs/xfs_buf_item.c
- fs/xfs/xfs_dquot_item.c 7 additions, 3 deletionsfs/xfs/xfs_dquot_item.c
- fs/xfs/xfs_inode_item.c 7 additions, 3 deletionsfs/xfs/xfs_inode_item.c
- fs/xfs/xfs_trans.h 1 addition, 1 deletionfs/xfs/xfs_trans.h
- fs/xfs/xfs_trans_ail.c 7 additions, 2 deletionsfs/xfs/xfs_trans_ail.c
Please register or sign in to comment