superblock lock SMP safe ?

V Ganesh (ganesh@vxindia.veritas.com)
Tue, 15 Jun 1999 14:03:42 +0530 (IST)


extern inline void lock_super(struct super_block * sb)
{
if (sb->s_lock)
__wait_on_super(sb);
sb->s_lock = 1;
}

isn't there a race here ? shouldn't it be more like lock_buffer ?
while (!test_and_set_bit(0, &sb->s_lock))
__wait_on_super(sb);

or is it that all paths using lock_super already have the kernel lock ?

ganesh

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