obd_set_info(md_obd->obd_self_export, strlen("async"), "async",
sizeof(async), &async);
+ if (mds_security == NULL)
+ mds_security = "null";
+
err = obd_set_info(md_obd->obd_self_export, strlen("sec"), "sec",
strlen(mds_security), mds_security);
out:
RETURN(err);
}
+
static int lustre_connect_ost(struct super_block *sb, char *lov,
struct obd_connect_data *data,
char *oss_security, int async, int pag)
char *name;
int type;
- /* tmp fix for cmobd set md reint */
LASSERT(rec->ur_eadata != NULL);
LASSERT(rec->ur_ea2data != NULL);
name = rec->ur_eadata;
-
- CDEBUG(D_INFO, "set %s EA for cmobd \n", name);
+ /* XXX: tmp fix for setting LOV EA from CMOBD */
type = mds_get_md_type(name);
- if (type != 0) {
+
+ if (type == EA_LOV) {
+ CDEBUG(D_INFO, "set %s EA for cmobd \n", name);
+
rc = fsfilt_set_md(obd, inode, handle,
rec->ur_ea2data,
- rec->ur_ea2datalen, type);
+ rec->ur_ea2datalen,
+ type);
+ if (rc)
+ GOTO(cleanup, rc);
}
- if (rc)
- GOTO(cleanup, rc);
} else if ((S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)) &&
!((rec->ur_iattr.ia_valid & ATTR_KEY) ||
(rec->ur_iattr.ia_valid & ATTR_MAC))) {
+
struct lov_stripe_md *lsm = NULL;
struct lov_user_md *lum = NULL;
GOTO(cleanup, rc);
}
}
- }
- if ((rec->ur_iattr.ia_valid & ATTR_KEY) ||
- (rec->ur_iattr.ia_valid & ATTR_MAC)) {
+ }
+
+ if ((rec->ur_iattr.ia_valid & ATTR_KEY) || (rec->ur_iattr.ia_valid & ATTR_MAC)) {
void *key;
int keylen;
+
LASSERT(rec->ur_eadatalen || rec->ur_ea3datalen);
LASSERT(rec->ur_eadata || rec->ur_ea3data);
key = rec->ur_ea3data ? rec->ur_ea3data : rec->ur_eadata;