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