[PATCH 1/2] xfs: fix xfs_mark_inode_dirty during umount
Christoph Hellwig
hch at infradead.org
Tue Aug 30 01:39:49 CDT 2011
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.
More information about the xfs
mailing list