···4242#include <linux/highmem.h>4343#include <linux/quotaops.h>4444#include <linux/sort.h>4545+#include <linux/iversion.h>45464647#include <cluster/masklog.h>4748···11751174 le16_add_cpu(&pde->rec_len,11761175 le16_to_cpu(de->rec_len));11771176 de->inode = 0;11781178- dir->i_version++;11771177+ inode_inc_iversion(dir);11791178 ocfs2_journal_dirty(handle, bh);11801179 goto bail;11811180 }···17301729 if (ocfs2_dir_indexed(dir))17311730 ocfs2_recalc_free_list(dir, handle, lookup);1732173117331733- dir->i_version++;17321732+ inode_inc_iversion(dir);17341733 ocfs2_journal_dirty(handle, insert_bh);17351734 retval = 0;17361735 goto bail;···17761775 * readdir(2), then we might be pointing to an invalid17771776 * dirent right now. Scan from the start of the block17781777 * to make sure. */17791779- if (*f_version != inode->i_version) {17781778+ if (inode_cmp_iversion(inode, *f_version)) {17801779 for (i = 0; i < i_size_read(inode) && i < offset; ) {17811780 de = (struct ocfs2_dir_entry *)17821781 (data->id_data + i);···17921791 i += le16_to_cpu(de->rec_len);17931792 }17941793 ctx->pos = offset = i;17951795- *f_version = inode->i_version;17941794+ *f_version = inode_query_iversion(inode);17961795 }1797179617981797 de = (struct ocfs2_dir_entry *) (data->id_data + ctx->pos);···18701869 * readdir(2), then we might be pointing to an invalid18711870 * dirent right now. Scan from the start of the block18721871 * to make sure. */18731873- if (*f_version != inode->i_version) {18721872+ if (inode_cmp_iversion(inode, *f_version)) {18741873 for (i = 0; i < sb->s_blocksize && i < offset; ) {18751874 de = (struct ocfs2_dir_entry *) (bh->b_data + i);18761875 /* It's too expensive to do a full···18871886 offset = i;18881887 ctx->pos = (ctx->pos & ~(sb->s_blocksize - 1))18891888 | offset;18901890- *f_version = inode->i_version;18891889+ *f_version = inode_query_iversion(inode);18911890 }1892189118931892 while (ctx->pos < i_size_read(inode)···19411940 */19421941int ocfs2_dir_foreach(struct inode *inode, struct dir_context *ctx)19431942{19441944- u64 version = inode->i_version;19431943+ u64 version = inode_query_iversion(inode);19451944 ocfs2_dir_foreach_blk(inode, &version, ctx, true);19461945 return 0;19471946}