linux/drivers/staging/lustre/lustre/obdclass/statfs_pack.c
<<
>>
Prefs
   1/*
   2 * GPL HEADER START
   3 *
   4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 only,
   8 * as published by the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope that it will be useful, but
  11 * WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13 * General Public License version 2 for more details (a copy is included
  14 * in the LICENSE file that accompanied this code).
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * version 2 along with this program; If not, see
  18 * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
  19 *
  20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  21 * CA 95054 USA or visit www.sun.com if you need additional information or
  22 * have any questions.
  23 *
  24 * GPL HEADER END
  25 */
  26/*
  27 * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  28 * Use is subject to license terms.
  29 */
  30/*
  31 * This file is part of Lustre, http://www.lustre.org/
  32 * Lustre is a trademark of Sun Microsystems, Inc.
  33 *
  34 * lustre/obdclass/statfs_pack.c
  35 *
  36 * (Un)packing of OST/MDS requests
  37 *
  38 * Author: Andreas Dilger <adilger@clusterfs.com>
  39 */
  40
  41#define DEBUG_SUBSYSTEM S_CLASS
  42
  43#include <linux/statfs.h>
  44#include "../include/lustre_export.h"
  45#include "../include/lustre_net.h"
  46#include "../include/obd_support.h"
  47#include "../include/obd_class.h"
  48
  49void statfs_pack(struct obd_statfs *osfs, struct kstatfs *sfs)
  50{
  51        memset(osfs, 0, sizeof(*osfs));
  52        osfs->os_type = sfs->f_type;
  53        osfs->os_blocks = sfs->f_blocks;
  54        osfs->os_bfree = sfs->f_bfree;
  55        osfs->os_bavail = sfs->f_bavail;
  56        osfs->os_files = sfs->f_files;
  57        osfs->os_ffree = sfs->f_ffree;
  58        osfs->os_bsize = sfs->f_bsize;
  59        osfs->os_namelen = sfs->f_namelen;
  60}
  61EXPORT_SYMBOL(statfs_pack);
  62
  63void statfs_unpack(struct kstatfs *sfs, struct obd_statfs *osfs)
  64{
  65        memset(sfs, 0, sizeof(*sfs));
  66        sfs->f_type = osfs->os_type;
  67        sfs->f_blocks = osfs->os_blocks;
  68        sfs->f_bfree = osfs->os_bfree;
  69        sfs->f_bavail = osfs->os_bavail;
  70        sfs->f_files = osfs->os_files;
  71        sfs->f_ffree = osfs->os_ffree;
  72        sfs->f_bsize = osfs->os_bsize;
  73        sfs->f_namelen = osfs->os_namelen;
  74}
  75EXPORT_SYMBOL(statfs_unpack);
  76