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