X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=libcfs%2Finclude%2Flibcfs%2Fuser-time.h;h=ae8f8ea4f4411381ea340e3b089e143449548de8;hb=4cfa87dad0a9c08bba2f86650fafab9ad21fc524;hp=874b7da4fa100f110fe15ef26a60484f56dcf7fb;hpb=e1b3d71a27c166bebd26ab33f7299c41bd75dab5;p=fs%2Flustre-release.git diff --git a/libcfs/include/libcfs/user-time.h b/libcfs/include/libcfs/user-time.h index 874b7da..ae8f8ea 100644 --- a/libcfs/include/libcfs/user-time.h +++ b/libcfs/include/libcfs/user-time.h @@ -1,26 +1,41 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: +/* + * GPL HEADER START * - * Copyright (C) 2004 Cluster File Systems, Inc. - * Author: Nikita Danilov + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 only, + * as published by the Free Software Foundation. * - * This file is part of Lustre, http://www.lustre.org. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License version 2 for more details (a copy is included + * in the LICENSE file that accompanied this code). * - * Lustre is free software; you can redistribute it and/or modify it under the - * terms of version 2 of the GNU General Public License as published by the - * Free Software Foundation. + * You should have received a copy of the GNU General Public License + * version 2 along with this program; If not, see + * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf * - * Lustre is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + * GPL HEADER END + */ +/* + * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + * Use is subject to license terms. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. * - * You should have received a copy of the GNU General Public License along - * with Lustre; if not, write to the Free Software Foundation, Inc., 675 Mass - * Ave, Cambridge, MA 02139, USA. + * libcfs/include/libcfs/user-time.h * * Implementation of portable time API for user-level. * + * Author: Nikita Danilov */ #ifndef __LIBCFS_USER_TIME_H__ @@ -78,20 +93,19 @@ * Liblustre. time(2) based implementation. */ -#include -#include -#include - typedef time_t cfs_fs_time_t; typedef time_t cfs_time_t; -typedef long cfs_duration_t; +typedef time_t cfs_duration_t; + +#define cfs_time_before(a, b) ((long)(a) - (long)(b) < 0) +#define cfs_time_beforeq(a, b) ((long)(b) - (long)(a) >= 0) static inline cfs_time_t cfs_time_current(void) { return time(NULL); } -static inline cfs_duration_t cfs_time_seconds(int seconds) +static inline cfs_duration_t cfs_time_seconds(cfs_time_t seconds) { return seconds; } @@ -101,16 +115,6 @@ static inline time_t cfs_time_current_sec(void) return cfs_time_seconds(cfs_time_current()); } -static inline int cfs_time_before(cfs_time_t t1, cfs_time_t t2) -{ - return t1 < t2; -} - -static inline int cfs_time_beforeq(cfs_time_t t1, cfs_time_t t2) -{ - return t1 <= t2; -} - static inline cfs_duration_t cfs_duration_build(int64_t nano) { return (cfs_duration_t) (nano / ONE_BILLION); @@ -167,24 +171,15 @@ static inline int cfs_fs_time_beforeq(cfs_fs_time_t *t1, cfs_fs_time_t *t2) #define CFS_TICK (1) -static inline cfs_time_t cfs_time_add(cfs_time_t t, cfs_duration_t d) -{ - return t + d; -} - -static inline cfs_duration_t cfs_time_sub(cfs_time_t t1, cfs_time_t t2) -{ - return t1 - t2; -} - #define cfs_time_current_64 cfs_time_current #define cfs_time_add_64 cfs_time_add #define cfs_time_shift_64 cfs_time_shift #define cfs_time_before_64 cfs_time_before #define cfs_time_beforeq_64 cfs_time_beforeq +/* XXX needs to move to arch specific header or configured */ #ifndef CFS_TIME_T -#define CFS_TIME_T "%u" +#define CFS_TIME_T "%lu" #endif #define CFS_DURATION_T "%ld"