xfs: refactor xfs_reserve_blocks() to handle ENOSPC correctly