Re: [Final call for testers][PATCH] superblock handling changes (2.4.6-pre3)

From: Jonathan Lundell (jlundell@pobox.com)
Date: Fri Jun 15 2001 - 12:02:55 EST


At 5:16 PM +0100 2001-06-15, Matthew Wilcox wrote:
>I think this could be clearer.
>
> struct list_head *tmp;
>restart:
> spin_lock(&sb_lock);
> list_for_each(tmp, super_blocks) {
> struct super_block *sb = sb_entry(tmp);
> if (!sb->s_dirt)
> continue;
> spin_unlock(&sb_lock);
> down_read(&sb->s_umount);
> write_super(sb);
> drop_super(sb);
> goto restart;
> }
> spin_unlock(&sb_lock);

A minor improvement, IMO, is:

        struct list_head *tmp;
restart:
        spin_lock(&sb_lock);
        list_for_each(tmp, super_blocks) {
                struct super_block *sb = sb_entry(tmp);
                if (sb->s_dirt) {
                        sb->s_count++;
                        spin_unlock(&sb_lock);
                        down_read(&sb->s_umount);
                        write_super(sb);
                        drop_super(sb);
                        goto restart;
                }
        }
        spin_unlock(&sb_lock);

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



This archive was generated by hypermail 2b29 : Fri Jun 15 2001 - 21:00:25 EST