On Tue, Aug 30, 2011 at 04:24:16PM +1000, Dave Chinner wrote: > > xfs_mark_inode_dirty_sync( > > @@ -82,6 +81,10 @@ xfs_mark_inode_dirty_sync( > > > > if (!(inode->i_state & (I_WILL_FREE|I_FREEING))) > > mark_inode_dirty_sync(inode); > > + else { > > + barrier(); > > + ip->i_update_core = 1; > > + } > > } > > Why the barrier()? Isn't that just a compiler barrier? If you are > worried about catching the update vs clearing it in transaction > commit, shouldn't that use smp_mb() instead (in both places)? It's a blind copy & past from xfs_fs_dirty_inode. The comments there suggests it is for update ordering. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs