X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmdt%2Fmdt_fs.c;h=acdd86ff80a08f3894e5c35ed93c6e9ad84b7ffb;hb=f9659fd87771122d01a4fafb09ba59c4cf0091ab;hp=aff8feba7f2064bed2250a2091cc84f677245a78;hpb=f79a2f1a19decfd1bed4857772e63dee01e151b2;p=fs%2Flustre-release.git diff --git a/lustre/mdt/mdt_fs.c b/lustre/mdt/mdt_fs.c index aff8feb..acdd86f 100644 --- a/lustre/mdt/mdt_fs.c +++ b/lustre/mdt/mdt_fs.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. @@ -28,6 +26,8 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2011, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -37,23 +37,20 @@ * * Lustre Metadata Server (MDS) filesystem interface code */ -#ifndef EXPORT_SYMTAB -# define EXPORT_SYMTAB -#endif + #define DEBUG_SUBSYSTEM S_MDS #include "mdt_internal.h" int mdt_export_stats_init(struct obd_device *obd, struct obd_export *exp, - int reconnect, void *localdata) { lnet_nid_t *client_nid = localdata; int rc, newnid; ENTRY; - rc = lprocfs_exp_setup(exp, client_nid, reconnect, &newnid); + rc = lprocfs_exp_setup(exp, client_nid, &newnid); if (rc) { /* Mask error for already created * /proc entries */ @@ -62,12 +59,26 @@ int mdt_export_stats_init(struct obd_device *obd, RETURN(rc); } if (newnid) { - rc = lprocfs_nid_ldlm_stats_init(exp->exp_nid_stats); + struct nid_stat *tmp = exp->exp_nid_stats; + int num_stats; + + num_stats = (sizeof(*obd->obd_type->typ_md_ops) / sizeof(void *)) + + LPROC_MDT_LAST; + tmp->nid_stats = lprocfs_alloc_stats(num_stats, + LPROCFS_STATS_FLAG_NOPERCPU); + if (tmp->nid_stats == NULL) + return -ENOMEM; + lprocfs_init_mps_stats(LPROC_MDT_LAST, tmp->nid_stats); + mdt_stats_counter_init(tmp->nid_stats); + rc = lprocfs_register_stats(tmp->nid_proc, "stats", + tmp->nid_stats); + if (rc) + GOTO(clean, rc); + rc = lprocfs_nid_ldlm_stats_init(tmp); if (rc) GOTO(clean, rc); } RETURN(0); clean: - lprocfs_exp_cleanup(exp); return rc; }