ext4: retry block allocation for failed DIO and DAX writes
authorJan Kara <jack@suse.cz>
Fri, 1 Apr 2016 06:07:22 +0000 (02:07 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 1 Apr 2016 06:07:22 +0000 (02:07 -0400)
commite84dfbe2bf170c626778079e5b94435b05b8d572
treed00b3abe754efacc314909b85ceede6d922c533c
parentdaf647d2dd58cec59570d7698a45b98e580f2076
ext4: retry block allocation for failed DIO and DAX writes

Currently if block allocation for DIO or DAX write fails due to ENOSPC,
we just returned it to userspace. However these ENOSPC errors can be
transient because the transaction freeing blocks has not yet committed.
This demonstrates as failures of generic/102 test when the filesystem is
mounted with 'dax' mount option.

Fix the problem by properly retrying the allocation in case of ENOSPC
error in get blocks functions used for direct IO.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Tested-by: Ross Zwisler <ross.zwisler@linux.intel.com>
fs/ext4/inode.c
This page took 0.039109 seconds and 5 git commands to generate.