return -EINVAL;
}
+/* FIXME: commetted out by huanghua@clusterfs.com */
+/*
if (lmm->lmm_object_id == 0) {
CERROR("zero object id\n");
lov_dump_lmm_v1(D_WARNING, lmm);
return -EINVAL;
}
-
+*/
if (lmm->lmm_pattern != cpu_to_le32(LOV_PATTERN_RAID0)) {
CERROR("bad striping pattern\n");
lov_dump_lmm_v1(D_WARNING, lmm);
ENTRY;
- DEBUG_REQ(D_INODE, req, "unlink "DFID3"/"DFID3, PFID3(rr->rr_fid1),
- PFID3(rr->rr_fid2));
+ DEBUG_REQ(D_INODE, req, "unlink "DFID3"/%s\n", PFID3(rr->rr_fid1),
+ rr->rr_name);
/* MDS_CHECK_RESENT here */
GOTO(out_unlock_child, rc);
rc = mdt_handle_last_unlink(info, mc, &RQF_MDS_REINT_UNLINK_LAST);
+ GOTO(out_unlock_child, rc);
out_unlock_child:
mdt_object_unlock_put(info, mc, lhc, rc);
GOTO(out, rc = PTR_ERR(msrcdir));
/*step 2: find & lock the target dir*/
+ lh_tgtdirp = &info->mti_lh[MDT_LH_CHILD];
+ lh_tgtdirp->mlh_mode = LCK_EX;
if (lu_fid_eq(rr->rr_fid1, rr->rr_fid2)) {
mdt_object_get(info->mti_ctxt, msrcdir);
mtgtdir = msrcdir;
} else {
- lh_tgtdirp = &info->mti_lh[MDT_LH_CHILD];
- lh_tgtdirp->mlh_mode = LCK_EX;
mtgtdir = mdt_object_find_lock(info, rr->rr_fid2, lh_tgtdirp,
MDS_INODELOCK_UPDATE);
if (IS_ERR(mtgtdir))
out_unlock_old:
mdt_object_unlock_put(info, mold, lh_oldp, rc);
out_unlock_target:
- if (mtgtdir == msrcdir)
- mdt_object_put(info->mti_ctxt, mtgtdir);
- else
- mdt_object_unlock_put(info, mtgtdir, lh_tgtdirp, rc);
+ mdt_object_unlock_put(info, mtgtdir, lh_tgtdirp, rc);
out_unlock_source:
mdt_object_unlock_put(info, msrcdir, lh_srcdirp, rc);
out:
S_IFREG | (attr->la_mode & (S_IRWXUGO|S_ISVTX)), th);
}
+static int osd_mksym(struct osd_thread_info *info, struct osd_object *obj,
+ struct lu_attr *attr, struct thandle *th)
+{
+ LASSERT(S_ISLNK(attr->la_mode));
+ return -EOPNOTSUPP;
+}
+
+static int osd_mknod(struct osd_thread_info *info, struct osd_object *obj,
+ struct lu_attr *attr, struct thandle *th)
+{
+ return -EOPNOTSUPP;
+}
+
typedef int (*osd_obj_type_f)(struct osd_thread_info *, struct osd_object *,
struct lu_attr *, struct thandle *);
-osd_obj_type_f osd_mksym = NULL;
-osd_obj_type_f osd_mknod = NULL;
-
static osd_obj_type_f osd_create_type_f(__u32 mode)
{
osd_obj_type_f result;