From fa9602ed8ab00fc978dd2e5ca1672f329143fc87 Mon Sep 17 00:00:00 2001 From: adilger Date: Thu, 2 Apr 2009 06:28:33 +0000 Subject: [PATCH] Branch b1_8 Fix unused variable warning due to code restructuring. b=17710 --- lustre/mgs/mgs_llog.c | 480 +++++++++++++++++++++++++------------------------- 1 file changed, 240 insertions(+), 240 deletions(-) diff --git a/lustre/mgs/mgs_llog.c b/lustre/mgs/mgs_llog.c index b55dfca..ded0308 100644 --- a/lustre/mgs/mgs_llog.c +++ b/lustre/mgs/mgs_llog.c @@ -68,8 +68,9 @@ /* Caller must list_del and OBD_FREE each dentry from the list */ int class_dentry_readdir(struct obd_device *obd, struct dentry *dir, - struct vfsmount *inmnt, - struct list_head *dentry_list){ + struct vfsmount *inmnt, + struct list_head *dentry_list) +{ /* see mds_cleanup_pending */ struct lvfs_run_ctxt saved; struct file *file; @@ -109,14 +110,14 @@ static inline int name_create(char **newname, char *prefix, char *suffix) { LASSERT(newname); OBD_ALLOC(*newname, strlen(prefix) + strlen(suffix) + 1); - if (!*newname) + if (!*newname) return -ENOMEM; sprintf(*newname, "%s%s", prefix, suffix); return 0; } static inline void name_destroy(char **name) -{ +{ if (*name) OBD_FREE(*name, strlen(*name) + 1); *name = NULL; @@ -127,11 +128,11 @@ static inline void name_destroy(char **name) 2. what the last config step is 3. COMPAT_146 lov name 4. COMPAT_146 mdt lov name - 5. COMPAT_146 mdc name + 5. COMPAT_146 mdc name */ /* It might be better to have a separate db file, instead of parsing the info out of the client log. This is slow and potentially error-prone. */ -static int mgs_fsdb_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, +static int mgs_fsdb_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, void *data) { struct fs_db *fsdb = (struct fs_db *)data; @@ -155,21 +156,21 @@ static int mgs_fsdb_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, lcfg = (struct lustre_cfg *)cfg_buf; - CDEBUG(D_INFO, "cmd %x %s %s\n", lcfg->lcfg_command, + CDEBUG(D_INFO, "cmd %x %s %s\n", lcfg->lcfg_command, lustre_cfg_string(lcfg, 0), lustre_cfg_string(lcfg, 1)); - /* Figure out ost indicies */ + /* Figure out ost indicies */ /* lov_modify_tgts add 0:lov1 1:ost1_UUID 2(index):0 3(gen):1 */ if (lcfg->lcfg_command == LCFG_LOV_ADD_OBD || lcfg->lcfg_command == LCFG_LOV_DEL_OBD) { index = simple_strtoul(lustre_cfg_string(lcfg, 2), NULL, 10); CDEBUG(D_MGS, "OST index for %s is %u (%s)\n", - lustre_cfg_string(lcfg, 1), index, + lustre_cfg_string(lcfg, 1), index, lustre_cfg_string(lcfg, 2)); set_bit(index, fsdb->fsdb_ost_index_map); } - + /* Figure out mdt indicies */ /* attach 0:MDC_uml1_mdsA_MNT_client 1:mdc 2:1d834_MNT_client_03f */ if ((lcfg->lcfg_command == LCFG_ATTACH) && @@ -193,9 +194,9 @@ static int mgs_fsdb_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, (strcmp(lustre_cfg_string(lcfg, 1), LUSTRE_LOV_NAME) == 0)) { fsdb->fsdb_flags |= FSDB_OLDLOG14; name_destroy(&fsdb->fsdb_clilov); - rc = name_create(&fsdb->fsdb_clilov, + rc = name_create(&fsdb->fsdb_clilov, lustre_cfg_string(lcfg, 0), ""); - if (rc) + if (rc) RETURN(rc); CDEBUG(D_MGS, "client lov name is %s\n", fsdb->fsdb_clilov); } @@ -207,20 +208,20 @@ static int mgs_fsdb_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, fsdb->fsdb_flags |= FSDB_OLDLOG14; ptr = strstr(lustre_cfg_string(lcfg, 1), "_UUID"); if (!ptr) { - CERROR("Can't parse MDT uuid %s\n", + CERROR("Can't parse MDT uuid %s\n", lustre_cfg_string(lcfg, 1)); RETURN(-EINVAL); } *ptr = '\0'; name_destroy(&fsdb->fsdb_mdtlov); - rc = name_create(&fsdb->fsdb_mdtlov, + rc = name_create(&fsdb->fsdb_mdtlov, "lov_", lustre_cfg_string(lcfg, 1)); - if (rc) + if (rc) RETURN(rc); name_destroy(&fsdb->fsdb_mdc); - rc = name_create(&fsdb->fsdb_mdc, + rc = name_create(&fsdb->fsdb_mdc, lustre_cfg_string(lcfg, 0), ""); - if (rc) + if (rc) RETURN(rc); CDEBUG(D_MGS, "MDT lov name is %s\n", fsdb->fsdb_mdtlov); } @@ -297,9 +298,9 @@ static struct fs_db *mgs_new_fsdb(struct obd_device *obd, char *fsname) struct fs_db *fsdb; int rc; ENTRY; - + OBD_ALLOC_PTR(fsdb); - if (!fsdb) + if (!fsdb) RETURN(NULL); OBD_ALLOC(fsdb->fsdb_ost_index_map, INDEX_MAP_SIZE); @@ -308,14 +309,14 @@ static struct fs_db *mgs_new_fsdb(struct obd_device *obd, char *fsname) CERROR("No memory for index maps\n"); GOTO(err, 0); } - + strncpy(fsdb->fsdb_name, fsname, sizeof(fsdb->fsdb_name)); fsdb->fsdb_name[sizeof(fsdb->fsdb_name) - 1] = 0; rc = name_create(&fsdb->fsdb_mdtlov, fsname, "-mdtlov"); - if (rc) + if (rc) GOTO(err, rc); rc = name_create(&fsdb->fsdb_clilov, fsname, "-clilov"); - if (rc) + if (rc) GOTO(err, rc); sema_init(&fsdb->fsdb_sem, 1); @@ -324,12 +325,12 @@ static struct fs_db *mgs_new_fsdb(struct obd_device *obd, char *fsname) RETURN(fsdb); err: - if (fsdb->fsdb_ost_index_map) + if (fsdb->fsdb_ost_index_map) OBD_FREE(fsdb->fsdb_ost_index_map, INDEX_MAP_SIZE); - if (fsdb->fsdb_mdt_index_map) + if (fsdb->fsdb_mdt_index_map) OBD_FREE(fsdb->fsdb_mdt_index_map, INDEX_MAP_SIZE); - name_destroy(&fsdb->fsdb_clilov); - name_destroy(&fsdb->fsdb_mdtlov); + name_destroy(&fsdb->fsdb_clilov); + name_destroy(&fsdb->fsdb_mdtlov); OBD_FREE_PTR(fsdb); RETURN(NULL); } @@ -342,9 +343,9 @@ static void mgs_free_fsdb(struct obd_device *obd, struct fs_db *fsdb) list_del(&fsdb->fsdb_list); OBD_FREE(fsdb->fsdb_ost_index_map, INDEX_MAP_SIZE); OBD_FREE(fsdb->fsdb_mdt_index_map, INDEX_MAP_SIZE); - name_destroy(&fsdb->fsdb_clilov); - name_destroy(&fsdb->fsdb_mdtlov); - name_destroy(&fsdb->fsdb_mdc); + name_destroy(&fsdb->fsdb_clilov); + name_destroy(&fsdb->fsdb_mdtlov); + name_destroy(&fsdb->fsdb_mdc); OBD_FREE_PTR(fsdb); } @@ -369,8 +370,8 @@ int mgs_cleanup_fsdb_list(struct obd_device *obd) return 0; } -static int mgs_find_or_make_fsdb(struct obd_device *obd, char *name, - struct fs_db **dbh) +static int mgs_find_or_make_fsdb(struct obd_device *obd, char *name, + struct fs_db **dbh) { struct mgs_obd *mgs = &obd->u.mgs; struct fs_db *fsdb; @@ -387,7 +388,7 @@ static int mgs_find_or_make_fsdb(struct obd_device *obd, char *name, CDEBUG(D_MGS, "Creating new db\n"); fsdb = mgs_new_fsdb(obd, name); up(&mgs->mgs_sem); - if (!fsdb) + if (!fsdb) return -ENOMEM; /* populate the db from the client llog */ @@ -399,12 +400,12 @@ static int mgs_find_or_make_fsdb(struct obd_device *obd, char *name, } *dbh = fsdb; - + return 0; } /* 1 = index in use - 0 = index unused + 0 = index unused -1= empty client log */ int mgs_check_index(struct obd_device *obd, struct mgs_target_info *mti) { @@ -415,23 +416,23 @@ int mgs_check_index(struct obd_device *obd, struct mgs_target_info *mti) LASSERT(!(mti->mti_flags & LDD_F_NEED_INDEX)); - rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); + rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); if (rc) { CERROR("Can't get db for %s\n", mti->mti_fsname); RETURN(rc); } - if (fsdb->fsdb_flags & FSDB_LOG_EMPTY) + if (fsdb->fsdb_flags & FSDB_LOG_EMPTY) RETURN(-1); - if (mti->mti_flags & LDD_F_SV_TYPE_OST) + if (mti->mti_flags & LDD_F_SV_TYPE_OST) imap = fsdb->fsdb_ost_index_map; - else if (mti->mti_flags & LDD_F_SV_TYPE_MDT) + else if (mti->mti_flags & LDD_F_SV_TYPE_MDT) imap = fsdb->fsdb_mdt_index_map; else RETURN(-EINVAL); - if (test_bit(mti->mti_stripe_index, imap)) + if (test_bit(mti->mti_stripe_index, imap)) RETURN(1); RETURN(0); } @@ -458,15 +459,15 @@ int mgs_set_index(struct obd_device *obd, struct mgs_target_info *mti) int rc = 0; ENTRY; - rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); + rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); if (rc) { CERROR("Can't get db for %s\n", mti->mti_fsname); RETURN(rc); } - if (mti->mti_flags & LDD_F_SV_TYPE_OST) + if (mti->mti_flags & LDD_F_SV_TYPE_OST) imap = fsdb->fsdb_ost_index_map; - else if (mti->mti_flags & LDD_F_SV_TYPE_MDT) + else if (mti->mti_flags & LDD_F_SV_TYPE_MDT) imap = fsdb->fsdb_mdt_index_map; else RETURN(-EINVAL); @@ -479,7 +480,7 @@ int mgs_set_index(struct obd_device *obd, struct mgs_target_info *mti) } /* Remove after CMD */ - if ((mti->mti_flags & LDD_F_SV_TYPE_MDT) && + if ((mti->mti_flags & LDD_F_SV_TYPE_MDT) && (mti->mti_stripe_index > 0)) { LCONSOLE_ERROR_MSG(0x13e, "MDT index must = 0 (until Clustered " "MetaData feature is ready.)\n"); @@ -488,7 +489,7 @@ int mgs_set_index(struct obd_device *obd, struct mgs_target_info *mti) if (mti->mti_stripe_index >= INDEX_MAP_SIZE * 8) { LCONSOLE_ERROR_MSG(0x13f, "Server %s requested index %d, but the" - "max index is %d.\n", + "max index is %d.\n", mti->mti_svname, mti->mti_stripe_index, INDEX_MAP_SIZE * 8); RETURN(-ERANGE); @@ -515,7 +516,7 @@ int mgs_set_index(struct obd_device *obd, struct mgs_target_info *mti) server_make_name(mti->mti_flags, mti->mti_stripe_index, mti->mti_fsname, mti->mti_svname); - CDEBUG(D_MGS, "Set index for %s to %d\n", mti->mti_svname, + CDEBUG(D_MGS, "Set index for %s to %d\n", mti->mti_svname, mti->mti_stripe_index); RETURN(0); @@ -526,13 +527,13 @@ struct mgs_modify_lookup { int mml_modified; }; -static int mgs_modify_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, +static int mgs_modify_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, void *data) { struct mgs_modify_lookup *mml = (struct mgs_modify_lookup *)data; struct cfg_marker *marker; struct lustre_cfg *lcfg = (struct lustre_cfg *)(rec + 1); - int cfg_len = rec->lrh_len - sizeof(struct llog_rec_hdr) - + int cfg_len = rec->lrh_len - sizeof(struct llog_rec_hdr) - sizeof(struct llog_rec_tail); int rc; ENTRY; @@ -550,27 +551,27 @@ static int mgs_modify_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, /* We only care about markers */ if (lcfg->lcfg_command != LCFG_MARKER) - RETURN(0); - + RETURN(0); + marker = lustre_cfg_buf(lcfg, 1); - if ((strcmp(mml->mml_marker.cm_comment, marker->cm_comment) == 0) && + if ((strcmp(mml->mml_marker.cm_comment, marker->cm_comment) == 0) && (strcmp(mml->mml_marker.cm_tgtname, marker->cm_tgtname) == 0) && !(marker->cm_flags & CM_SKIP)) { /* Found a non-skipped marker match */ CDEBUG(D_MGS, "Changing rec %u marker %d %x->%x: %s %s\n", - rec->lrh_index, marker->cm_step, + rec->lrh_index, marker->cm_step, marker->cm_flags, mml->mml_marker.cm_flags, marker->cm_tgtname, marker->cm_comment); /* Overwrite the old marker llog entry */ marker->cm_flags &= ~CM_EXCLUDE; /* in case we're unexcluding */ marker->cm_flags |= mml->mml_marker.cm_flags; marker->cm_canceltime = mml->mml_marker.cm_canceltime; - /* Header and tail are added back to lrh_len in + /* Header and tail are added back to lrh_len in llog_lvfs_write_rec */ - rec->lrh_len = cfg_len; - rc = llog_write_rec(llh, rec, NULL, 0, (void *)lcfg, + rec->lrh_len = cfg_len; + rc = llog_write_rec(llh, rec, NULL, 0, (void *)lcfg, rec->lrh_index); - if (!rc) + if (!rc) mml->mml_modified++; } @@ -579,7 +580,7 @@ static int mgs_modify_handler(struct llog_handle *llh, struct llog_rec_hdr *rec, /* Modify an existing config log record (for CM_SKIP or CM_EXCLUDE) */ static int mgs_modify(struct obd_device *obd, struct fs_db *fsdb, - struct mgs_target_info *mti, char *logname, + struct mgs_target_info *mti, char *logname, char *devname, char *comment, int flags) { struct llog_handle *loghandle; @@ -592,7 +593,7 @@ static int mgs_modify(struct obd_device *obd, struct fs_db *fsdb, CDEBUG(D_MGS, "modify %s/%s/%s\n", logname, devname, comment); push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); - + ctxt = llog_get_context(obd, LLOG_CONFIG_ORIG_CTXT); LASSERT(ctxt != NULL); rc = llog_create(ctxt, &loghandle, NULL, logname); @@ -607,7 +608,7 @@ static int mgs_modify(struct obd_device *obd, struct fs_db *fsdb, GOTO(out_close, rc = 0); OBD_ALLOC_PTR(mml); - if (!mml) + if (!mml) GOTO(out_close, rc = -ENOMEM); strcpy(mml->mml_marker.cm_comment, comment); strcpy(mml->mml_marker.cm_tgtname, devname); @@ -616,7 +617,7 @@ static int mgs_modify(struct obd_device *obd, struct fs_db *fsdb, mml->mml_marker.cm_canceltime = flags ? cfs_time_current_sec() : 0; mml->mml_modified = 0; rc = llog_process(loghandle, mgs_modify_handler, (void *)mml, NULL); - if (!rc && !mml->mml_modified) + if (!rc && !mml->mml_modified) rc = -ENODEV; OBD_FREE_PTR(mml); @@ -627,14 +628,14 @@ out_close: out_pop: llog_ctxt_put(ctxt); pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); - if (rc && rc != -ENODEV) + if (rc && rc != -ENODEV) CERROR("modify %s/%s failed %d\n", mti->mti_svname, comment, rc); RETURN(rc); } - + /******************** config log recording functions *********************/ static int record_lcfg(struct obd_device *obd, struct llog_handle *llh, @@ -644,10 +645,10 @@ static int record_lcfg(struct obd_device *obd, struct llog_handle *llh, struct llog_rec_hdr rec; int buflen, rc; - if (!lcfg || !llh) + if (!lcfg || !llh) return -ENOMEM; - LASSERT(llh->lgh_ctxt); + LASSERT(llh->lgh_ctxt); buflen = lustre_cfg_len(lcfg->lcfg_bufcount, lcfg->lcfg_buflens); @@ -657,7 +658,7 @@ static int record_lcfg(struct obd_device *obd, struct llog_handle *llh, /* idx = -1 means append */ rc = llog_write_rec(llh, &rec, NULL, 0, (void *)lcfg, -1); pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); - if (rc) + if (rc) CERROR("failed %d\n", rc); return rc; } @@ -669,46 +670,46 @@ static int record_base(struct obd_device *obd, struct llog_handle *llh, struct lustre_cfg_bufs bufs; struct lustre_cfg *lcfg; int rc; - + CDEBUG(D_MGS, "lcfg %s %#x %s %s %s %s\n", cfgname, - cmd, s1, s2, s3, s4); + cmd, s1, s2, s3, s4); lustre_cfg_bufs_reset(&bufs, cfgname); - if (s1) + if (s1) lustre_cfg_bufs_set_string(&bufs, 1, s1); - if (s2) + if (s2) lustre_cfg_bufs_set_string(&bufs, 2, s2); - if (s3) + if (s3) lustre_cfg_bufs_set_string(&bufs, 3, s3); - if (s4) + if (s4) lustre_cfg_bufs_set_string(&bufs, 4, s4); lcfg = lustre_cfg_new(cmd, &bufs); - if (!lcfg) + if (!lcfg) return -ENOMEM; lcfg->lcfg_nid = nid; rc = record_lcfg(obd, llh, lcfg); - + lustre_cfg_free(lcfg); - + if (rc) { CERROR("error %d: lcfg %s %#x %s %s %s %s\n", rc, cfgname, - cmd, s1, s2, s3, s4); + cmd, s1, s2, s3, s4); } return(rc); } -static inline int record_add_uuid(struct obd_device *obd, - struct llog_handle *llh, +static inline int record_add_uuid(struct obd_device *obd, + struct llog_handle *llh, __u64 nid, char *uuid) { return record_base(obd,llh,NULL,nid,LCFG_ADD_UUID,uuid,0,0,0); } -static inline int record_add_conn(struct obd_device *obd, +static inline int record_add_conn(struct obd_device *obd, struct llog_handle *llh, char *devname, char *uuid) @@ -723,7 +724,7 @@ static inline int record_attach(struct obd_device *obd, struct llog_handle *llh, } static inline int record_setup(struct obd_device *obd, struct llog_handle *llh, - char *devname, + char *devname, char *s1, char *s2, char *s3, char *s4) { return record_base(obd,llh,devname,0,LCFG_SETUP,s1,s2,s3,s4); @@ -739,7 +740,7 @@ static int record_lov_setup(struct obd_device *obd, struct llog_handle *llh, lustre_cfg_bufs_reset(&bufs, devname); lustre_cfg_bufs_set(&bufs, 1, desc, sizeof(*desc)); lcfg = lustre_cfg_new(LCFG_SETUP, &bufs); - if (!lcfg) + if (!lcfg) return -ENOMEM; rc = record_lcfg(obd, llh, lcfg); @@ -754,16 +755,16 @@ static inline int record_lov_add(struct obd_device *obd, { return record_base(obd,llh,lov_name,0,LCFG_LOV_ADD_OBD, ost_uuid,index,gen,0); -} +} -static inline int record_mount_opt(struct obd_device *obd, +static inline int record_mount_opt(struct obd_device *obd, struct llog_handle *llh, char *profile, char *lov_name, char *mdc_name) { return record_base(obd,llh,NULL,0,LCFG_MOUNTOPT, profile,lov_name,mdc_name,0); -} +} static int record_marker(struct obd_device *obd, struct llog_handle *llh, struct fs_db *fsdb, __u32 flags, @@ -774,19 +775,19 @@ static int record_marker(struct obd_device *obd, struct llog_handle *llh, struct lustre_cfg *lcfg; int rc; - if (flags & CM_START) + if (flags & CM_START) fsdb->fsdb_gen++; marker.cm_step = fsdb->fsdb_gen; marker.cm_flags = flags; marker.cm_vers = LUSTRE_VERSION_CODE; - strncpy(marker.cm_tgtname, tgtname, sizeof(marker.cm_tgtname)); - strncpy(marker.cm_comment, comment, sizeof(marker.cm_comment)); + strncpy(marker.cm_tgtname, tgtname, sizeof(marker.cm_tgtname)); + strncpy(marker.cm_comment, comment, sizeof(marker.cm_comment)); marker.cm_createtime = cfs_time_current_sec(); marker.cm_canceltime = 0; lustre_cfg_bufs_reset(&bufs, NULL); lustre_cfg_bufs_set(&bufs, 1, &marker, sizeof(marker)); lcfg = lustre_cfg_new(LCFG_MARKER, &bufs); - if (!lcfg) + if (!lcfg) return -ENOMEM; rc = record_lcfg(obd, llh, lcfg); @@ -794,21 +795,21 @@ static int record_marker(struct obd_device *obd, struct llog_handle *llh, return rc; } -static int record_start_log(struct obd_device *obd, +static int record_start_log(struct obd_device *obd, struct llog_handle **llh, char *name) { static struct obd_uuid cfg_uuid = { .uuid = "config_uuid" }; struct lvfs_run_ctxt saved; struct llog_ctxt *ctxt; int rc = 0; - - if (*llh) + + if (*llh) GOTO(out, rc = -EBUSY); ctxt = llog_get_context(obd, LLOG_CONFIG_ORIG_CTXT); if (!ctxt) GOTO(out, rc = -ENODEV); - + push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); rc = llog_create(ctxt, llh, NULL, name); if (rc == 0) @@ -832,10 +833,10 @@ static int record_end_log(struct obd_device *obd, struct llog_handle **llh) int rc = 0; push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); - + rc = llog_close(*llh); *llh = NULL; - + pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); RETURN(rc); } @@ -866,34 +867,34 @@ static int mgs_log_is_empty(struct obd_device *obd, char *name) /* write an lcfg directly into a log (with markers) */ static int mgs_write_log_direct(struct obd_device *obd, struct fs_db *fsdb, - char *logname, struct lustre_cfg *lcfg, + char *logname, struct lustre_cfg *lcfg, char *devname, char *comment) { struct llog_handle *llh = NULL; int rc; ENTRY; - if (!lcfg) + if (!lcfg) RETURN(-ENOMEM); rc = record_start_log(obd, &llh, logname); - if (rc) + if (rc) RETURN(rc); - + /* FIXME These should be a single journal transaction */ - rc = record_marker(obd, llh, fsdb, CM_START, devname, comment); - + rc = record_marker(obd, llh, fsdb, CM_START, devname, comment); + rc = record_lcfg(obd, llh, lcfg); - rc = record_marker(obd, llh, fsdb, CM_END, devname, comment); + rc = record_marker(obd, llh, fsdb, CM_END, devname, comment); rc = record_end_log(obd, &llh); - + RETURN(rc); } /* write the lcfg in all logs for the given fs */ int mgs_write_log_direct_all(struct obd_device *obd, struct fs_db *fsdb, - struct mgs_target_info *mti, + struct mgs_target_info *mti, struct lustre_cfg *lcfg, char *devname, char *comment) { @@ -904,9 +905,9 @@ int mgs_write_log_direct_all(struct obd_device *obd, struct fs_db *fsdb, char *logname; int rc = 0, len = strlen(fsname); ENTRY; - - /* We need to set params for any future logs - as well. FIXME Append this file to every new log. + + /* We need to set params for any future logs + as well. FIXME Append this file to every new log. Actually, we should store as params (text), not llogs. Or in a database. */ name_create(&logname, fsname, "-params"); @@ -916,7 +917,7 @@ int mgs_write_log_direct_all(struct obd_device *obd, struct fs_db *fsdb, record_end_log(obd, &llh); } name_destroy(&logname); - if (rc) + if (rc) RETURN(rc); /* Find all the logs in the CONFIGS directory */ @@ -926,30 +927,30 @@ int mgs_write_log_direct_all(struct obd_device *obd, struct fs_db *fsdb, CERROR("Can't read %s dir\n", MOUNT_CONFIGS_DIR); RETURN(rc); } - + /* Could use fsdb index maps instead of directory listing */ list_for_each_entry_safe(dirent, n, &dentry_list, lld_list) { list_del(&dirent->lld_list); if (strncmp(fsname, dirent->lld_name, len) == 0) { CDEBUG(D_MGS, "Changing log %s\n", dirent->lld_name); /* Erase any old settings of this same parameter */ - mgs_modify(obd, fsdb, mti, dirent->lld_name, devname, + mgs_modify(obd, fsdb, mti, dirent->lld_name, devname, comment, CM_SKIP); /* Write the new one */ rc = mgs_write_log_direct(obd, fsdb, dirent->lld_name, lcfg, devname, comment); if (rc) - CERROR("err %d writing log %s\n", rc, + CERROR("err %d writing log %s\n", rc, dirent->lld_name); } OBD_FREE(dirent, sizeof(*dirent)); } - + RETURN(rc); } /* lov is the first thing in the mdt and client logs */ -static int mgs_write_log_lov(struct obd_device *obd, struct fs_db *fsdb, +static int mgs_write_log_lov(struct obd_device *obd, struct fs_db *fsdb, struct mgs_target_info *mti, char *logname, char *lovname) { @@ -973,7 +974,7 @@ static int mgs_write_log_lov(struct obd_device *obd, struct fs_db *fsdb, RETURN(-ENOMEM); lovdesc->ld_magic = LOV_DESC_MAGIC; lovdesc->ld_tgt_count = 0; - /* Defaults. Can be changed later by lcfg config_param */ + /* Defaults. Can be changed later by lcfg config_param */ lovdesc->ld_default_stripe_count = 1; lovdesc->ld_pattern = LOV_PATTERN_RAID0; lovdesc->ld_default_stripe_size = 1024 * 1024; @@ -986,15 +987,15 @@ static int mgs_write_log_lov(struct obd_device *obd, struct fs_db *fsdb, /* This should always be the first entry in a log. rc = mgs_clear_log(obd, logname); */ rc = record_start_log(obd, &llh, logname); - if (rc) + if (rc) GOTO(out, rc); /* FIXME these should be a single journal transaction */ - rc = record_marker(obd, llh, fsdb, CM_START, lovname, "lov setup"); + rc = record_marker(obd, llh, fsdb, CM_START, lovname, "lov setup"); rc = record_attach(obd, llh, lovname, "lov", uuid); rc = record_lov_setup(obd, llh, lovname, lovdesc); - rc = record_marker(obd, llh, fsdb, CM_END, lovname, "lov setup"); + rc = record_marker(obd, llh, fsdb, CM_END, lovname, "lov setup"); rc = record_end_log(obd, &llh); -out: +out: OBD_FREE(lovdesc, sizeof(*lovdesc)); RETURN(rc); } @@ -1023,11 +1024,11 @@ static int mgs_write_log_failnids(struct obd_device *obd, while (class_find_param(ptr, PARAM_FAILNODE, &ptr) == 0) { while (class_parse_nid(ptr, &nid, &ptr) == 0) { if (failnodeuuid == NULL) { - /* We don't know the failover node name, + /* We don't know the failover node name, so just use the first nid as the uuid */ rc = name_create(&failnodeuuid, libcfs_nid2str(nid), ""); - if (rc) + if (rc) return rc; } CDEBUG(D_MGS, "add nid %s for failover uuid %s, " @@ -1054,7 +1055,7 @@ static int mgs_write_log_mdt(struct obd_device *obd, struct fs_db *fsdb, ENTRY; CDEBUG(D_MGS, "writing new mdt %s\n", mti->mti_svname); - + if (mti->mti_uuid[0] == '\0') { /* Make up our own uuid */ snprintf(mti->mti_uuid, sizeof(mti->mti_uuid), @@ -1063,43 +1064,43 @@ static int mgs_write_log_mdt(struct obd_device *obd, struct fs_db *fsdb, /* Append mdt info to mdt log */ if (mgs_log_is_empty(obd, mti->mti_svname)) { - /* This is the first time for all logs for this fs, + /* This is the first time for all logs for this fs, since any ost should have already started the mdt log. */ first_log++; rc = mgs_write_log_lov(obd, fsdb, mti, mti->mti_svname, fsdb->fsdb_mdtlov); - } + } /* else there's already some ost entries in the mdt log. */ /* We added the lov, maybe some osc's, now for the mdt. We might add more ost's after this. Note that during the parsing - of this log, this is when the mdt will start. (This was not + of this log, this is when the mdt will start. (This was not formerly part of the old mds log, it was directly executed by - lconf.) */ + lconf.) */ /* mount_option 0: 1:mdsA 2:lov_mdsA attach mds mdsA mdsA_UUID setup /dev/loop2 ldiskfs mdsA errors=remount-ro,user_xattr */ rc = record_start_log(obd, &llh, mti->mti_svname); - if (rc) + if (rc) RETURN(rc); /* FIXME this whole fn should be a single journal transaction */ - rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname,"add mdt"); + rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname,"add mdt"); rc = record_mount_opt(obd, llh, mti->mti_svname, fsdb->fsdb_mdtlov, 0); - rc = record_attach(obd, llh, mti->mti_svname, LUSTRE_MDS_NAME, + rc = record_attach(obd, llh, mti->mti_svname, LUSTRE_MDS_NAME, mti->mti_uuid); rc = record_setup(obd, llh, mti->mti_svname, mti->mti_uuid /* Ignored. Compatible with future. */, "0" /* MDT Index, default to zero. */, mti->mti_svname, 0 /* options */); - rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, "add mdt"); + rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, "add mdt"); rc = record_end_log(obd, &llh); /* Append the mdt info to the client log */ name_create(&cliname, mti->mti_fsname, "-client"); - if (first_log) { + if (first_log) { /* Start client log */ rc = mgs_write_log_lov(obd, fsdb, mti, cliname, fsdb->fsdb_clilov); @@ -1108,7 +1109,7 @@ static int mgs_write_log_mdt(struct obd_device *obd, struct fs_db *fsdb, name_create(&nodeuuid, libcfs_nid2str(mti->mti_nids[0]),/*"_UUID"*/""); name_create(&mdcname, mti->mti_svname, "-mdc"); name_create(&mdcuuid, mdcname, "_UUID"); - /* + /* #09 L add_uuid nid=uml1@tcp(0x20000c0a80201) 0: 1:uml1_UUID #10 L attach 0:MDC_uml1_mdsA_MNT_client 1:mdc 2:1d834_MNT_client_03f #11 L setup 0:MDC_uml1_mdsA_MNT_client 1:mdsA_UUID 2:uml1_UUID @@ -1117,19 +1118,19 @@ static int mgs_write_log_mdt(struct obd_device *obd, struct fs_db *fsdb, #14 L mount_option 0: 1:client 2:lov1 3:MDC_uml1_mdsA_MNT_client */ rc = record_start_log(obd, &llh, cliname); - if (rc) + if (rc) GOTO(out, rc); rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname,"add mdc"); /* COMPAT_146 */ if (fsdb->fsdb_flags & FSDB_OLDLOG14) { - /* Old client log already has MDC entry, but needs mount opt + /* Old client log already has MDC entry, but needs mount opt for new client name (lustre-client) */ - /* FIXME Old MDT log already has an old mount opt + /* FIXME Old MDT log already has an old mount opt which we should remove (currently handled by class_del_profiles()) */ rc = record_mount_opt(obd, llh, cliname, fsdb->fsdb_clilov, fsdb->fsdb_mdc); - /* Only add failnids with --writeconf + /* Only add failnids with --writeconf rc = mgs_write_log_failnids(obd, mti, llh, fsdb->fsdb_mdc); */ /* end COMPAT_146 */ @@ -1147,7 +1148,7 @@ static int mgs_write_log_mdt(struct obd_device *obd, struct fs_db *fsdb, rc = record_mount_opt(obd, llh, cliname, fsdb->fsdb_clilov, mdcname); } - rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, "add mdc"); + rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, "add mdc"); rc = record_end_log(obd, &llh); out: name_destroy(&mdcuuid); @@ -1172,7 +1173,7 @@ static int mgs_write_log_osc(struct obd_device *obd, struct fs_db *fsdb, somewhere to add our osc. */ rc = mgs_write_log_lov(obd, fsdb, mti, logname, lovname); } - + CDEBUG(D_MGS, "adding osc for %s to log %s\n", mti->mti_svname, logname); @@ -1193,11 +1194,11 @@ static int mgs_write_log_osc(struct obd_device *obd, struct fs_db *fsdb, #08 L lov_modify_tgts add 0:lov1 1:ost1_UUID 2(index):0 3(gen):1 */ rc = record_start_log(obd, &llh, logname); - if (rc) + if (rc) GOTO(out, rc); /* FIXME these should be a single journal transaction */ rc = record_marker(obd, llh, fsdb, CM_START | flags, mti->mti_svname, - "add osc"); + "add osc"); for (i = 0; i < mti->mti_nid_count; i++) { CDEBUG(D_MGS, "add nid %s\n", libcfs_nid2str(mti->mti_nids[i])); rc = record_add_uuid(obd, llh, mti->mti_nids[i], nodeuuid); @@ -1208,9 +1209,9 @@ static int mgs_write_log_osc(struct obd_device *obd, struct fs_db *fsdb, snprintf(index, sizeof(index), "%d", mti->mti_stripe_index); rc = record_lov_add(obd, llh, lovname, mti->mti_uuid, index, "1"); rc = record_marker(obd, llh, fsdb, CM_END | flags, mti->mti_svname, - "add osc"); + "add osc"); rc = record_end_log(obd, &llh); -out: +out: name_destroy(&lovuuid); name_destroy(&oscuuid); name_destroy(&oscname); @@ -1226,7 +1227,7 @@ static int mgs_write_log_ost(struct obd_device *obd, struct fs_db *fsdb, char *ptr = mti->mti_params; int rc, flags = 0, failout = 0; ENTRY; - + CDEBUG(D_MGS, "writing new ost %s\n", mti->mti_svname); /* The ost startup log */ @@ -1245,14 +1246,14 @@ static int mgs_write_log_ost(struct obd_device *obd, struct fs_db *fsdb, attach obdfilter ost1 ost1_UUID setup /dev/loop2 ldiskfs f|n errors=remount-ro,user_xattr */ - if (class_find_param(ptr, PARAM_FAILMODE, &ptr) == 0) + if (class_find_param(ptr, PARAM_FAILMODE, &ptr) == 0) failout = (strncmp(ptr, "failout", 7) == 0); rc = record_start_log(obd, &llh, mti->mti_svname); - if (rc) + if (rc) RETURN(rc); /* FIXME these should be a single journal transaction */ - rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname,"add ost"); - if (*mti->mti_uuid == '\0') + rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname,"add ost"); + if (*mti->mti_uuid == '\0') snprintf(mti->mti_uuid, sizeof(mti->mti_uuid), "%s_UUID", mti->mti_svname); rc = record_attach(obd, llh, mti->mti_svname, @@ -1260,10 +1261,10 @@ static int mgs_write_log_ost(struct obd_device *obd, struct fs_db *fsdb, rc = record_setup(obd, llh, mti->mti_svname, "dev"/*ignored*/, "type"/*ignored*/, failout ? "n" : "f", 0/*options*/); - rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, "add ost"); + rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, "add ost"); rc = record_end_log(obd, &llh); - /* We also have to update the other logs where this osc is part of + /* We also have to update the other logs where this osc is part of the lov */ if (fsdb->fsdb_flags & FSDB_OLDLOG14) { @@ -1280,7 +1281,7 @@ static int mgs_write_log_ost(struct obd_device *obd, struct fs_db *fsdb, "the MDT first to regenerate it.\n", mti->mti_svname); } - + /* Append ost info to mdt log */ /* FIXME add to all MDT logs for CMD */ /* FIXME need real MDT name, but MDT may not have registered yet! */ @@ -1288,17 +1289,17 @@ static int mgs_write_log_ost(struct obd_device *obd, struct fs_db *fsdb, rc = mgs_write_log_osc(obd, fsdb, mti, logname, fsdb->fsdb_mdtlov, flags); name_destroy(&logname); - + /* Append ost info to the client log */ name_create(&logname, mti->mti_fsname, "-client"); - rc = mgs_write_log_osc(obd, fsdb, mti, logname, fsdb->fsdb_clilov, + rc = mgs_write_log_osc(obd, fsdb, mti, logname, fsdb->fsdb_clilov, flags); name_destroy(&logname); - + RETURN(rc); } -/* Add additional failnids to an existing log. +/* Add additional failnids to an existing log. The mdc/osc must have been added to logs first */ /* tcp nids must be in dotted-quad ascii - we can't resolve hostnames from the kernel. */ @@ -1311,7 +1312,7 @@ static int mgs_write_log_add_failnid(struct obd_device *obd, struct fs_db *fsdb, ENTRY; /* FIXME how do we delete a failnid? Currently --writeconf is the - only way. Maybe make --erase-params pass a flag to really + only way. Maybe make --erase-params pass a flag to really erase all params from logs - except it can't erase the failnids given when a target first registers, since they aren't processed as params... */ @@ -1326,10 +1327,10 @@ static int mgs_write_log_add_failnid(struct obd_device *obd, struct fs_db *fsdb, /* Create mdc/osc client name (e.g. lustre-OST0001-osc) */ if (mti->mti_flags & LDD_F_SV_TYPE_MDT) { - /* COMPAT_146 */ + /* COMPAT_146 */ if (fsdb->fsdb_mdc) name_create(&cliname, fsdb->fsdb_mdc, ""); - else + else name_create(&cliname, mti->mti_svname, "-mdc"); } else if (mti->mti_flags & LDD_F_SV_TYPE_OST) { /* COMPAT_146 */ @@ -1337,7 +1338,7 @@ static int mgs_write_log_add_failnid(struct obd_device *obd, struct fs_db *fsdb, LCONSOLE_ERROR_MSG(0x143, "Failover NIDs cannot be " "added to upgraded client logs for " "%s. Consider updating the " - "configuration with --writeconf.\n", + "configuration with --writeconf.\n", mti->mti_svname); RETURN(-EINVAL); } @@ -1345,17 +1346,17 @@ static int mgs_write_log_add_failnid(struct obd_device *obd, struct fs_db *fsdb, } else { RETURN(-EINVAL); } - + /* Add failover nids to client log */ name_create(&logname, mti->mti_fsname, "-client"); rc = record_start_log(obd, &llh, logname); - if (!rc) { + if (!rc) { /* FIXME this fn should be a single journal transaction */ rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname, "add failnid"); rc = mgs_write_log_failnids(obd, mti, llh, cliname); rc = record_marker(obd, llh, fsdb, CM_END, mti->mti_svname, - "add failnid"); + "add failnid"); rc = record_end_log(obd, &llh); } name_destroy(&logname); @@ -1365,11 +1366,11 @@ static int mgs_write_log_add_failnid(struct obd_device *obd, struct fs_db *fsdb, name_create(&logname, mti->mti_fsname, "-MDT0000"); rc = record_start_log(obd, &llh, logname); if (!rc) { - rc = record_marker(obd, llh, fsdb, CM_START, + rc = record_marker(obd, llh, fsdb, CM_START, mti->mti_svname, "add failnid"); rc = mgs_write_log_failnids(obd, mti, llh, cliname); - rc = record_marker(obd, llh, fsdb, CM_END, - mti->mti_svname, "add failnid"); + rc = record_marker(obd, llh, fsdb, CM_END, + mti->mti_svname, "add failnid"); rc = record_end_log(obd, &llh); } name_destroy(&logname); @@ -1379,7 +1380,7 @@ static int mgs_write_log_add_failnid(struct obd_device *obd, struct fs_db *fsdb, RETURN(rc); } -static int mgs_wlp_lcfg(struct obd_device *obd, struct fs_db *fsdb, +static int mgs_wlp_lcfg(struct obd_device *obd, struct fs_db *fsdb, struct mgs_target_info *mti, char *logname, struct lustre_cfg_bufs *bufs, char *tgtname, char *ptr) @@ -1388,7 +1389,7 @@ static int mgs_wlp_lcfg(struct obd_device *obd, struct fs_db *fsdb, char *tmp; struct lustre_cfg *lcfg; int rc; - + /* Erase any old settings of this same parameter */ memcpy(comment, ptr, MTI_NAME_MAXLEN); comment[MTI_NAME_MAXLEN - 1] = 0; @@ -1403,7 +1404,7 @@ static int mgs_wlp_lcfg(struct obd_device *obd, struct fs_db *fsdb, lustre_cfg_bufs_reset(bufs, tgtname); lustre_cfg_bufs_set_string(bufs, 1, ptr); lcfg = lustre_cfg_new(LCFG_PARAM, bufs); - if (!lcfg) + if (!lcfg) return -ENOMEM; rc = mgs_write_log_direct(obd, fsdb, logname, lcfg, tgtname, comment); lustre_cfg_free(lcfg); @@ -1428,7 +1429,7 @@ static int mgs_write_log_timeout(struct obd_device *obd, struct fs_db *fsdb, lcfg->lcfg_num = timeout; /* modify all servers and clients */ rc = mgs_write_log_direct_all(obd, fsdb, mti, lcfg, mti->mti_fsname, - comment); + comment); lustre_cfg_free(lcfg); return rc; } @@ -1437,33 +1438,32 @@ static int mgs_write_log_params(struct obd_device *obd, struct fs_db *fsdb, struct mgs_target_info *mti) { struct lustre_cfg_bufs bufs; - struct lustre_cfg *lcfg; char *logname; char *ptr = mti->mti_params; char *endptr, *tmp; int rc = 0; ENTRY; - if (!mti->mti_params) + if (!mti->mti_params) RETURN(0); /* For various parameter settings, we have to figure out which logs care about them (e.g. both mdt and client for lov settings) */ while (ptr) { - while (*ptr == ' ') + while (*ptr == ' ') ptr++; if (*ptr == '\0') break; endptr = strchr(ptr, ' '); - if (endptr) + if (endptr) *endptr = '\0'; CDEBUG(D_MGS, "next param '%s'\n", ptr); - /* The params are stored in MOUNT_DATA_FILE and modified + /* The params are stored in MOUNT_DATA_FILE and modified via tunefs.lustre */ /* Processed in lustre_start_mgc */ - if (class_match_param(ptr, PARAM_MGSNODE, NULL) == 0) + if (class_match_param(ptr, PARAM_MGSNODE, NULL) == 0) goto end_while; /* Processed in mgs_write_log_ost */ @@ -1490,25 +1490,25 @@ static int mgs_write_log_params(struct obd_device *obd, struct fs_db *fsdb, } if (class_match_param(ptr, PARAM_SYS_TIMEOUT, &tmp) == 0) { - rc = mgs_write_log_timeout(obd, fsdb, mti, tmp, + rc = mgs_write_log_timeout(obd, fsdb, mti, tmp, LCFG_SET_TIMEOUT, "obd_timeout"); goto end_while; } if (class_match_param(ptr, PARAM_SYS_LDLM_TIMEOUT, &tmp) == 0) { - rc = mgs_write_log_timeout(obd, fsdb, mti, tmp, + rc = mgs_write_log_timeout(obd, fsdb, mti, tmp, LCFG_SET_LDLM_TIMEOUT, "ldlm_timeout"); goto end_while; } - if (class_match_param(ptr, PARAM_OSC""PARAM_ACTIVE, &tmp) == 0){ + if (class_match_param(ptr, PARAM_OSC""PARAM_ACTIVE, &tmp) == 0){ /* active=0 means off, anything else means on */ int flag = (*tmp == '0') ? CM_EXCLUDE : 0; if (!(mti->mti_flags & LDD_F_SV_TYPE_OST)) { LCONSOLE_ERROR_MSG(0x144, "%s: Only OSCs can be" - " (de)activated.\n", + " (de)activated.\n", mti->mti_svname); rc = -EINVAL; goto end_while; @@ -1517,15 +1517,15 @@ static int mgs_write_log_params(struct obd_device *obd, struct fs_db *fsdb, flag ? "de": "re", mti->mti_svname); /* Modify clilov */ name_create(&logname, mti->mti_fsname, "-client"); - rc = mgs_modify(obd, fsdb, mti, logname, + rc = mgs_modify(obd, fsdb, mti, logname, mti->mti_svname, "add osc", flag); name_destroy(&logname); - if (rc) + if (rc) goto active_err; /* Modify mdtlov */ /* FIXME add to all MDT logs for CMD */ name_create(&logname, mti->mti_fsname, "-MDT0000"); - rc = mgs_modify(obd, fsdb, mti, logname, + rc = mgs_modify(obd, fsdb, mti, logname, mti->mti_svname, "add osc", flag); name_destroy(&logname); active_err: @@ -1533,16 +1533,16 @@ active_err: LCONSOLE_ERROR_MSG(0x145, "Couldn't find %s in " "log (%d). No permanent " "changes were made to the " - "config log.\n", + "config log.\n", mti->mti_svname, rc); - if (fsdb->fsdb_flags & FSDB_OLDLOG14) + if (fsdb->fsdb_flags & FSDB_OLDLOG14) LCONSOLE_ERROR_MSG(0x146, "This may be " "because the log is in the old 1.4 " "style. Consider --writeconf to " "update the logs.\n"); goto end_while; } - /* Fall through to osc proc for deactivating + /* Fall through to osc proc for deactivating live OSC on running MDT / clients. */ } @@ -1554,7 +1554,7 @@ active_err: if (!(mti->mti_flags & LDD_F_SV_TYPE_MDT)) { LCONSOLE_ERROR_MSG(0x147, "LOV params must be " "set on the MDT, not %s. " - "Ignoring.\n", + "Ignoring.\n", mti->mti_svname); rc = 0; goto end_while; @@ -1565,9 +1565,9 @@ active_err: rc = -ENODEV; goto end_while; } - rc = mgs_wlp_lcfg(obd, fsdb, mti, mti->mti_svname, + rc = mgs_wlp_lcfg(obd, fsdb, mti, mti->mti_svname, &bufs, fsdb->fsdb_mdtlov, ptr); - if (rc) + if (rc) goto end_while; /* Modify clilov */ @@ -1579,20 +1579,20 @@ active_err: } /* All osc., mdc., llite. params in proc */ - if ((class_match_param(ptr, PARAM_OSC, NULL) == 0) || - (class_match_param(ptr, PARAM_MDC, NULL) == 0) || + if ((class_match_param(ptr, PARAM_OSC, NULL) == 0) || + (class_match_param(ptr, PARAM_MDC, NULL) == 0) || (class_match_param(ptr, PARAM_LLITE, NULL) == 0)) { char *cname; - if (memcmp(ptr, PARAM_LLITE, strlen(PARAM_LLITE)) == 0) { + if (memcmp(ptr, PARAM_LLITE, strlen(PARAM_LLITE)) == 0){ name_create(&cname, mti->mti_fsname, "-client"); - /* Add the client type to match the obdname + /* Add the client type to match the obdname in class_config_llog_handler */ } else if (mti->mti_flags & LDD_F_SV_TYPE_MDT) { /* COMPAT_146 */ if (fsdb->fsdb_mdc) name_create(&cname, fsdb->fsdb_mdc, ""); else - name_create(&cname, mti->mti_svname, + name_create(&cname, mti->mti_svname, "-mdc"); } else if (mti->mti_flags & LDD_F_SV_TYPE_OST) { /* COMPAT_146 */ @@ -1608,19 +1608,19 @@ active_err: goto end_while; } name_create(&cname, mti->mti_svname, "-osc"); - } else { + } else { rc = -EINVAL; goto end_while; } CDEBUG(D_MGS, "%.3s param %s\n", ptr, ptr + 4); - + /* Modify client */ name_create(&logname, mti->mti_fsname, "-client"); - rc = mgs_wlp_lcfg(obd, fsdb, mti, logname, &bufs, + rc = mgs_wlp_lcfg(obd, fsdb, mti, logname, &bufs, cname, ptr); name_destroy(&logname); - + /* osc params affect the MDT as well */ if (mti->mti_flags & LDD_F_SV_TYPE_OST) { /* FIXME add to all MDT logs for CMD */ @@ -1628,7 +1628,7 @@ active_err: "-MDT0000"); if (!mgs_log_is_empty(obd, logname)) rc = mgs_wlp_lcfg(obd, fsdb, mti, - logname, &bufs, + logname, &bufs, cname, ptr); name_destroy(&logname); } @@ -1637,7 +1637,7 @@ active_err: } /* All mdt., ost. params in proc */ - if ((class_match_param(ptr, PARAM_MDT, NULL) == 0) || + if ((class_match_param(ptr, PARAM_MDT, NULL) == 0) || (class_match_param(ptr, PARAM_OST, NULL) == 0)) { CDEBUG(D_MGS, "%.3s param %s\n", ptr, ptr + 4); if (mgs_log_is_empty(obd, mti->mti_svname)) { @@ -1656,11 +1656,11 @@ end_while: CERROR("err %d on param '%s\n", rc, ptr); break; } - + if (!endptr) /* last param */ break; - + *endptr = ' '; ptr = endptr + 1; } @@ -1677,20 +1677,20 @@ int mgs_check_failnid(struct obd_device *obd, struct mgs_target_info *mti) int rc; ENTRY; - rc = mgs_find_or_make_fsdb(obd, fsname, &fsdb); - if (rc) + rc = mgs_find_or_make_fsdb(obd, fsname, &fsdb); + if (rc) RETURN(rc); - if (mgs_log_is_empty(obd, mti->mti_svname)) + if (mgs_log_is_empty(obd, mti->mti_svname)) /* should never happen */ RETURN(-ENOENT); CDEBUG(D_MGS, "Checking for new failnids for %s\n", mti->mti_svname); /* FIXME We can just check mti->params to see if we're already in - the failover list. Modify mti->params for rewriting back at + the failover list. Modify mti->params for rewriting back at server_register_target(). */ - + down(&fsdb->fsdb_sem); rc = mgs_write_log_add_failnid(obd, fsdb, mti); up(&fsdb->fsdb_sem); @@ -1716,7 +1716,7 @@ int mgs_write_log_target(struct obd_device *obd, if (mti->mti_flags & LDD_F_UPGRADE14) { if (rc == EALREADY) { LCONSOLE_INFO("Found index %d for %s 1.4 log, " - "upgrading\n", mti->mti_stripe_index, + "upgrading\n", mti->mti_stripe_index, mti->mti_svname); } else { LCONSOLE_ERROR_MSG(0x149, "Failed to find %s in the old" @@ -1734,13 +1734,13 @@ int mgs_write_log_target(struct obd_device *obd, /* end COMPAT_146 */ } else { if (rc == EALREADY) { - /* This might be a params update, or a + /* This might be a params update, or a local writeconf. (For "full" writeconf, the client - log won't have an entry for this target, so we + log won't have an entry for this target, so we won't get here.) */ - LCONSOLE_WARN("Found index %d for %s, updating log\n", + LCONSOLE_WARN("Found index %d for %s, updating log\n", mti->mti_stripe_index, mti->mti_svname); - /* We would like to mark old log sections as invalid + /* We would like to mark old log sections as invalid and add new log sections in the client and mdt logs. But if we add new sections, then live clients will get repeat setup instructions for already running @@ -1749,7 +1749,7 @@ int mgs_write_log_target(struct obd_device *obd, } } - rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); + rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); if (rc) { CERROR("Can't get db for %s\n", mti->mti_fsname); RETURN(rc); @@ -1757,7 +1757,7 @@ int mgs_write_log_target(struct obd_device *obd, down(&fsdb->fsdb_sem); - if (mti->mti_flags & + if (mti->mti_flags & (LDD_F_VIRGIN | LDD_F_UPGRADE14 | LDD_F_WRITECONF)) { /* Generate a log from scratch */ if (mti->mti_flags & LDD_F_SV_TYPE_MDT) { @@ -1778,7 +1778,7 @@ int mgs_write_log_target(struct obd_device *obd, CDEBUG(D_MGS, "Update params for %s\n", mti->mti_svname); mti->mti_flags |= LDD_F_PARAM; } - + rc = mgs_write_log_params(obd, fsdb, mti); out_up: @@ -1787,32 +1787,32 @@ out_up: } /* COMPAT_146 */ -/* verify that we can handle the old config logs */ +/* verify that we can handle the old config logs */ int mgs_upgrade_sv_14(struct obd_device *obd, struct mgs_target_info *mti) { struct fs_db *fsdb; int rc = 0; ENTRY; - /* Create ost log normally, as servers register. Servers + /* Create ost log normally, as servers register. Servers register with their old uuids (from last_rcvd), so old (MDT and client) logs should work. - - new MDT won't know about old OSTs, only the ones that have - registered, so we need the old MDT log to get the LOV right - in order for old clients to work. - - Old clients connect to the MDT, not the MGS, for their logs, and - will therefore receive the old client log from the MDT /LOGS dir. + - new MDT won't know about old OSTs, only the ones that have + registered, so we need the old MDT log to get the LOV right + in order for old clients to work. + - Old clients connect to the MDT, not the MGS, for their logs, and + will therefore receive the old client log from the MDT /LOGS dir. - Old clients can continue to use and connect to old or new OSTs - - New clients will contact the MGS for their log + - New clients will contact the MGS for their log */ - LCONSOLE_INFO("upgrading server %s from pre-1.6\n", mti->mti_svname); + LCONSOLE_INFO("upgrading server %s from pre-1.6\n", mti->mti_svname); server_mti_print("upgrade", mti); - + rc = mgs_find_or_make_fsdb(obd, mti->mti_fsname, &fsdb); - if (rc) + if (rc) RETURN(rc); - + if (fsdb->fsdb_flags & FSDB_LOG_EMPTY) { LCONSOLE_ERROR_MSG(0x14a, "The old client log %s-client is " "missing. Was tunefs.lustre successful?\n", @@ -1821,7 +1821,7 @@ int mgs_upgrade_sv_14(struct obd_device *obd, struct mgs_target_info *mti) } if (fsdb->fsdb_gen == 0) { - /* There were no markers in the client log, meaning we have + /* There were no markers in the client log, meaning we have not updated the logs for this fs */ CDEBUG(D_MGS, "found old, unupdated client log\n"); } @@ -1838,10 +1838,10 @@ int mgs_upgrade_sv_14(struct obd_device *obd, struct mgs_target_info *mti) /* We're starting with an old uuid. Assume old name for lov as well since the lov entry already exists in the log. */ CDEBUG(D_MGS, "old mds uuid %s\n", mti->mti_uuid); - if (strncmp(mti->mti_uuid, fsdb->fsdb_mdtlov + 4, + if (strncmp(mti->mti_uuid, fsdb->fsdb_mdtlov + 4, strlen(fsdb->fsdb_mdtlov) - 4) != 0) { CERROR("old mds uuid %s doesn't match log %s (%s)\n", - mti->mti_uuid, fsdb->fsdb_mdtlov, + mti->mti_uuid, fsdb->fsdb_mdtlov, fsdb->fsdb_mdtlov + 4); RETURN(-EINVAL); } @@ -1893,7 +1893,7 @@ int mgs_erase_logs(struct obd_device *obd, char *fsname) struct l_linux_dirent *dirent, *n; int rc, len = strlen(fsname); ENTRY; - + /* Find all the logs in the CONFIGS directory */ rc = class_dentry_readdir(obd, mgs->mgs_configs_dir, mgs->mgs_vfsmnt, &dentry_list); @@ -1901,12 +1901,12 @@ int mgs_erase_logs(struct obd_device *obd, char *fsname) CERROR("Can't read %s dir\n", MOUNT_CONFIGS_DIR); RETURN(rc); } - + down(&mgs->mgs_sem); - + /* Delete the fs db */ fsdb = mgs_find_fsdb(obd, fsname); - if (fsdb) + if (fsdb) mgs_free_fsdb(obd, fsdb); list_for_each_entry_safe(dirent, n, &dentry_list, lld_list) { @@ -1917,7 +1917,7 @@ int mgs_erase_logs(struct obd_device *obd, char *fsname) } OBD_FREE(dirent, sizeof(*dirent)); } - + up(&mgs->mgs_sem); RETURN(rc); @@ -1941,7 +1941,7 @@ static void print_lustre_cfg(struct lustre_cfg *lcfg) if (lcfg->lcfg_bufcount < LUSTRE_CFG_MAX_BUFCOUNT) for (i = 0; i < lcfg->lcfg_bufcount; i++) { CDEBUG(D_MGS, "\tlcfg->lcfg_buflens[%d]: %d %s\n", - i, lcfg->lcfg_buflens[i], + i, lcfg->lcfg_buflens[i], lustre_cfg_string(lcfg, i)); } EXIT; @@ -1959,7 +1959,7 @@ int mgs_setparam(struct obd_device *obd, struct lustre_cfg *lcfg, char *fsname) ENTRY; print_lustre_cfg(lcfg); - + /* lustre, lustre-mdtlov, lustre-client, lustre-MDT0000 */ devname = lustre_cfg_string(lcfg, 0); param = lustre_cfg_string(lcfg, 1); @@ -1994,8 +1994,8 @@ int mgs_setparam(struct obd_device *obd, struct lustre_cfg *lcfg, char *fsname) fsname[MTI_NAME_MAXLEN - 1] = 0; CDEBUG(D_MGS, "setparam on fs %s device %s\n", fsname, devname); - rc = mgs_find_or_make_fsdb(obd, fsname, &fsdb); - if (rc) + rc = mgs_find_or_make_fsdb(obd, fsname, &fsdb); + if (rc) RETURN(rc); if (fsdb->fsdb_flags & FSDB_LOG_EMPTY) { CERROR("No filesystem targets for %s. cfg_device from lctl " @@ -2006,25 +2006,25 @@ int mgs_setparam(struct obd_device *obd, struct lustre_cfg *lcfg, char *fsname) /* Create a fake mti to hold everything */ OBD_ALLOC_PTR(mti); - if (!mti) + if (!mti) GOTO(out, rc = -ENOMEM); strncpy(mti->mti_fsname, fsname, MTI_NAME_MAXLEN); strncpy(mti->mti_svname, devname, MTI_NAME_MAXLEN); strncpy(mti->mti_params, param, sizeof(mti->mti_params)); rc = server_name2index(mti->mti_svname, &mti->mti_stripe_index, &tmp); - if (rc < 0) + if (rc < 0) /* Not a valid server; may be only fsname */ rc = 0; else /* Strip -osc or -mdc suffix from svname */ - if (server_make_name(rc, mti->mti_stripe_index, mti->mti_fsname, - mti->mti_svname)) + if (server_make_name(rc, mti->mti_stripe_index, mti->mti_fsname, + mti->mti_svname)) GOTO(out, rc = -EINVAL); mti->mti_flags = rc | LDD_F_PARAM; down(&fsdb->fsdb_sem); - rc = mgs_write_log_params(obd, fsdb, mti); + rc = mgs_write_log_params(obd, fsdb, mti); up(&fsdb->fsdb_sem); out: @@ -2196,10 +2196,10 @@ static int mgs_backup_llog(struct obd_device *obd, char* fsname) if (len >= PATH_MAX - 1) { GOTO(out, -ENAMETOOLONG); - } + } push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); - + bak_filp = l_filp_open(logname, O_RDWR|O_CREAT|O_TRUNC, 0660); if (IS_ERR(bak_filp)) { rc = PTR_ERR(bak_filp); -- 1.8.3.1