Btrfs: return ENOSPC when target space is full
authorFilipe David Borba Manana <fdmanana@gmail.com>
Mon, 5 Aug 2013 15:25:12 +0000 (16:25 +0100)
committerChris Mason <chris.mason@fusionio.com>
Sun, 1 Sep 2013 12:04:55 +0000 (08:04 -0400)
commit09fb99a696412ae0fceeafc06c987903416503b9
treec541ed0dc8707e9b5a183b637e7eb58a1306095c
parentada9af215cf7ce663ff3bf9d255923d75b57a4ce
Btrfs: return ENOSPC when target space is full

In extent-tree.c:do_chunk_alloc(), early on we returned 0 (success)
when the target space was full and when chunk allocation is needed.
However, later on in that same function we return ENOSPC if
btrfs_alloc_chunk() fails (and chunk allocation was needed) and
set the space's full flag.

This was inconsistent, as -ENOSPC should be returned if the space
is full and a chunk allocation needs to performed. If the space is
full but no chunk allocation is needed, just return 0 (success).

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/extent-tree.c