• Yingping Lu's avatar
    [XFS] In actual allocation of file system blocks and freeing extents, the · d210a28c
    Yingping Lu authored
    transaction within each such operation may involve multiple locking of AGF
    buffer. While the freeing extent function has sorted the extents based on
    AGF number before entering into transaction, however, when the file system
    space is very limited, the allocation of space would try every AGF to get
    space allocated, this could potentially cause out-of-order locking, thus
    deadlock could happen. This fix mitigates the scarce space for allocation
    by setting aside a few blocks without reservation, and avoid deadlock by
    maintaining ascending order of AGF locking.
    
    SGI-PV: 947395
    SGI-Modid: xfs-linux-melb:xfs-kern:210801a
    Signed-off-by: default avatarYingping Lu <yingping@sgi.com>
    Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
    d210a28c
xfs_bmap.c 197 KB