Re: [PATCH -tip] remove the BKL: remove "BKL auto-drop" assumptionfrom ext3_remount()

From: Ingo Molnar
Date: Sun Apr 26 2009 - 12:39:50 EST



* Alessio Igor Bogani <abogani@xxxxxxxxxx> wrote:

> Fix ext3_remount()'s "schedule() drops the BKL automatically" assumption,
> when ext3_mark_recovery_complete(), which can sleep, does not do that it can
> lock up.
>
> Signed-off-by: Alessio Igor Bogani <abogani@xxxxxxxxxx>
> ---
> fs/ext3/super.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/fs/ext3/super.c b/fs/ext3/super.c
> index dc905f9..3fa457a 100644
> --- a/fs/ext3/super.c
> +++ b/fs/ext3/super.c
> @@ -2561,9 +2561,11 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data)
> * We have to unlock super so that we can wait for
> * transactions.
> */
> + unlock_kernel();
> unlock_super(sb);
> ext3_mark_recovery_complete(sb, es);
> lock_super(sb);
> + lock_kernel();

Shouldnt this be a conditional-unlock, so that if the remount moves
away from under the BKL we dont break in this place?

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/