xfs: flush delayed allcoation blocks on ENOSPC in create
authorDave Chinner <david@fromorbit.com>
Mon, 6 Apr 2009 16:48:30 +0000 (18:48 +0200)
committerChristoph Hellwig <hch@brick.lst.de>
Mon, 6 Apr 2009 16:48:30 +0000 (18:48 +0200)
commit153fec43ce5264dfe9f3530b281a2e940b25a0a8
tree803fa00839de5702a0349b434d24a788e9753d4e
parente43afd72d2455defd63a3f94f22fa09b586e58ed
xfs: flush delayed allcoation blocks on ENOSPC in create

If we are creating lots of small files, we can fail to get
a reservation for inode create earlier than we should due to
EOF preallocation done during delayed allocation reservation.
Hence on the first reservation ENOSPC failure flush all the
delayed allocation blocks out of the system and retry.

This fixes the last commonly triggered spurious ENOSPC issue
that has been reported.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/xfs_vnodeops.c