On Sat, Nov 13, 2010 at 12:17:56AM +0100, Arne Jansen wrote:
> 'unused' calculated with wrong sign in reserve_metadata_bytes().
> This might have lead to unwanted over-reservations.
> 
> Signed-off-by: Arne Jansen <[email protected]>
> ---
>  fs/btrfs/extent-tree.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index a541bc8..ddaf634 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -3413,7 +3413,7 @@ again:
>        * our reservation.
>        */
>       if (unused <= space_info->total_bytes) {
> -             unused -= space_info->total_bytes;
> +             unused = space_info->total_bytes - unused;
>               if (unused >= num_bytes) {
>                       if (!reserved)
>                               space_info->bytes_reserved += orig_bytes;
> -- 
> 1.7.2.2
> 

Good catch

Reviewed-by: Josef Bacik <[email protected]>

Thanks,

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

Reply via email to