X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmgc%2Flproc_mgc.c;h=ec4ba5eb4241fd1a84b3a5c1c52698826698ea98;hb=6bbae72c6900dbd2b853d716bc4d456dc7fd586e;hp=b4305b099e1c97537bb5b7ea58712baa98cea314;hpb=a37738fcbd79e283c687a630d9ccb7d7a9fedb3e;p=fs%2Flustre-release.git diff --git a/lustre/mgc/lproc_mgc.c b/lustre/mgc/lproc_mgc.c index b4305b0..ec4ba5e 100644 --- a/lustre/mgc/lproc_mgc.c +++ b/lustre/mgc/lproc_mgc.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -17,17 +15,15 @@ * * 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 - * - * 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. + * http://www.gnu.org/licenses/gpl-2.0.html * * GPL HEADER END */ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2011, 2017, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -41,28 +37,59 @@ #include #include "mgc_internal.h" -#ifdef LPROCFS +#ifdef CONFIG_PROC_FS + +LDEBUGFS_SEQ_FOPS_RO_TYPE(mgc, connect_flags); + +LDEBUGFS_SEQ_FOPS_RO_TYPE(mgc, server_uuid); + +LDEBUGFS_SEQ_FOPS_RO_TYPE(mgc, import); + +LDEBUGFS_SEQ_FOPS_RO_TYPE(mgc, state); -static struct lprocfs_vars lprocfs_mgc_obd_vars[] = { - { "uuid", lprocfs_rd_uuid, 0, 0 }, - { "ping", 0, lprocfs_wr_ping, 0, 0, 0222 }, - { "connect_flags", lprocfs_rd_connect_flags, 0, 0 }, - { "mgs_server_uuid", lprocfs_rd_server_uuid, 0, 0 }, - { "mgs_conn_uuid", lprocfs_rd_conn_uuid, 0, 0 }, - { "import", lprocfs_rd_import, 0, 0 }, - { "state", lprocfs_rd_state, 0, 0 }, - { "ir_state", lprocfs_mgc_rd_ir_state, 0, 0 }, - { 0 } +static int mgc_ir_state_seq_show(struct seq_file *m, void *v) +{ + return lprocfs_mgc_rd_ir_state(m, m->private); +} + +LDEBUGFS_SEQ_FOPS_RO(mgc_ir_state); + +struct lprocfs_vars lprocfs_mgc_obd_vars[] = { + { .name = "connect_flags", + .fops = &mgc_connect_flags_fops }, + { .name = "mgs_server_uuid", + .fops = &mgc_server_uuid_fops }, + { .name = "import", + .fops = &mgc_import_fops }, + { .name = "state", + .fops = &mgc_state_fops }, + { .name = "ir_state", + .fops = &mgc_ir_state_fops }, + { NULL } }; +#endif /* CONFIG_PROC_FS */ -static struct lprocfs_vars lprocfs_mgc_module_vars[] = { - { "num_refs", lprocfs_rd_numrefs, 0, 0 }, - { 0 } +LUSTRE_ATTR(mgs_conn_uuid, 0444, conn_uuid_show, NULL); +LUSTRE_RO_ATTR(conn_uuid); + +LUSTRE_RW_ATTR(ping); + +static struct attribute *mgc_attrs[] = { + &lustre_attr_mgs_conn_uuid.attr, + &lustre_attr_conn_uuid.attr, + &lustre_attr_ping.attr, + NULL, }; -void lprocfs_mgc_init_vars(struct lprocfs_static_vars *lvars) +int mgc_tunables_init(struct obd_device *obd) { - lvars->module_vars = lprocfs_mgc_module_vars; - lvars->obd_vars = lprocfs_mgc_obd_vars; + int rc; + + obd->obd_ktype.default_attrs = mgc_attrs; + obd->obd_vars = lprocfs_mgc_obd_vars; + rc = lprocfs_obd_setup(obd, true); + if (rc) + return rc; + + return sptlrpc_lprocfs_cliobd_attach(obd); } -#endif /* LPROCFS */