From: zab Date: Sat, 15 Feb 2003 20:22:19 +0000 (+0000) Subject: - rebase b_io against HEAD in preparation for the latest write cache code X-Git-Tag: v1_7_0_51~2^12~29 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=4c9d90c8c7f5b55a3fb5a34e0c69bc75f010c02d;p=fs%2Flustre-release.git - rebase b_io against HEAD in preparation for the latest write cache code --- diff --git a/lustre/mdc/lproc_mdc.c b/lustre/mdc/lproc_mdc.c index b0fcad6..f5b5b80 100644 --- a/lustre/mdc/lproc_mdc.c +++ b/lustre/mdc/lproc_mdc.c @@ -21,108 +21,39 @@ */ #define DEBUG_SUBSYSTEM S_CLASS -#include +#include #include - -int rd_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - - struct obd_device* temp = (struct obd_device*)data; - int len = 0; - len += snprintf(page, count, "%s\n",temp->obd_uuid); - return len; - - -} -int rd_blksize(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} -int rd_kbtotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_kbfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - - -int rd_filestotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_filesfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_filegroups(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} -int rd_conn_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct client_obd* cli = &temp->u.cli; - struct obd_import* imp = &cli->cl_import; - int len = 0; - - len += snprintf(page, count, "%s\n",imp->imp_connection->c_remote_uuid); - return len; -} - -int rd_server_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct client_obd* cli = &temp->u.cli; - int len = 0; - - len += snprintf(page, count, "%s\n",cli->cl_target_uuid); - return len; -} - -int rd_server_name(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; - -} - -struct lprocfs_vars status_var_nm_1[] = { - {"status/uuid", rd_uuid, 0, 0}, - {"status/blocksize",rd_blksize, 0, 0}, - {"status/kbytestotal",rd_kbtotal, 0, 0}, - {"status/kbytesfree", rd_kbfree, 0, 0}, - {"status/filestotal", rd_filestotal, 0, 0}, - {"status/filesfree", rd_filesfree, 0, 0}, - {"status/filegroups", rd_filegroups, 0, 0}, - {"status/mds_server_uuid", rd_server_uuid, 0, 0}, - {"status/mds_conn_uuid", rd_conn_uuid, 0, 0}, - {0} +#ifndef LPROCFS +struct lprocfs_vars lprocfs_obd_vars[] = { {0} }; +struct lprocfs_vars lprocfs_module_vars[] = { {0} }; +#else + +DEFINE_LPROCFS_STATFS_FCT(rd_blksize, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytestotal, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytesfree, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filestotal, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filesfree, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filegroups, obd_self_statfs); + +struct lprocfs_vars lprocfs_obd_vars[] = { + { "uuid", lprocfs_rd_uuid, 0, 0 }, + { "blocksize", rd_blksize, 0, 0 }, + { "kbytestotal", rd_kbytestotal, 0, 0 }, + { "kbytesfree", rd_kbytesfree, 0, 0 }, + { "filestotal", rd_filestotal, 0, 0 }, + { "filesfree", rd_filesfree, 0, 0 }, + { "filegroups", rd_filegroups, 0, 0 }, + { "mds_server_uuid", lprocfs_rd_server_uuid, 0, 0 }, + { "mds_conn_uuid", lprocfs_rd_conn_uuid, 0, 0 }, + { 0 } }; -int rd_numrefs(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_type* class = (struct obd_type*)data; - int len = 0; - len += snprintf(page, count, "%d\n", class->typ_refcnt); - return len; -} -struct lprocfs_vars status_class_var[] = { - {"status/num_refs", rd_numrefs, 0, 0}, - {0} +struct lprocfs_vars lprocfs_module_vars[] = { + { "num_refs", lprocfs_rd_numrefs, 0, 0 }, + { 0 } }; + +#endif /* LPROCFS */ + +LPROCFS_INIT_VARS(lprocfs_module_vars, lprocfs_obd_vars) diff --git a/lustre/mds/lproc_mds.c b/lustre/mds/lproc_mds.c index 7028603..eab0cf7 100644 --- a/lustre/mds/lproc_mds.c +++ b/lustre/mds/lproc_mds.c @@ -25,85 +25,29 @@ #include #include -int rd_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - int len = 0; - len += snprintf(page, count, "%s\n", temp->obd_uuid); - return len; -} -int rd_blksize(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct mds_obd *mds = &temp->u.mds; - struct statfs mystats; - int rc, len = 0; - - rc = vfs_statfs(mds->mds_sb, &mystats); - if (rc) { - CERROR("mds: statfs failed: rc %d\n", rc); - return 0; - } - len += snprintf(page, count, LPU64"\n", (__u64)(mystats.f_bsize)); - return len; +#ifndef LPROCFS +struct lprocfs_vars lprocfs_mds_obd_vars[] = { {0} }; +struct lprocfs_vars lprocfs_mds_module_vars[] = { {0} }; +struct lprocfs_vars lprocfs_mdt_obd_vars[] = { {0} }; +struct lprocfs_vars lprocfs_mdt_module_vars[] = { {0} }; -} -int rd_kbtotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct mds_obd *mds = &temp->u.mds; - struct statfs mystats; - int rc, len = 0; - __u32 blk_size; - __u64 result; - - rc = vfs_statfs(mds->mds_sb, &mystats); - if (rc) { - CERROR("mds: statfs failed: rc %d\n", rc); - return 0; - } - - blk_size = mystats.f_bsize; - blk_size >>= 10; - result = mystats.f_blocks; - while(blk_size >>= 1){ - result <<= 1; - } - len += snprintf(page, count, LPU64"\n", result); - return len; - -} +#else -int rd_kbfree(char* page, char **start, off_t off, int count, int *eof, - void *data) +static inline +int lprocfs_mds_statfs(void *data, struct statfs *sfs) { - struct obd_device* temp = (struct obd_device*)data; - struct mds_obd *mds = &temp->u.mds; - struct statfs mystats; - int rc, len = 0; - __u32 blk_size; - __u64 result; - - - rc = vfs_statfs(mds->mds_sb, &mystats); - if (rc) { - CERROR("mds: statfs failed: rc %d\n", rc); - return 0; - } - blk_size = mystats.f_bsize; - blk_size >>= 10; - result = mystats.f_blocks; - while(blk_size >>= 1){ - result <<= 1; - } - len += snprintf(page, count, LPU64"\n", result); - return len; - + struct obd_device* dev = (struct obd_device*) data; + struct mds_obd *mds = &dev->u.mds; + return vfs_statfs(mds->mds_sb, sfs); } +DEFINE_LPROCFS_STATFS_FCT(rd_blksize, lprocfs_mds_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytestotal, lprocfs_mds_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytesfree, lprocfs_mds_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filestotal, lprocfs_mds_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filesfree, lprocfs_mds_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filegroups, lprocfs_mds_statfs); + int rd_fstype(char *page, char **start, off_t off, int count, int *eof, void *data) { @@ -112,70 +56,40 @@ int rd_fstype(char *page, char **start, off_t off, int count, int *eof, return snprintf(page, count, "%s\n", obd->obd_fsops->fs_type); } -int rd_filestotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct mds_obd *mds = &temp->u.mds; - struct statfs mystats; - int rc, len = 0; - - rc = vfs_statfs(mds->mds_sb, &mystats); - if (rc) { - CERROR("mds: statfs failed: rc %d\n", rc); - return 0; - } - - len += snprintf(page, count, LPU64"\n", (__u64)(mystats.f_files)); - return len; - -} +struct lprocfs_vars lprocfs_mds_obd_vars[] = { + { "uuid", lprocfs_rd_uuid, 0, 0 }, + { "blocksize", rd_blksize, 0, 0 }, + { "bytestotal", rd_kbytestotal, 0, 0 }, + { "kbytesfree", rd_kbytesfree, 0, 0 }, + { "fstype", rd_fstype, 0, 0 }, + { "filestotal", rd_filestotal, 0, 0 }, + { "filesfree", rd_filesfree, 0, 0 }, + { "filegroups", rd_filegroups, 0, 0 }, + { 0 } +}; -int rd_filesfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct mds_obd *mds = &temp->u.mds; - struct statfs mystats; - int rc, len = 0; - - rc = vfs_statfs(mds->mds_sb, &mystats); - if (rc) { - CERROR("mds: statfs failed: rc %d\n", rc); - return 0; - } - - len += snprintf(page, count, LPU64"\n", (__u64)(mystats.f_ffree)); - return len; -} +struct lprocfs_vars lprocfs_mds_module_vars[] = { + { "num_refs", lprocfs_rd_numrefs, 0, 0 }, + { 0 } +}; -int rd_filegroups(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} -struct lprocfs_vars status_var_nm_1[]={ - {"status/uuid", rd_uuid, 0, 0}, - {"status/blocksize",rd_blksize, 0, 0}, - {"status/kbytestotal",rd_kbtotal, 0, 0}, - {"status/kbytesfree", rd_kbfree, 0, 0}, - {"status/fstype", rd_fstype, 0, 0}, - {"status/filestotal", rd_filestotal, 0, 0}, - {"status/filesfree", rd_filesfree, 0, 0}, - {"status/filegroups", rd_filegroups, 0, 0}, - {0} +struct lprocfs_vars lprocfs_mdt_obd_vars[] = { + { "uuid", lprocfs_rd_uuid, 0, 0 }, + { 0 } }; -int rd_numrefs(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_type* class = (struct obd_type*)data; - int len = 0; - len += snprintf(page, count, "%d\n", class->typ_refcnt); - return len; -} -struct lprocfs_vars status_class_var[]={ - {"status/num_refs", rd_numrefs, 0, 0}, - {0} +struct lprocfs_vars lprocfs_mdt_module_vars[] = { + { "num_refs", lprocfs_rd_numrefs, 0, 0 }, + { 0 } }; + +#endif +struct lprocfs_static_vars lprocfs_array_vars[] = { {lprocfs_mds_module_vars, + lprocfs_mds_obd_vars}, + {lprocfs_mdt_module_vars, + lprocfs_mdt_obd_vars}}; + +LPROCFS_INIT_MULTI_VARS(lprocfs_array_vars, + (sizeof(lprocfs_array_vars)/ + sizeof(struct lprocfs_static_vars))) diff --git a/lustre/obdfilter/lproc_obdfilter.c b/lustre/obdfilter/lproc_obdfilter.c index e680784..ad92f83 100644 --- a/lustre/obdfilter/lproc_obdfilter.c +++ b/lustre/obdfilter/lproc_obdfilter.c @@ -1,7 +1,7 @@ /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: * - * Copyright (C) 2002 Cluster File Systems, Inc. + * Copyright (C) 2002, 2003 Cluster File Systems, Inc. * * This file is part of Lustre, http://www.lustre.org. * @@ -21,125 +21,50 @@ */ #define DEBUG_SUBSYSTEM S_CLASS -#include #include +#include +#ifndef LPROCFS +struct lprocfs_vars lprocfs_obd_vars[] = { {0} }; +struct lprocfs_vars lprocfs_module_vars[] = { {0} }; +#else -int rd_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) +static inline int lprocfs_filter_statfs(void *data, struct statfs *sfs) { - int len = 0; - struct obd_device* dev = (struct obd_device*)data; - len += snprintf(page, count, "%s\n", dev->obd_uuid); - return len; + struct obd_device *dev = (struct obd_device *) data; + return vfs_statfs(dev->u.filter.fo_sb, sfs); } -int rd_blksize(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct statfs mystats; - int len = 0; - vfs_statfs(temp->u.filter.fo_sb, &mystats); - len+=snprintf(page, count, "%ld\n", mystats.f_bsize); - return len; -} -int rd_kbtotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct statfs mystats; - int len = 0; - __u32 blk_size; - __u64 result; - - vfs_statfs(temp->u.filter.fo_sb, &mystats); - blk_size = mystats.f_bsize; - blk_size >>= 10; - result = mystats.f_blocks; - while(blk_size >>= 1){ - result <<= 1; - } - len+=snprintf(page, count, LPU64"\n", result); - return len; -} +DEFINE_LPROCFS_STATFS_FCT(rd_blksize, lprocfs_filter_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytestotal, lprocfs_filter_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytesfree, lprocfs_filter_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filestotal, lprocfs_filter_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filesfree, lprocfs_filter_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filegroups, lprocfs_filter_statfs); -int rd_kbfree(char* page, char **start, off_t off, int count, int *eof, +int rd_fstype(char *page, char **start, off_t off, int count, int *eof, void *data) { - struct obd_device* temp = (struct obd_device*)data; - struct statfs mystats; - int len = 0; - __u32 blk_size; - __u64 result; - - vfs_statfs(temp->u.filter.fo_sb, &mystats); - blk_size = mystats.f_bsize; - blk_size >>= 10; - result = mystats.f_bfree; - while(blk_size >>= 1){ - result <<= 1; - } - len += snprintf(page, count, LPU64"\n", result); - return len; + struct obd_device *dev = (struct obd_device *)data; + return snprintf(page, count, "%s\n", dev->u.filter.fo_fstype); } -int rd_fstype(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - int len = 0; - len += snprintf(page, count, "%s\n", temp->u.filter.fo_fstype); - return len; -} -int rd_filestotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct statfs mystats; - int len = 0; - vfs_statfs(temp->u.filter.fo_sb, &mystats); - len += snprintf(page, count, "%ld\n", mystats.f_files); - return len; -} - -int rd_filesfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct statfs mystats; - int len = 0; - vfs_statfs(temp->u.filter.fo_sb, &mystats); - len += snprintf(page, count, "%ld\n", mystats.f_ffree); - return len; -} - -int rd_filegroups(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} -struct lprocfs_vars status_var_nm_1[] = { - {"status/uuid", rd_uuid, 0, 0}, - {"status/blocksize",rd_blksize, 0, 0}, - {"status/kbytestotal",rd_kbtotal, 0, 0}, - {"status/kbytesfree", rd_kbfree, 0, 0}, - {"status/filestotal", rd_filestotal, 0, 0}, - {"status/filesfree", rd_filesfree, 0, 0}, - {"status/filegroups", rd_filegroups, 0, 0}, - {"status/fstype", rd_fstype, 0, 0}, - {0} +struct lprocfs_vars lprocfs_obd_vars[] = { + { "uuid", lprocfs_rd_uuid, 0, 0 }, + { "blocksize", rd_blksize, 0, 0 }, + { "kbytestotal", rd_kbytestotal, 0, 0 }, + { "kbytesfree", rd_kbytesfree, 0, 0 }, + { "filestotal", rd_filestotal, 0, 0 }, + { "filesfree", rd_filesfree, 0, 0 }, + { "filegroups", rd_filegroups, 0, 0 }, + { "fstype", rd_fstype, 0, 0 }, + { 0 } }; -int rd_numrefs(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_type* class = (struct obd_type*)data; - int len = 0; - len += snprintf(page, count, "%d\n", class->typ_refcnt); - return len; -} -struct lprocfs_vars status_class_var[] = { - {"status/num_refs", rd_numrefs, 0, 0}, - {0} +struct lprocfs_vars lprocfs_module_vars[] = { + { "num_refs", lprocfs_rd_numrefs, 0, 0 }, + { 0 } }; + +#endif /* LPROCFS */ +LPROCFS_INIT_VARS(lprocfs_module_vars, lprocfs_obd_vars) diff --git a/lustre/osc/lproc_osc.c b/lustre/osc/lproc_osc.c index 58e9097..69af4bc 100644 --- a/lustre/osc/lproc_osc.c +++ b/lustre/osc/lproc_osc.c @@ -1,7 +1,7 @@ /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: * - * Copyright (C) 2002 Cluster File Systems, Inc. + * Copyright (C) 2002, 2003 Cluster File Systems, Inc. * * This file is part of Lustre, http://www.lustre.org. * @@ -21,99 +21,38 @@ */ #define DEBUG_SUBSYSTEM S_CLASS -#include +#include #include -int rd_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - int len = 0; - struct obd_device* dev = (struct obd_device*)data; - len += snprintf(page, count, "%s\n", dev->obd_uuid); - return len; - -} -int rd_blksize(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} -int rd_kbytestotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_kbytesfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_filestotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_filesfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -int rd_filegroups(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} -int rd_server_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - - struct obd_device* temp = (struct obd_device*)data; - struct client_obd* cli = &temp->u.cli; - int len = 0; - len += snprintf(page, count, "%s\n",cli->cl_target_uuid); - return len; - - -} -int rd_conn_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp=(struct obd_device*)data; - struct client_obd* cli=&temp->u.cli; - struct obd_import* imp=&cli->cl_import; - int len = 0; - len += snprintf(page, count, "%s\n", - imp->imp_connection->c_remote_uuid); - return len; - -} - -struct lprocfs_vars status_var_nm_1[] = { - {"status/uuid", rd_uuid, 0, 0}, - {"status/blocksize",rd_blksize, 0, 0}, - {"status/kbytestotal", rd_kbytestotal, 0, 0}, - {"status/kbytesfree", rd_kbytesfree, 0, 0}, - {"status/filestotal", rd_filestotal, 0, 0}, - {"status/filesfree", rd_filesfree, 0, 0}, - {"status/filegroups", rd_filegroups, 0, 0}, - {"status/ost_server_uuid", rd_server_uuid, 0, 0}, - {"status/ost_conn_uuid", rd_conn_uuid, 0, 0}, - {0} +#ifndef LPROCFS +struct lprocfs_vars lprocfs_obd_vars[] = { {0} }; +struct lprocfs_vars lprocfs_module_vars[] = { {0} }; +#else + +DEFINE_LPROCFS_STATFS_FCT(rd_blksize, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytestotal, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_kbytesfree, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filestotal, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filesfree, obd_self_statfs); +DEFINE_LPROCFS_STATFS_FCT(rd_filegroups, obd_self_statfs); + +struct lprocfs_vars lprocfs_obd_vars[] = { + { "uuid", lprocfs_rd_uuid, 0, 0 }, + { "blocksize", rd_blksize, 0, 0 }, + { "kbytestotal", rd_kbytestotal, 0, 0 }, + { "kbytesfree", rd_kbytesfree, 0, 0 }, + { "filestotal", rd_filestotal, 0, 0 }, + { "filesfree", rd_filesfree, 0, 0 }, + { "filegroups", rd_filegroups, 0, 0 }, + { "ost_server_uuid", lprocfs_rd_server_uuid, 0, 0 }, + { "ost_conn_uuid", lprocfs_rd_conn_uuid, 0, 0 }, + { 0 } }; -int rd_numrefs(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_type* class = (struct obd_type*)data; - int len = 0; - len += snprintf(page, count, "%d\n", class->typ_refcnt); - return len; -} -struct lprocfs_vars status_class_var[] = { - {"status/num_refs", rd_numrefs, 0, 0}, - {0} +struct lprocfs_vars lprocfs_module_vars[] = { + { "num_refs", lprocfs_rd_numrefs, 0, 0 }, + { 0 } }; + +#endif /* LPROCFS */ +LPROCFS_INIT_VARS(lprocfs_module_vars, lprocfs_obd_vars) diff --git a/lustre/ost/lproc_ost.c b/lustre/ost/lproc_ost.c index 1fa1c59..c44093c 100644 --- a/lustre/ost/lproc_ost.c +++ b/lustre/ost/lproc_ost.c @@ -1,7 +1,7 @@ /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: * - * Copyright (C) 2002 Cluster File Systems, Inc. + * Copyright (C) 2002, 2003 Cluster File Systems, Inc. * * This file is part of Lustre, http://www.lustre.org. * @@ -21,142 +21,22 @@ */ #define DEBUG_SUBSYSTEM S_OST -#include +#include #include - -int rd_uuid(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - - struct obd_device* temp = (struct obd_device*)data; - int len = 0; - len += snprintf(page, count, "%s\n", temp->obd_uuid); - return len; - - -} -int rd_blksize(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - - struct obd_device* temp = (struct obd_device*)data; - struct ost_obd *ost = &temp->u.ost; - struct lustre_handle *conn = &ost->ost_conn; - struct obd_statfs mystats; - int len = 0; - - obd_statfs(conn, &mystats); - len += snprintf(page, count, "%d\n", mystats.os_bsize); - return len; - -} -int rd_kbtotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct ost_obd *ost = &temp->u.ost; - struct lustre_handle *conn = &ost->ost_conn; - struct obd_statfs mystats; - int len = 0; - __u32 blk_size; - __u64 result; - - obd_statfs(conn, &mystats); - blk_size = mystats.os_bsize; - blk_size >>= 10; - result = mystats.os_blocks; - while(blk_size >>= 1){ - result <<= 1; - } - len += snprintf(page, count, LPU64"\n", result); - return len; - -} - - -int rd_kbfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - - struct obd_device* temp = (struct obd_device*)data; - struct ost_obd *ost = &temp->u.ost; - struct lustre_handle *conn = &ost->ost_conn; - struct obd_statfs mystats; - int len = 0; - __u32 blk_size; - __u64 result; - - obd_statfs(conn, &mystats); - blk_size = mystats.os_bsize; - blk_size >>= 10; - result = mystats.os_bfree; - while(blk_size >>= 1){ - result <<= 1; - } - len += snprintf(page, count, LPU64"\n", result); - return len; -} - -int rd_filestotal(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_device* temp = (struct obd_device*)data; - struct ost_obd *ost = &temp->u.ost; - struct lustre_handle *conn = &ost->ost_conn; - struct obd_statfs mystats; - int len = 0; - - obd_statfs(conn, &mystats); - len += snprintf(page, count, LPU64"\n",mystats.os_files); - return len; - -} - -int rd_filesfree(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - - struct obd_device* temp = (struct obd_device*)data; - struct ost_obd *ost = &temp->u.ost; - struct lustre_handle *conn = &ost->ost_conn; - struct obd_statfs mystats; - int len = 0; - - obd_statfs(conn, &mystats); - len += snprintf(page, count, LPU64"\n", mystats.os_ffree); - return len; - -} - -int rd_filegroups(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - return 0; -} - -struct lprocfs_vars status_var_nm_1[] = { - {"status/uuid", rd_uuid, 0, 0}, - {"status/blocksize",rd_blksize, 0, 0}, - {"status/kbytesfree", rd_kbfree, 0, 0}, - {"status/kbytestotal", rd_kbtotal, 0, 0}, - {"status/filestotal", rd_filestotal, 0, 0}, - {"status/filesfree", rd_filesfree, 0, 0}, - {"status/filegroups", rd_filegroups, 0, 0}, - {0} +#ifndef LPROCFS +struct lprocfs_vars lprocfs_obd_vars[] = { {0} }; +struct lprocfs_vars lprocfs_module_vars[] = { {0} }; +#else +struct lprocfs_vars lprocfs_obd_vars[] = { + { "uuid", lprocfs_rd_uuid, 0, 0 }, + { 0 } }; -int rd_numrefs(char* page, char **start, off_t off, int count, int *eof, - void *data) -{ - struct obd_type* class = (struct obd_type*)data; - int len = 0; - len += snprintf(page, count, "%d\n", class->typ_refcnt); - return len; -} - -struct lprocfs_vars status_class_var[] = { - {"status/num_refs", rd_numrefs, 0, 0}, - {0} +struct lprocfs_vars lprocfs_module_vars[] = { + { "num_refs", lprocfs_rd_numrefs, 0, 0 }, + { 0 } }; - + +#endif /* LPROCFS */ +LPROCFS_INIT_VARS(lprocfs_module_vars, lprocfs_obd_vars)