diff --git a/lustre/lov/lov_log.c b/lustre/lov/lov_log.c index 9fc3e79c359b52a7f9ce01a5de3520b76ba33419..a5644104cdc08a59aba7e1760f712fe8bb66f28b 100644 --- a/lustre/lov/lov_log.c +++ b/lustre/lov/lov_log.c @@ -68,9 +68,9 @@ * we need to keep cookies in stripe order, even if some are NULL, so that * the right cookies are passed back to the right OSTs at the client side. * Unset cookies should be all-zero (which will never occur naturally). */ -static int lov_llog_origin_add(struct llog_ctxt *ctxt, - struct llog_rec_hdr *rec, struct lov_stripe_md *lsm, - struct llog_cookie *logcookies, int numcookies) +static int lov_llog_origin_add(struct llog_ctxt *ctxt, struct llog_rec_hdr *rec, + struct lov_stripe_md *lsm, + struct llog_cookie *logcookies, int numcookies) { struct obd_device *obd = ctxt->loc_obd; struct lov_obd *lov = &obd->u.lov; diff --git a/lustre/mds/mds_log.c b/lustre/mds/mds_log.c index a6ba622d6d7066a211fae411f15002ef741a2137..21290e5d9269ad3b9cb3ab5acbbd65139a4d5f5b 100644 --- a/lustre/mds/mds_log.c +++ b/lustre/mds/mds_log.c @@ -55,9 +55,9 @@ #include <lustre_log.h> #include "mds_internal.h" -static int mds_llog_origin_add(struct llog_ctxt *ctxt, - struct llog_rec_hdr *rec, struct lov_stripe_md *lsm, - struct llog_cookie *logcookies, int numcookies) +static int mds_llog_origin_add(struct llog_ctxt *ctxt, struct llog_rec_hdr *rec, + struct lov_stripe_md *lsm, + struct llog_cookie *logcookies, int numcookies) { struct obd_device *obd = ctxt->loc_obd; struct obd_device *lov_obd = obd->u.mds.mds_osc_obd; diff --git a/lustre/obdclass/llog_cat.c b/lustre/obdclass/llog_cat.c index b440994e0a9588ae951ba27ff3e5b9b96fd38744..51a2d17ca6908fad01daff973541b083e5b42ae0 100644 --- a/lustre/obdclass/llog_cat.c +++ b/lustre/obdclass/llog_cat.c @@ -63,8 +63,7 @@ * * Assumes caller has already pushed us into the kernel context and is locking. */ -static struct llog_handle *llog_cat_new_log(struct llog_handle *cathandle, - struct llog_logid *lid) +static struct llog_handle *llog_cat_new_log(struct llog_handle *cathandle) { struct llog_handle *loghandle; struct llog_log_hdr *llh; @@ -86,10 +85,7 @@ static struct llog_handle *llog_cat_new_log(struct llog_handle *cathandle, if (OBD_FAIL_CHECK_ONCE(OBD_FAIL_MDS_LLOG_CREATE_FAILED)) RETURN(ERR_PTR(-ENOSPC)); - if (lid != NULL && lid->lgl_oid == 0) - lid = NULL; - - rc = llog_create(cathandle->lgh_ctxt, &loghandle, lid, NULL); + rc = llog_create(cathandle->lgh_ctxt, &loghandle, NULL, NULL); if (rc) RETURN(ERR_PTR(rc)); @@ -221,7 +217,6 @@ EXPORT_SYMBOL(llog_cat_put); * NOTE: loghandle is write-locked upon successful return */ static struct llog_handle *llog_cat_current_log(struct llog_handle *cathandle, - struct llog_logid *lid, int create) { struct llog_handle *loghandle = NULL; @@ -236,7 +231,6 @@ static struct llog_handle *llog_cat_current_log(struct llog_handle *cathandle, up_read(&cathandle->lgh_lock); RETURN(loghandle); } else { - lid = NULL; up_write(&loghandle->lgh_lock); } } @@ -260,13 +254,12 @@ static struct llog_handle *llog_cat_current_log(struct llog_handle *cathandle, up_write(&cathandle->lgh_lock); RETURN(loghandle); } else { - lid = NULL; up_write(&loghandle->lgh_lock); } } CDEBUG(D_INODE, "creating new log\n"); - loghandle = llog_cat_new_log(cathandle, lid); + loghandle = llog_cat_new_log(cathandle); if (!IS_ERR(loghandle)) down_write(&loghandle->lgh_lock); up_write(&cathandle->lgh_lock); @@ -286,7 +279,7 @@ int llog_cat_add_rec(struct llog_handle *cathandle, struct llog_rec_hdr *rec, ENTRY; LASSERT(rec->lrh_len <= LLOG_CHUNK_SIZE); - loghandle = llog_cat_current_log(cathandle, &reccookie->lgc_lgl, 1); + loghandle = llog_cat_current_log(cathandle, 1); if (IS_ERR(loghandle)) RETURN(PTR_ERR(loghandle)); /* loghandle is already locked by llog_cat_current_log() for us */ @@ -294,7 +287,7 @@ int llog_cat_add_rec(struct llog_handle *cathandle, struct llog_rec_hdr *rec, up_write(&loghandle->lgh_lock); if (rc == -ENOSPC) { /* to create a new plain log */ - loghandle = llog_cat_current_log(cathandle, &reccookie->lgc_lgl, 1); + loghandle = llog_cat_current_log(cathandle, 1); if (IS_ERR(loghandle)) RETURN(PTR_ERR(loghandle)); rc = llog_write_rec(loghandle, rec, reccookie, 1, buf, -1); @@ -454,14 +447,14 @@ int llog_cat_process_thread(void *data) * Make sure that all cached data is sent. */ llog_sync(ctxt, NULL); - EXIT; + GOTO(release_llh, rc); release_llh: rc = llog_cat_put(llh); if (rc) CERROR("llog_cat_put() failed %d\n", rc); out: llog_ctxt_put(ctxt); - OBD_FREE(args, sizeof(*args)); + OBD_FREE_PTR(args); return rc; } EXPORT_SYMBOL(llog_cat_process_thread); @@ -562,49 +555,3 @@ out: RETURN(0); } - -#if 0 -/* Assumes caller has already pushed us into the kernel context. */ -int llog_cat_init(struct llog_handle *cathandle, struct obd_uuid *tgtuuid) -{ - struct llog_log_hdr *llh; - loff_t offset = 0; - int rc = 0; - ENTRY; - - LASSERT(sizeof(*llh) == LLOG_CHUNK_SIZE); - - down(&cathandle->lgh_lock); - llh = cathandle->lgh_hdr; - - if (i_size_read(cathandle->lgh_file->f_dentry->d_inode) == 0) { - llog_write_rec(cathandle, &llh->llh_hdr, NULL, 0, NULL, 0); - -write_hdr: - rc = lustre_fwrite(cathandle->lgh_file, llh, LLOG_CHUNK_SIZE, - &offset); - if (rc != LLOG_CHUNK_SIZE) { - CERROR("error writing catalog header: rc %d\n", rc); - OBD_FREE(llh, sizeof(*llh)); - if (rc >= 0) - rc = -ENOSPC; - } else - rc = 0; - } else { - rc = lustre_fread(cathandle->lgh_file, llh, LLOG_CHUNK_SIZE, - &offset); - if (rc != LLOG_CHUNK_SIZE) { - CERROR("error reading catalog header: rc %d\n", rc); - /* Can we do much else if the header is bad? */ - goto write_hdr; - } else - rc = 0; - } - - cathandle->lgh_tgtuuid = &llh->llh_tgtuuid; - up(&cathandle->lgh_lock); - RETURN(rc); -} -EXPORT_SYMBOL(llog_cat_init); - -#endif diff --git a/lustre/obdclass/llog_obd.c b/lustre/obdclass/llog_obd.c index cb3fe72ae46a5edb36d48d0545627832a230a613..bb848bdbbd0d24431a6c07e32b6f9e0ba52e1e72 100644 --- a/lustre/obdclass/llog_obd.c +++ b/lustre/obdclass/llog_obd.c @@ -203,8 +203,8 @@ int llog_sync(struct llog_ctxt *ctxt, struct obd_export *exp) EXPORT_SYMBOL(llog_sync); int llog_add(struct llog_ctxt *ctxt, struct llog_rec_hdr *rec, - struct lov_stripe_md *lsm, struct llog_cookie *logcookies, - int numcookies) + struct lov_stripe_md *lsm, struct llog_cookie *logcookies, + int numcookies) { int raised, rc; ENTRY; @@ -417,8 +417,8 @@ int llog_cat_initialize(struct obd_device *obd, int idx, GOTO(out, rc); } - CDEBUG(D_INFO, "init llog for %s/%d - catid "LPX64"/"LPX64"/%x\n", - uuid->uuid, idx, idarray.lci_logid.lgl_oid, + CDEBUG(D_INFO, "%s: Init llog for %s/%d - catid "LPX64"/"LPX64":%x\n", + obd->obd_name, uuid->uuid, idx, idarray.lci_logid.lgl_oid, idarray.lci_logid.lgl_ogr, idarray.lci_logid.lgl_ogen); rc = obd_llog_init(obd, obd, 1, &idarray, uuid); diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index f10f7e5eaf7eca7d7bd321aa38255df9494fdbcb..5fc6ff773c3e097226872bba8c22f2ee2f7db63e 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -3074,8 +3074,6 @@ static int filter_precreate(struct obd_device *obd, struct obdo *oa, } else next_id = filter_last_id(filter, group) + 1; - CDEBUG(D_INFO, "precreate objid "LPU64"\n", next_id); - dparent = filter_parent_lock(obd, group, next_id); if (IS_ERR(dparent)) GOTO(cleanup, rc = PTR_ERR(dparent)); @@ -3121,6 +3119,10 @@ static int filter_precreate(struct obd_device *obd, struct obdo *oa, GOTO(cleanup, rc = PTR_ERR(handle)); cleanup_phase = 3; + CDEBUG(D_INODE, "%s: filter_precreate(od->o_gr="LPU64 + ",od->o_id="LPU64")\n", obd->obd_name, group, + next_id); + /* We mark object SUID+SGID to flag it for accepting UID+GID * from client on first write. Currently the permission bits * on the OST are never used, so this is OK. */ @@ -3227,7 +3229,7 @@ int filter_recreate(struct obd_device *obd, struct obdo *oa) static int filter_create(struct obd_export *exp, struct obdo *oa, struct lov_stripe_md **ea, struct obd_trans_info *oti) { - struct obd_device *obd = NULL; + struct obd_device *obd = exp->exp_obd; struct lvfs_run_ctxt saved; struct lov_stripe_md *lsm = NULL; struct ldlm_res_id res_id = { .name = { oa->o_id } }; @@ -3237,6 +3239,9 @@ static int filter_create(struct obd_export *exp, struct obdo *oa, int rc = 0; ENTRY; + CDEBUG(D_INODE, "%s: filter_create(od->o_gr="LPU64",od->o_id=" + LPU64")\n", obd->obd_name, oa->o_gr, oa->o_id); + if (!(oa->o_valid & OBD_MD_FLGROUP)) oa->o_gr = 0; @@ -3250,7 +3255,6 @@ static int filter_create(struct obd_export *exp, struct obdo *oa, } } - obd = exp->exp_obd; push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); if ((oa->o_valid & OBD_MD_FLFLAGS) && @@ -3308,6 +3312,9 @@ int filter_destroy(struct obd_export *exp, struct obdo *oa, push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); cleanup_phase = 1; + CDEBUG(D_INODE, "%s: filter_destroy(od->o_gr="LPU64",od->o_id=" + LPU64")\n", obd->obd_name, oa->o_gr, oa->o_id); + dchild = filter_fid2dentry(obd, NULL, oa->o_gr, oa->o_id); if (IS_ERR(dchild)) GOTO(cleanup, rc = PTR_ERR(dchild)); diff --git a/lustre/obdfilter/filter_log.c b/lustre/obdfilter/filter_log.c index 017702756ea312520f7f19416900f17da8c38cb0..5a977b7654b3172aa3f3bae7801e62a6a96df99d 100644 --- a/lustre/obdfilter/filter_log.c +++ b/lustre/obdfilter/filter_log.c @@ -218,7 +218,7 @@ static int filter_recov_log_setattr_cb(struct llog_ctxt *ctxt, } int filter_recov_log_mds_ost_cb(struct llog_handle *llh, - struct llog_rec_hdr *rec, void *data) + struct llog_rec_hdr *rec, void *data) { struct llog_ctxt *ctxt = llh->lgh_ctxt; struct llog_cookie cookie; diff --git a/lustre/obdfilter/filter_lvb.c b/lustre/obdfilter/filter_lvb.c index 15731831b3c68b8f011381679011ca99ba26ffde..3e772397700445173c7f19838340dac971365c62 100644 --- a/lustre/obdfilter/filter_lvb.c +++ b/lustre/obdfilter/filter_lvb.c @@ -84,6 +84,10 @@ static int filter_lvbo_init(struct ldlm_resource *res) obd = res->lr_namespace->ns_lvbp; LASSERT(obd != NULL); + CDEBUG(D_INODE, "%s: filter_lvbo_init(o_gr="LPU64", o_id=" + LPU64")\n", obd->obd_name, res->lr_name.name[1], + res->lr_name.name[0]); + dentry = filter_fid2dentry(obd, NULL, 0, res->lr_name.name[0]); if (IS_ERR(dentry)) { rc = PTR_ERR(dentry);