if (body->valid & OBD_MD_FLEASIZE)
RETURN(0);
- OBD_ALLOC(*ids, mds->mds_lov_desc.ld_tgt_count * sizeof(**ids));
+ OBD_ALLOC(*ids, mds->mds_dt_desc.ld_tgt_count * sizeof(**ids));
if (*ids == NULL)
RETURN(-ENOMEM);
oti.oti_objid = *ids;
GOTO(out_oa, rc);
}
- mds_objids_from_lmm(*ids, lmm, &mds->mds_lov_desc);
+ mds_objids_from_lmm(*ids, lmm, &mds->mds_dt_desc);
lmm_buf = lustre_msg_buf(req->rq_repmsg, offset, 0);
lmm_bufsize = req->rq_repmsg->buflens[offset];
/* check if things like lfs setstripe are sending us the ea */
if (rec->ur_flags & MDS_OPEN_HAS_EA) {
rc = obd_iocontrol(OBD_IOC_LOV_SETSTRIPE,
- mds->mds_lov_exp,
+ mds->mds_dt_exp,
0, &lsm, rec->ur_eadata);
if (rc)
GOTO(out_oa, rc);
* striping for CMD. -p */
}
LASSERT(oa->o_gr >= FILTER_GROUP_FIRST_MDS);
- rc = obd_create(mds->mds_lov_exp, oa, &lsm, &oti);
+ rc = obd_create(mds->mds_dt_exp, oa, &lsm, &oti);
if (rc) {
int level = D_ERROR;
if (rc == -ENOSPC)
GOTO(out_oa, rc);
}
} else {
- rc = obd_iocontrol(OBD_IOC_LOV_SETEA, mds->mds_lov_exp,
+ rc = obd_iocontrol(OBD_IOC_LOV_SETEA, mds->mds_dt_exp,
0, &lsm, rec->ur_eadata);
if (rc) {
GOTO(out_oa, rc);
oa->o_size = inode->i_size;
obdo_from_inode(oa, inode, OBD_MD_FLTYPE|OBD_MD_FLATIME|
OBD_MD_FLMTIME| OBD_MD_FLCTIME| OBD_MD_FLSIZE);
- rc = obd_setattr(mds->mds_lov_exp, oa, lsm, &oti);
+ rc = obd_setattr(mds->mds_dt_exp, oa, lsm, &oti);
if (rc) {
CERROR("error setting attrs for inode %lu: rc %d\n",
inode->i_ino, rc);
LASSERT(lsm && lsm->lsm_object_id);
lmm = NULL;
- rc = obd_packmd(mds->mds_lov_exp, &lmm, lsm);
+ rc = obd_packmd(mds->mds_dt_exp, &lmm, lsm);
if (!id_ino(rec->ur_id2))
- obd_free_memmd(mds->mds_lov_exp, &lsm);
+ obd_free_memmd(mds->mds_dt_exp, &lsm);
LASSERT(rc >= 0);
lmm_size = rc;
body->eadatasize = rc;
LASSERT(lmm_bufsize >= lmm_size);
memcpy(lmm_buf, lmm, lmm_size);
- obd_free_diskmd(mds->mds_lov_exp, &lmm);
+ obd_free_diskmd(mds->mds_dt_exp, &lmm);
out_oa:
oti_free_cookies(&oti);
obdo_free(oa);
out_ids:
if (rc) {
- OBD_FREE(*ids, mds->mds_lov_desc.ld_tgt_count * sizeof(**ids));
+ OBD_FREE(*ids, mds->mds_dt_desc.ld_tgt_count * sizeof(**ids));
*ids = NULL;
}
RETURN(rc);
CDEBUG(D_INODE, "mfd %p, cookie "LPX64"\n", mfd,
mfd->mfd_handle.h_cookie);
if (ids != NULL) {
- mds_lov_update_objids(obd, ids);
- OBD_FREE(ids, sizeof(*ids) * mds->mds_lov_desc.ld_tgt_count);
+ mds_dt_update_objids(obd, ids);
+ OBD_FREE(ids, sizeof(*ids) * mds->mds_dt_desc.ld_tgt_count);
}
//if (rc)
// mds_mfd_destroy(mfd);
struct mds_body *body = NULL;
struct dentry *dchild = NULL, *dparent = NULL;
struct mds_export_data *med;
- struct lustre_handle parent_lockh[2];
+ struct lustre_handle parent_lockh[2] = {{0}, {0}};
int rc = 0, cleanup_phase = 0, acc_mode, created = 0;
int parent_mode = LCK_PR;
void *handle = NULL;
OLID4(rec->ur_id1), rec->ur_namelen - 1, rec->ur_name,
rec->ur_mode);
- parent_lockh[0].cookie = 0;
- parent_lockh[1].cookie = 0;
-
if (offset == 3) { /* intent */
rep = lustre_msg_buf(req->rq_repmsg, 0, sizeof (*rep));
body = lustre_msg_buf(req->rq_repmsg, 1, sizeof (*body));
}
MDS_CHECK_RESENT(req, reconstruct_open(rec, offset, req, child_lockh));
- MDS_UPDATE_COUNTER(mds, MDS_OPEN_COUNT);
/*
* Step 0: If we are passed a id, then we assume the client already
cleanup_phase = 1; /* parent dentry and lock */
/* try to retrieve MEA data for this dir */
- rc = mds_get_lmv_attr(obd, dparent->d_inode, &mea, &mea_size);
+ rc = mds_md_get_attr(obd, dparent->d_inode, &mea, &mea_size);
if (rc)
GOTO(cleanup, rc);
rc = fsfilt_setattr(obd, dparent, handle, &iattr, 0);
if (rc)
CERROR("error on parent setattr: rc = %d\n", rc);
- else
- MDS_UPDATE_COUNTER(mds, MDS_CREATE_COUNT);
+ else {
+ MD_COUNTER_INCREMENT(obd, create);
+ }
down(&dchild->d_inode->i_sem);
if (ino) {
* we do not read fid from EA here, because it is already
* updated and thus we avoid not needed IO, locking, etc.
*/
- body->valid |= OBD_MD_FID;
mds_pack_inode2body(obd, body, dchild->d_inode, 0);
} else {
mds_pack_inode2body(obd, body, dchild->d_inode, 1);
/*we are trying to create or write a exist dir*/
GOTO(cleanup, rc = -EISDIR);
}
- if (ll_permission(dchild->d_inode, acc_mode, NULL)) {
+ if (ll_permission(dchild->d_inode, acc_mode, NULL))
GOTO(cleanup, rc = -EACCES);
- }
+
if (is_mount_object(dchild)) {
CERROR("Found possible GNS mount object %*s; not "
"opening.\n", dchild->d_name.len,
obd->u.mds.mds_max_mdsize,
obd->u.mds.mds_max_cookiesize};
ENTRY;
-
- MDS_UPDATE_COUNTER((&obd->u.mds), MDS_CLOSE_COUNT);
+ MD_COUNTER_INCREMENT(obd, close);
rc = lustre_pack_reply(req, 3, repsize, NULL);
if (rc) {