[PATCH v2 0/3] xfs: eofblocks serialization fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Here is v2 of the xfs_free_eofblocks() i_size fix. Patch 1 is new and
kills off the need_iolock parameter as suggested by Christoph. Patch 2
is also new and fixes a separate bug I ran into during testing where
multiple threads crash into ENOSPC, run eofb scans in parallel and
livelock against eachother because inode iolocks are held across entire
eofb scans. Patch 3 is roughly the same as v1: serialize
xfs_free_eofblocks() against file-extending async dio writes via
inode_dio_wait().

Thoughts, reviews, flames appreciated.

Brian

v2:
- Kill off the xfs_free_eofblocks() need_iolock parameter. All callers
  must acquire IOLOCK_EXCL.
- Drop iolock across internal low free space scans to avoid livelock.
v1: http://www.spinics.net/lists/linux-xfs/msg03437.html

Brian Foster (3):
  xfs: pull up iolock from xfs_free_eofblocks()
  xfs: sync eofblocks scans under iolock are livelock prone
  xfs: fix eofblocks race with file extending async dio writes

 fs/xfs/xfs_bmap_util.c | 42 +++++++++++++++--------------------
 fs/xfs/xfs_bmap_util.h |  3 +--
 fs/xfs/xfs_file.c      | 13 +++++++----
 fs/xfs/xfs_icache.c    | 59 +++++++++++++++-----------------------------------
 fs/xfs/xfs_icache.h    |  2 --
 fs/xfs/xfs_inode.c     | 51 +++++++++++++++++++++++--------------------
 6 files changed, 73 insertions(+), 97 deletions(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux