On 07/22, Oleg Nesterov wrote:
>
> +static void sb_freeze_unlock(struct super_block *sb)
> +{
> +     int level;
> +
> +     for (level = 0; level < SB_FREEZE_LEVELS; ++level)
> +             percpu_up_write(sb->s_writers.rw_sem + level);
>  }

OK, this is not exactly right, see the fix below.

Otherwise seems to work, but see another email I'll send in reply to 0/4.

Oleg.

--- a/fs/super.c
+++ b/fs/super.c
@@ -1237,7 +1237,7 @@ static void sb_freeze_unlock(struct super_block *sb)
 {
        int level;
 
-       for (level = 0; level < SB_FREEZE_LEVELS; ++level)
+       for (level = SB_FREEZE_LEVELS; --level >= 0; )
                percpu_up_write(sb->s_writers.rw_sem + level);
 }
 

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

Reply via email to