Hi,

sorry for separate mail, just noticed a kfree inside a spinlock below

On Thu, Apr 07, 2011 at 06:06:08PM +0100, Hugo Mills wrote:
> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
> @@ -2115,10 +2162,20 @@ int btrfs_balance(struct btrfs_root *dev_root)
>                                          found_key.offset);
>               BUG_ON(ret && ret != -ENOSPC);
>               key.offset = found_key.offset - 1;
> +             spin_lock(&dev_root->fs_info->balance_info_lock);
> +             bal_info->completed++;
> +             spin_unlock(&dev_root->fs_info->balance_info_lock);
> +             printk(KERN_INFO "btrfs: balance: %llu/%llu block groups 
> completed\n",
> +                    bal_info->completed, bal_info->expected);
>       }
>       ret = 0;
>  error:
>       btrfs_free_path(path);
> +     spin_lock(&dev_root->fs_info->balance_info_lock);
> +     kfree(dev_root->fs_info->balance_info);
        ^^^^^
move it out of the spinlocked section

> +     dev_root->fs_info->balance_info = NULL;
> +     spin_unlock(&dev_root->fs_info->balance_info_lock);
> +error_no_status:
>       mutex_unlock(&dev_root->fs_info->volume_mutex);
>       return ret;
>  }
> -- 
> 1.7.2.5
> 
> --
> 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
--
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