X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmgc%2Fmgc_request.c;h=bd1f214db7271df26b86fe9d584763895868830d;hb=b893c0d0269210b125da0481d17b18f5b06fec1d;hp=e8ddf2758bc6896e2bcf02a7da824d95131f5368;hpb=1dce0d2706dfe8ae4d85c33d251c9320eb484088;p=fs%2Flustre-release.git diff --git a/lustre/mgc/mgc_request.c b/lustre/mgc/mgc_request.c index e8ddf27..bd1f214 100644 --- a/lustre/mgc/mgc_request.c +++ b/lustre/mgc/mgc_request.c @@ -1,27 +1,41 @@ /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: * - * lustre/mgc/mgc_request.c - * Lustre Management Client + * GPL HEADER START * - * Copyright (C) 2006 Cluster File Systems, Inc. - * Author: Nathan Rutman + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * This file is part of Lustre, http://www.lustre.org + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 only, + * as published by the Free Software Foundation. * - * Lustre is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License version 2 for more details (a copy is included + * in the LICENSE file that accompanied this code). * - * Lustre is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * version 2 along with this program; If not, see + * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf * - * You should have received a copy of the GNU General Public License - * along with Lustre; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. * + * GPL HEADER END + */ +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Use is subject to license terms. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. + * + * lustre/mgc/mgc_request.c + * + * Author: Nathan Rutman */ #ifndef EXPORT_SYMTAB @@ -73,7 +87,7 @@ static int mgc_name2resid(char *name, int len, struct ldlm_res_id *res_id) int mgc_fsname2resid(char *fsname, struct ldlm_res_id *res_id) { /* fsname is at most 8 chars long, maybe contain "-". - * e.g. "lustre", "CFS-000" */ + * e.g. "lustre", "SUN-000" */ return mgc_name2resid(fsname, strlen(fsname), res_id); } EXPORT_SYMBOL(mgc_fsname2resid); @@ -84,7 +98,7 @@ int mgc_logname2resid(char *logname, struct ldlm_res_id *res_id) int len; /* logname consists of "fsname-nodetype". - * e.g. "lustre-MDT0001", "CFS-000-client" */ + * e.g. "lustre-MDT0001", "SUN-000-client" */ name_end = strrchr(logname, '-'); LASSERT(name_end); len = name_end - logname; @@ -323,7 +337,6 @@ static int mgc_requeue_add(struct config_llog_data *cld, int later) /* Hold lock for rq_state */ spin_lock(&config_list_lock); - cld->cld_lostlock = 1; if (cld->cld_stopping || (rq_state & RQ_STOP)) { spin_unlock(&config_list_lock); @@ -331,6 +344,8 @@ static int mgc_requeue_add(struct config_llog_data *cld, int later) RETURN(0); } + cld->cld_lostlock = 1; + if (!(rq_state & RQ_RUNNING)) { LASSERT(rq_state == 0); rq_state = RQ_RUNNING | (later ? RQ_LATER : RQ_NOW); @@ -406,7 +421,7 @@ static int mgc_fs_setup(struct obd_device *obd, struct super_block *sb, /* We take an obd ref to insure that we can't get to mgc_cleanup without calling mgc_fs_cleanup first. */ - class_incref(obd); + class_incref(obd, "mgc_fs", obd); label = fsfilt_get_label(obd, mnt->mnt_sb); if (label) @@ -437,7 +452,7 @@ static int mgc_fs_cleanup(struct obd_device *obd) l_dput(cli->cl_mgc_configs_dir); cli->cl_mgc_configs_dir = NULL; pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL); - class_decref(obd); + class_decref(obd, "mgc_fs", obd); } cli->cl_mgc_vfsmnt = NULL; @@ -467,14 +482,10 @@ static int mgc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage) spin_unlock(&config_list_lock); cfs_waitq_signal(&rq_waitq); } - break; - case OBD_CLEANUP_SELF_EXP: rc = obd_llog_finish(obd, 0); if (rc != 0) CERROR("failed to cleanup llogging subsystems\n"); break; - case OBD_CLEANUP_OBD: - break; } RETURN(rc); } @@ -614,7 +625,7 @@ static int mgc_set_mgs_param(struct obd_export *exp, struct ptlrpc_request *req; struct mgs_send_param *req_msp, *rep_msp; int size[] = { sizeof(struct ptlrpc_body), sizeof(*req_msp) }; - int rep_size[] = { sizeof(struct ptlrpc_body), sizeof(*msp) }; + __u32 rep_size[] = { sizeof(struct ptlrpc_body), sizeof(*msp) }; int rc; ENTRY; @@ -650,7 +661,7 @@ static int mgc_enqueue(struct obd_export *exp, struct lov_stripe_md *lsm, { struct config_llog_data *cld = (struct config_llog_data *)data; struct ldlm_enqueue_info einfo = { type, mode, mgc_blocking_ast, - ldlm_completion_ast, NULL, data}; + ldlm_completion_ast, NULL, NULL, data}; int rc; ENTRY; @@ -1048,7 +1059,8 @@ out_closel: struct client_obd *cli = &obd->u.cli; LASSERT(cli); LASSERT(cli->cl_mgc_configs_dir); - rc = lustre_rename(cli->cl_mgc_configs_dir, temp_log, logname); + rc = lustre_rename(cli->cl_mgc_configs_dir, cli->cl_mgc_vfsmnt, + temp_log, logname); } CDEBUG(D_MGC, "Copied remote log %s (%d)\n", logname, rc); out: @@ -1081,7 +1093,7 @@ static int mgc_process_log(struct obd_device *mgc, if (cld->cld_stopping) RETURN(0); - OBD_FAIL_TIMEOUT(OBD_FAIL_MGC_PROCESS_LOG, 20); + OBD_FAIL_TIMEOUT(OBD_FAIL_MGC_PAUSE_PROCESS_LOG, 20); lsi = s2lsi(cld->cld_cfg.cfg_sb); @@ -1273,7 +1285,7 @@ static void /*__exit*/ mgc_exit(void) class_unregister_type(LUSTRE_MGC_NAME); } -MODULE_AUTHOR("Cluster File Systems, Inc. "); +MODULE_AUTHOR("Sun Microsystems, Inc. "); MODULE_DESCRIPTION("Lustre Management Client"); MODULE_LICENSE("GPL");