On Mon, Mar 27, 2017 at 12:29:57PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues <rgold...@suse.com>
> 
> We are facing the same problem with EDQUOT which was experienced with
> ENOSPC. Not sure if we require a full ticketing system such as ENOSPC, but
> here is a quick fix, which may be too big a hammer.
> 
> Quotas are reserved during the start of an operation, incrementing
> qg->reserved. However, it is written to disk in a commit_transaction
> which could take as long as commit_interval. In the meantime there
> could be deletions which are not accounted for because deletions are
> accounted for only while committed (free_refroot). So, when we get
> a EDQUOT flush the data to disk and try again.
> 
> This fixes fstests btrfs/139.
> 
> Signed-off-by: Goldwyn Rodrigues <rgold...@suse.com>
> ---
> Changes since v1:
>  - Changed start_delalloc_roots() to start_delalloc_inode() to target
>    the root in question only to reduce the amount of flush to be done.
>  - Added wait_ordered_extents().
> 
> Changes since v2:
>   - Revised patch header
>   - removed comment on combining conditions
>   - removed test case, to be done in fstests
> 
> Changes sinve v3:
>   - testcase reinstated
>   - return value checks
> 
> Changes since v4:
>  - removed testcase since btrfs/139 got incorporated in fstests

The point was to keep the test inside the changelog as well.

>  - return statements corrected
--
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