di->i_mode = cpu_to_le16(inode->i_mode);
        di->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec);
        di->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 
        ocfs2_journal_dirty(handle, di_bh);
 
 
        }
 
        ocfs2_et_update_clusters(et, -len);
+       ocfs2_update_inode_fsync_trans(handle, inode, 1);
 
        ocfs2_journal_dirty(handle, et->et_root_bh);
 
        di->i_ctime = di->i_mtime = cpu_to_le64(inode->i_ctime.tv_sec);
        di->i_ctime_nsec = di->i_mtime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
 
+       ocfs2_update_inode_fsync_trans(handle, inode, 1);
        ocfs2_journal_dirty(handle, di_bh);
 
 out_commit:
 
        di->i_size = cpu_to_le64(sb->s_blocksize);
        di->i_ctime = di->i_mtime = cpu_to_le64(dir->i_ctime.tv_sec);
        di->i_ctime_nsec = di->i_mtime_nsec = cpu_to_le32(dir->i_ctime.tv_nsec);
+       ocfs2_update_inode_fsync_trans(handle, dir, 1);
 
        /*
         * This should never fail as our extent list is empty and all
        di->i_dyn_features = cpu_to_le16(OCFS2_I(dir)->ip_dyn_features);
        spin_unlock(&OCFS2_I(dir)->ip_lock);
        di->i_dx_root = cpu_to_le64(0ULL);
+       ocfs2_update_inode_fsync_trans(handle, dir, 1);
 
        ocfs2_journal_dirty(handle, di_bh);
 
 
        inode->i_atime = CURRENT_TIME;
        di->i_atime = cpu_to_le64(inode->i_atime.tv_sec);
        di->i_atime_nsec = cpu_to_le32(inode->i_atime.tv_nsec);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
        ocfs2_journal_dirty(handle, bh);
 
 out_commit:
        if (ret < 0)
                mlog_errno(ret);
 
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
        ocfs2_commit_trans(osb, handle);
 out:
        return ret;
        di->i_size = cpu_to_le64(new_i_size);
        di->i_ctime = di->i_mtime = cpu_to_le64(inode->i_ctime.tv_sec);
        di->i_ctime_nsec = di->i_mtime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 
        ocfs2_journal_dirty(handle, fe_bh);
 
                                      OCFS2_JOURNAL_ACCESS_WRITE);
        if (ret)
                mlog_errno(ret);
+       ocfs2_update_inode_fsync_trans(handle, inode, 1);
 
 out:
        if (ret) {
                di->i_ctime_nsec = cpu_to_le32(inode->i_mtime.tv_nsec);
                di->i_mtime_nsec = di->i_ctime_nsec;
                ocfs2_journal_dirty(handle, di_bh);
+               ocfs2_update_inode_fsync_trans(handle, inode, 1);
                ocfs2_commit_trans(OCFS2_SB(inode->i_sb), handle);
        }
 
 
        di = (struct ocfs2_dinode *) bh->b_data;
        di->i_mode = cpu_to_le16(inode->i_mode);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 
        ocfs2_journal_dirty(handle, bh);
 
                if (ret)
                        mlog_errno(ret);
        }
+       ocfs2_update_inode_fsync_trans(handle, inode, 1);
 
        ocfs2_commit_trans(osb, handle);
 out:
 
                                                        old_blkno, len);
        }
 
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 out:
        ocfs2_free_path(path);
        return ret;
        inode->i_ctime = CURRENT_TIME;
        di->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec);
        di->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 
        ocfs2_journal_dirty(handle, di_bh);
 
 
        di->i_orphaned_slot = 0;
        set_nlink(inode, 1);
        ocfs2_set_links_count(di, inode->i_nlink);
+       ocfs2_update_inode_fsync_trans(handle, inode, 1);
        ocfs2_journal_dirty(handle, di_bh);
 
        status = ocfs2_add_entry(handle, dentry, inode,
 
        spin_unlock(&OCFS2_I(alloc_inode)->ip_lock);
        i_size_write(alloc_inode, le64_to_cpu(fe->i_size));
        alloc_inode->i_blocks = ocfs2_inode_sector_count(alloc_inode);
+       ocfs2_update_inode_fsync_trans(handle, alloc_inode, 0);
 
        status = 0;
 
 
        ac->ac_find_loc_priv = res;
        *fe_blkno = res->sr_blkno;
-
+       ocfs2_update_inode_fsync_trans(handle, dir, 0);
 out:
        if (handle)
                ocfs2_commit_trans(OCFS2_SB(dir->i_sb), handle);
 
        oi->ip_dyn_features &= ~(OCFS2_INLINE_XATTR_FL | OCFS2_HAS_XATTR_FL);
        di->i_dyn_features = cpu_to_le16(oi->ip_dyn_features);
        spin_unlock(&oi->ip_lock);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 
        ocfs2_journal_dirty(handle, di_bh);
 out_commit:
        }
 
        ret = __ocfs2_xattr_set_handle(inode, di, &xi, &xis, &xbs, &ctxt);
+       ocfs2_update_inode_fsync_trans(ctxt.handle, inode, 0);
 
        ocfs2_commit_trans(osb, ctxt.handle);
 
        ret = ocfs2_truncate_log_append(osb, handle, blkno, len);
        if (ret)
                mlog_errno(ret);
+       ocfs2_update_inode_fsync_trans(handle, inode, 0);
 
 out_commit:
        ocfs2_commit_trans(osb, handle);