hello,

On 07/20/2016 04:46 PM, Holger Hoffstätte wrote:
On 07/20/16 07:56, Wang Xiaoguang wrote:
Currently in btrfs, for data space reservation, it does not update
bytes_may_use in btrfs_update_reserved_bytes() and the decrease operation
will be delayed to be done in extent_clear_unlock_delalloc(), for
fallocate(2), decrease operation is even delayed to be done in end
of btrfs_fallocate(), which is too late. Obviously such delay will
cause unnecessary pressure to enospc system, in [PATCH 4/4], there is
a simpel test script that can reveal such false ENOSPC bug.

So in this patch set, it will remove RESERVE_FREE, RESERVE_ALLOC and
RESERVE_ALLOC_NO_ACCOUNT, and we always update bytes_may_use timely.

I'll also commit a fstests test case for this issue.

Wang Xiaoguang (4):
   btrfs: use correct offset for reloc_inode in
     prealloc_file_extent_cluster()
   btrfs: divide btrfs_update_reserved_bytes() into two functions
   btrfs: introduce new EXTENT_CLEAR_DATA_RESV flag
   btrfs: update btrfs_space_info's bytes_may_use timely

Just like the previous version, for all 4 patches:

Tested-by: Holger Hoffstätte <hol...@applied-asynchrony.com>

via the reproducer script & some very large manual fallocates.
Yes, thanks very much for your test.
I also run the whole fstests before sending this patch set :)

Regards,
Xiaoguang Wang

thanks!
Holger






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

Reply via email to