"DCACHE_LUSTRE_INVALID" is controlled by "MDS_INODELOCK_LOOKUP" lock which is corresponding to "IT_LOOKUP", do not skip invalidate for other intent.
i=robert.read
i=johann
GOTO(out_sa, rc);
}
- if ((de->d_flags & DCACHE_LUSTRE_INVALID) == 0)
- GOTO(out_sa, rc = 1);
-
exp = ll_i2mdcexp(de->d_inode);
/* Never execute intents for mount points.
ll_frob_intent(&it, &lookup_it);
LASSERT(it);
+ if (it->it_op == IT_LOOKUP && !(de->d_flags & DCACHE_LUSTRE_INVALID))
+ GOTO(out_sa, rc = 1);
+
ll_prepare_mdc_op_data(&op_data, parent, de->d_inode,
de->d_name.name, de->d_name.len, 0, NULL);