+ } else {
+ /* Open the file with O_CREAT, but the file already
+ * existed on MDT. This may happend in the case that
+ * the LOOKUP ibits lock is revoked and the
+ * corresponding dentry cache is deleted.
+ * i.e. In the current Lustre, the truncate operation
+ * will revoke the LOOKUP ibits lock, and the file
+ * dentry cache will be invalidated. The following open
+ * with O_CREAT flag will call into ->atomic_open, the
+ * file was wrongly though as newly created file and
+ * try to auto cache the file. So after client knows it
+ * is not a DISP_OPEN_CREATE, it should cleanup the
+ * already created PCC copy.
+ */
+ pcc_create_attach_cleanup(dir->i_sb, &pca);