if (rc)
GOTO(out_oa, rc);
}
- rc = obd_create(mds->mds_osc_exp, oinfo.oi_oa,
+ rc = obd_create(mds->mds_osc_exp, oinfo.oi_oa,
&oinfo.oi_md, &oti);
if (rc) {
int level = D_ERROR;
parent = mds_fid2dentry(mds, rec->ur_fid1, NULL);
if (IS_ERR(parent)) {
rc = PTR_ERR(parent);
- LCONSOLE_WARN("Parent "LPU64"/%u lookup error %d."
+ LCONSOLE_WARN("Parent "LPU64"/%u lookup error %d."
" Evicting client %s with export %s.\n",
rec->ur_fid1->id, rec->ur_fid1->generation, rc,
obd_uuid2str(&exp->exp_client_uuid),
dchild = mds_lookup(obd, rec->ur_name, parent, rec->ur_namelen - 1);
if (IS_ERR(dchild)) {
rc = PTR_ERR(dchild);
- LCONSOLE_WARN("Child "LPU64"/%u lookup error %d."
+ LCONSOLE_WARN("Child "LPU64"/%u lookup error %d."
" Evicting client %s with export %s.\n",
rec->ur_fid1->id, rec->ur_fid1->generation, rc,
obd_uuid2str(&exp->exp_client_uuid),
* to detect a re-open */
if (mfd == NULL) {
if (rec->ur_flags & MDS_OPEN_JOIN_FILE) {
+#if LUSTRE_FIX >= 50
+ /* Allow file join in beta builds to allow debugging */
rc = mds_join_file(rec, req, dchild, NULL);
if (rc)
GOTO(out_dput, rc);
+#else
+ CWARN("file join is not supported in this version of "
+ "Lustre\n");
+ GOTO(out_dput, req->rq_status = rc = -EOPNOTSUPP);
+#endif
}
mntget(mds->mds_vfsmnt);
CERROR("Re-opened file \n");
RETURN(-EEXIST);
}
if (rec->ur_flags & MDS_OPEN_JOIN_FILE) {
+#if LUSTRE_FIX >= 50
+ /* Allow file join in beta builds to allow debugging */
UNLOCK_INODE_MUTEX(dchild->d_inode);
rc = mds_join_file(rec, req, dchild, lockh);
if (rc)
RETURN(rc);
LOCK_INODE_MUTEX(dchild->d_inode);
+#else
+ CWARN("file join is not supported in this version of "
+ "Lustre\n");
+ RETURN(-EOPNOTSUPP);
+#endif
}
if (!(body->valid & OBD_MD_FLEASIZE) &&
!(body->valid & OBD_MD_FLMODEASIZE)) {
* dentry w/o filename to open the file. the anon dentry's
* parent was set to itself, so rec->ur_fid1 is the file.
* And in MDC it cannot derive the dentry's parent dentry,
- * hence the file's name, so we hack here in MDS,
+ * hence the file's name, so we hack here in MDS,
* refer to bug 13030. */
dchild = mds_fid2dentry(mds, rec->ur_fid1, NULL);
} else {
/* trigger dqacq on the owner of child and parent */
lquota_adjust(mds_quota_interface_ref, obd, qcids, qpids, rc,
FSFILT_OP_CREATE);
+
RETURN(rc);
}
} else if (mfd->mfd_mode & MDS_FMODE_EXEC) {
mds_allow_write_access(inode);
}
- /* here writecount change also needs protection from orphan write sem.
+ /* here writecount change also needs protection from orphan write sem.
* so drop orphan write sem after mds_put_write_access, bz 12888. */
MDS_UP_WRITE_ORPHAN_SEM(inode);
cleanup_phase = 2; /* dput(pending_child) when finished */
if (S_ISDIR(pending_child->d_inode->i_mode)) {
- rc = ll_vfs_rmdir(pending_dir, pending_child,
+ rc = ll_vfs_rmdir(pending_dir, pending_child,
mds->mds_vfsmnt);
if (rc)
CERROR("error unlinking orphan dir %s: rc %d\n",