Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
b=23289 remove mc_waitq
[fs/lustre-release.git]
/
lustre
/
mdd
/
mdd_device.c
diff --git
a/lustre/mdd/mdd_device.c
b/lustre/mdd/mdd_device.c
index
9262fa9
..
e3f8889
100644
(file)
--- a/
lustre/mdd/mdd_device.c
+++ b/
lustre/mdd/mdd_device.c
@@
-26,7
+26,7
@@
* GPL HEADER END
*/
/*
* GPL HEADER END
*/
/*
- * Copyright
2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright
(c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
* Use is subject to license terms.
*/
/*
@@
-241,7
+241,6
@@
static int mdd_changelog_init(const struct lu_env *env, struct mdd_device *mdd)
mdd->mdd_cl.mc_index = 0;
cfs_spin_lock_init(&mdd->mdd_cl.mc_lock);
mdd->mdd_cl.mc_index = 0;
cfs_spin_lock_init(&mdd->mdd_cl.mc_lock);
- cfs_waitq_init(&mdd->mdd_cl.mc_waitq);
mdd->mdd_cl.mc_starttime = cfs_time_current_64();
mdd->mdd_cl.mc_flags = 0; /* off by default */
mdd->mdd_cl.mc_mask = CHANGELOG_DEFMASK;
mdd->mdd_cl.mc_starttime = cfs_time_current_64();
mdd->mdd_cl.mc_flags = 0; /* off by default */
mdd->mdd_cl.mc_mask = CHANGELOG_DEFMASK;
@@
-312,9
+311,6
@@
int mdd_changelog_llog_write(struct mdd_device *mdd,
struct llog_ctxt *ctxt;
int rc;
struct llog_ctxt *ctxt;
int rc;
- if ((mdd->mdd_cl.mc_mask & (1 << rec->cr.cr_type)) == 0)
- return 0;
-
rec->cr_hdr.lrh_len = llog_data_len(sizeof(*rec) + rec->cr.cr_namelen);
/* llog_lvfs_write_rec sets the llog tail len */
rec->cr_hdr.lrh_type = CHANGELOG_REC;
rec->cr_hdr.lrh_len = llog_data_len(sizeof(*rec) + rec->cr.cr_namelen);
/* llog_lvfs_write_rec sets the llog tail len */
rec->cr_hdr.lrh_type = CHANGELOG_REC;
@@
-333,8
+329,6
@@
int mdd_changelog_llog_write(struct mdd_device *mdd,
rc = llog_add(ctxt, &rec->cr_hdr, NULL, NULL, 0);
llog_ctxt_put(ctxt);
rc = llog_add(ctxt, &rec->cr_hdr, NULL, NULL, 0);
llog_ctxt_put(ctxt);
- cfs_waitq_signal(&mdd->mdd_cl.mc_waitq);
-
return rc;
}
return rc;
}
@@
-412,10
+406,11
@@
int mdd_changelog_write_header(struct mdd_device *mdd, int markerflags)
/* Status and action flags */
rec->cr.cr_markerflags = mdd->mdd_cl.mc_flags | markerflags;
/* Status and action flags */
rec->cr.cr_markerflags = mdd->mdd_cl.mc_flags | markerflags;
- rc = mdd_changelog_llog_write(mdd, rec, NULL);
+ rc = (mdd->mdd_cl.mc_mask & (1 << CL_MARK)) ?
+ mdd_changelog_llog_write(mdd, rec, NULL) : 0;
/* assume on or off event; reset repeat-access time */
/* assume on or off event; reset repeat-access time */
- mdd->mdd_cl.mc_starttime =
rec->cr.cr_time
;
+ mdd->mdd_cl.mc_starttime =
cfs_time_current_64()
;
OBD_FREE(rec, reclen);
RETURN(rc);
OBD_FREE(rec, reclen);
RETURN(rc);
@@
-744,9
+739,9
@@
static int obf_attr_get(const struct lu_env *env, struct md_object *obj,
return 0;
if (ma->ma_need & MA_LOV_DEF) {
return 0;
if (ma->ma_need & MA_LOV_DEF) {
- rc = mdd_get_default_md(mdd_obj, ma->ma_lmm,
- &ma->ma_lmm_size);
+ rc = mdd_get_default_md(mdd_obj, ma->ma_lmm);
if (rc > 0) {
if (rc > 0) {
+ ma->ma_lmm_size = rc;
ma->ma_valid |= MA_LOV;
rc = 0;
}
ma->ma_valid |= MA_LOV;
rc = 0;
}
@@
-1010,7
+1005,7
@@
static int mdd_lov_set_nextid(const struct lu_env *env,
ENTRY;
LASSERT(mds->mds_lov_objids != NULL);
ENTRY;
LASSERT(mds->mds_lov_objids != NULL);
- rc = obd_set_info_async(mds->mds_
osc
_exp, strlen(KEY_NEXT_ID),
+ rc = obd_set_info_async(mds->mds_
lov
_exp, strlen(KEY_NEXT_ID),
KEY_NEXT_ID, mds->mds_lov_desc.ld_tgt_count,
mds->mds_lov_objids, NULL);
KEY_NEXT_ID, mds->mds_lov_desc.ld_tgt_count,
mds->mds_lov_objids, NULL);
@@
-1054,11
+1049,13
@@
static int mdd_recovery_complete(const struct lu_env *env,
}
#endif
/* Call that with obd_recovering = 1 just to update objids */
}
#endif
/* Call that with obd_recovering = 1 just to update objids */
- obd_notify(obd->u.mds.mds_
osc
_obd, NULL, (obd->obd_async_recov ?
+ obd_notify(obd->u.mds.mds_
lov
_obd, NULL, (obd->obd_async_recov ?
OBD_NOTIFY_SYNC_NONBLOCK : OBD_NOTIFY_SYNC), NULL);
/* Drop obd_recovering to 0 and call o_postrecov to recover mds_lov */
OBD_NOTIFY_SYNC_NONBLOCK : OBD_NOTIFY_SYNC), NULL);
/* Drop obd_recovering to 0 and call o_postrecov to recover mds_lov */
+ cfs_spin_lock(&obd->obd_dev_lock);
obd->obd_recovering = 0;
obd->obd_recovering = 0;
+ cfs_spin_unlock(&obd->obd_dev_lock);
obd->obd_type->typ_dt_ops->o_postrecov(obd);
/* XXX: orphans handling. */
obd->obd_type->typ_dt_ops->o_postrecov(obd);
/* XXX: orphans handling. */
@@
-1181,7
+1178,7
@@
static int mdd_update_capa_key(const struct lu_env *env,
{
struct mds_capa_info info = { .uuid = NULL, .capa = key };
struct mdd_device *mdd = lu2mdd_dev(&m->md_lu_dev);
{
struct mds_capa_info info = { .uuid = NULL, .capa = key };
struct mdd_device *mdd = lu2mdd_dev(&m->md_lu_dev);
- struct obd_export *lov_exp = mdd2obd_dev(mdd)->u.mds.mds_
osc
_exp;
+ struct obd_export *lov_exp = mdd2obd_dev(mdd)->u.mds.mds_
lov
_exp;
int rc;
ENTRY;
int rc;
ENTRY;