- inode->i_state &= ~I_DIRTY;
-
- /*
- * Paired with smp_mb() in __mark_inode_dirty(). This allows
- * __mark_inode_dirty() to test i_state without grabbing i_lock -
- * either they see the I_DIRTY bits cleared or we see the dirtied
- * inode.
- *
- * I_DIRTY_PAGES is always cleared together above even if @mapping
- * still has dirty pages. The flag is reinstated after smp_mb() if
- * necessary. This guarantees that either __mark_inode_dirty()
- * sees clear I_DIRTY_PAGES or we see PAGECACHE_TAG_DIRTY.
- */
- smp_mb();
-
- if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY))
- inode->i_state |= I_DIRTY_PAGES;
-