Re: [PATCH 4/4] change sb_writers to use percpu_rw_semaphore

From: Oleg Nesterov
Date: Fri Aug 07 2015 - 15:56:19 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/