X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmdt%2Fmdt_fs.c;h=8621475e3cde96ee916e5dc99c2a992e87a64593;hb=64fb5f52a2d5a1e6a7e24ffff8fd7d60007a351e;hp=2c3818270091496fa41074e9a41b30e765c6e5de;hpb=e67c6e366752611ffd2baeb7cefa24c9f289eb78;p=fs%2Flustre-release.git diff --git a/lustre/mdt/mdt_fs.c b/lustre/mdt/mdt_fs.c index 2c38182..8621475 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. @@ -26,8 +24,10 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * 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,9 +37,7 @@ * * Lustre Metadata Server (MDS) filesystem interface code */ -#ifndef EXPORT_SYMTAB -# define EXPORT_SYMTAB -#endif + #define DEBUG_SUBSYSTEM S_MDS #include "mdt_internal.h" @@ -52,6 +50,8 @@ int mdt_export_stats_init(struct obd_device *obd, int rc, newnid; ENTRY; + LASSERT(!obd->obd_uses_nid_stats); + rc = lprocfs_exp_setup(exp, client_nid, &newnid); if (rc) { /* Mask error for already created @@ -61,21 +61,22 @@ int mdt_export_stats_init(struct obd_device *obd, RETURN(rc); } if (newnid) { - /* Always add in ldlm_stats */ - exp->exp_nid_stats->nid_ldlm_stats = - lprocfs_alloc_stats(LDLM_LAST_OPC - LDLM_FIRST_OPC, - LPROCFS_STATS_FLAG_NOPERCPU); - if (exp->exp_nid_stats->nid_ldlm_stats == NULL) - GOTO(clean, rc = -ENOMEM); - lprocfs_init_ldlm_stats(exp->exp_nid_stats->nid_ldlm_stats); - rc = lprocfs_register_stats(exp->exp_nid_stats->nid_proc, - "ldlm_stats", - exp->exp_nid_stats->nid_ldlm_stats); + struct nid_stat *tmp = exp->exp_nid_stats; + + tmp->nid_stats = lprocfs_alloc_stats(LPROC_MDT_LAST, + LPROCFS_STATS_FLAG_NOPERCPU); + if (tmp->nid_stats == NULL) + RETURN(-ENOMEM); + 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; }