X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=libcfs%2Finclude%2Flibcfs%2Flibcfs.h;h=4a96608cfa7a9e0bff606e281ebdacf90510da51;hb=fa507031d245b08c7f24efed32819daf2aa42ab3;hp=745f3a03d83e9b425dc179325dbe7b687c5547d9;hpb=cb252567bcb2acfb1624f40499bf7d97c1c04695;p=fs%2Flustre-release.git diff --git a/libcfs/include/libcfs/libcfs.h b/libcfs/include/libcfs/libcfs.h index 745f3a0..4a96608 100644 --- a/libcfs/include/libcfs/libcfs.h +++ b/libcfs/include/libcfs/libcfs.h @@ -26,7 +26,7 @@ * 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. */ /* @@ -103,14 +103,8 @@ static inline int __is_po2(unsigned long long val) #include -/* for_each_possible_cpu is defined newly, the former is - * for_each_cpu(eg. sles9 and sles10) b=15878 */ -#ifndef for_each_possible_cpu -# ifdef for_each_cpu -# define for_each_possible_cpu(cpu) for_each_cpu(cpu) -# else -# error for_each_possible_cpu is not supported by kernel! -# endif +#ifndef cfs_for_each_possible_cpu +# error cfs_for_each_possible_cpu is not supported by kernel! #endif /* libcfs tcpip */ @@ -140,8 +134,10 @@ struct lc_watchdog *lc_watchdog_add(int time, void *data); /* Enables a watchdog and resets its timer. */ -void lc_watchdog_touch_ms(struct lc_watchdog *lcw, int timeout_ms); -void lc_watchdog_touch(struct lc_watchdog *lcw); +void lc_watchdog_touch(struct lc_watchdog *lcw, int timeout); +#define CFS_GET_TIMEOUT(svc) (max_t(int, obd_timeout, \ + AT_OFF ? 0 : at_get(&svc->srv_at_estimate)) * \ + svc->srv_watchdog_factor) /* Disable a watchdog; touch it to restart it. */ void lc_watchdog_disable(struct lc_watchdog *lcw); @@ -264,10 +260,15 @@ void cfs_stack_trace_fill(struct cfs_stack_trace *trace); */ void *cfs_stack_trace_frame(struct cfs_stack_trace *trace, int frame_no); +#ifndef O_NOACCESS +#define O_NOACCESS O_NONBLOCK +#endif + /* * Universal open flags. */ -#define CFS_O_ACCMODE 0003 +#define CFS_O_NOACCESS 0003 +#define CFS_O_ACCMODE CFS_O_NOACCESS #define CFS_O_CREAT 0100 #define CFS_O_EXCL 0200 #define CFS_O_NOCTTY 0400 @@ -288,12 +289,26 @@ int cfs_oflags2univ(int flags); /* convert universal open flags to local open flags */ int cfs_univ2oflags(int flags); +/* + * Random number handling + */ + +/* returns a random 32-bit integer */ +unsigned int cfs_rand(void); +/* seed the generator */ +void cfs_srand(unsigned int, unsigned int); +void cfs_get_random_bytes(void *buf, int size); + #include #include #include #include #include #include +#include +#include +#include +#include /* container_of depends on "likely" which is defined in libcfs_private.h */ static inline void *__container_of(void *ptr, unsigned long shift)