On Sun, 2010-06-06 at 17:50 +0300, Artem Bityutskiy wrote: > void sb_mark_dirty(struct super_block *sb); > static inline void sb_mark_clean(struct super_block *sb) > { > sb->s_dirty = 0; > + /* > + * Normally FSes first unset the sb->s_dirty flag, and then start > + * synchronizing the SB. The memory barrier ensures this order. > + */ > + smp_mb(); ... > void sb_mark_dirty(struct super_block *sb) > { > + /* > + * Normally FSes modify the SB, and then mark it as dirty. The memory > + * barrier ensures this order. > + */ > + smp_mb(); ... Hmm, these ones should be 'mb()', not 'smp_mb()'. -- Best Regards, Artem Bityutskiy (Артём Битюцкий) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html