On thu, 17 May 2012 18:20:04 +0300, Ilya Dryomov wrote: > On Thu, May 17, 2012 at 07:58:53PM +0800, Miao Xie wrote: >> We forget to free fs_info->balance_ctl in the btrfs_pause_balance() >> when umounting the fs. >> >> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> >> --- >> fs/btrfs/volumes.c | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >> >> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c >> index c536d52..fd7fe80 100644 >> --- a/fs/btrfs/volumes.c >> +++ b/fs/btrfs/volumes.c >> @@ -2937,6 +2937,9 @@ int btrfs_pause_balance(struct btrfs_fs_info *fs_info) >> ret = -ENOTCONN; >> } >> >> + if (btrfs_fs_closing(fs_info) && fs_info->balance_ctl) >> + unset_balance_control(fs_info); >> + >> mutex_unlock(&fs_info->balance_mutex); >> return ret; >> } > > It is kfree()'d in free_fs_info(), which should be called on unmount. > Am I missing something here ? It is my mistake. Sorry. BTW I think freeing it in btrfs_pause_balance() is better because it is relative to the balance, or the readability will become worse. Thanks Miao -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html