LINUX: Turn on AFS_NEW_BKG
[openafs.git] / src / config / param.linux26.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef AFS_PARAM_COMMON_H
11 #define AFS_PARAM_COMMON_H
12
13 #ifndef UKERNEL
14
15 /* This section for kernel libafs compiles only */
16 #include <linux/version.h>
17
18 #define AFS_LINUX20_ENV         1
19 #define AFS_LINUX22_ENV         1
20 #define AFS_LINUX24_ENV         1
21 #define AFS_LINUX26_ENV         1
22
23 #define AFS_MOUNT_AFS           "afs"   /* The name of the filesystem type */
24 #define AFS_64BIT_IOPS_ENV      1
25 #define AFS_NAMEI_ENV           1       /* User space interface to file system */
26 #define AFS_64BIT_CLIENT        1
27 #undef  AFS_NONFSTRANS
28 #define AFS_NONFSTRANS          1
29 #define AFS_USERSPACE_IP_ADDR   1
30 #define RXK_LISTENER_ENV        1
31 #define AFS_GCPAGS              1       /* Set to Userdisabled, allow sysctl to override */
32 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,4)
33 # define AFS_PAG_ONEGROUP_ENV   1
34 #endif
35 #define AFS_HAVE_FFS            1       /* Use system's ffs */
36 #define AFS_HAVE_STATVFS        0       /* System doesn't support statvfs */
37 #define AFS_VM_RDWR_ENV         1       /* read/write implemented via VM */
38 #define AFS_USE_GETTIMEOFDAY    1       /* use gettimeofday to implement rx clock */
39 #define AFS_MAXVCOUNT_ENV       1
40 #define AFS_NEW_BKG             1
41
42 #define AFS_PRIVATE_OSI_ALLOCSPACES     1
43
44 #if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
45 #define AFS_GLOBAL_SUNLOCK
46 #endif /* __KERNEL__    && !DUMP_KERNEL */
47
48 #ifdef KERNEL
49 #ifndef MIN
50 #define MIN(A,B) ((A) < (B) ? (A) : (B))
51 #endif
52 #ifndef MAX
53 #define MAX(A,B) ((A) > (B) ? (A) : (B))
54 #endif
55
56 #endif /* KERNEL */
57
58 #ifndef KERNEL
59 #define __USE_LARGEFILE64 1
60 #if !defined off64_t
61 #define off64_t __off64_t
62 #endif
63 #endif
64
65 #else /* !defined(UKERNEL) */
66
67 /* This section for user space compiles only */
68 #define AFS_USR_LINUX20_ENV     1
69 #define AFS_USR_LINUX22_ENV     1
70 #define AFS_USR_LINUX24_ENV     1
71 #define AFS_USR_LINUX26_ENV     1
72
73 #define AFS_ENV                 1
74 #define AFS_64BIT_CLIENT        1
75 #undef  AFS_NONFSTRANS
76 #define AFS_NONFSTRANS          1
77 #define AFS_MOUNT_AFS           "afs"   /* The name of the filesystem type. */
78 #define AFS_64BIT_IOPS_ENV      1
79 #define AFS_NAMEI_ENV           1       /* User space interface to file system */
80 #define AFS_USERSPACE_IP_ADDR   1
81 #define RXK_LISTENER_ENV        1
82 #define AFS_GCPAGS              0       /* if nonzero, garbage collect PAGs */
83 #define AFS_HAVE_FFS            1       /* Use system's ffs. */
84 #define AFS_HAVE_STATVFS        0       /* System doesn't support statvfs */
85
86 #define afsio_iov       uio_iov
87 #define afsio_iovcnt    uio_iovcnt
88 #define afsio_offset    uio_offset
89 #define afsio_seg       uio_segflg
90 #define afsio_fmode     uio_fmode
91 #define afsio_resid     uio_resid
92 #define AFS_UIOSYS      1
93 #define AFS_UIOUSER     UIO_USERSPACE
94 #define AFS_CLBYTES     MCLBYTES
95 #define AFS_MINCHANGE   2
96 #define VATTR_NULL      usr_vattr_null
97
98 #define AFS_DIRENT
99 #ifndef CMSERVERPREF
100 #define CMSERVERPREF
101 #endif
102
103 #endif /* !defined(UKERNEL) */
104
105 #if defined(UKERNEL) || !defined(KERNEL)
106 #include <features.h>
107 #endif
108
109 #if defined(HAVE_LINUX_ERRQUEUE_H) && defined(HAVE_SETSOCKOPT_IP_RECVERR)
110 # define AFS_RXERRQ_ENV
111 #endif
112 #ifdef AFS_RXERRQ_ENV
113 # define AFS_ADAPT_PMTU
114 #endif
115
116 #ifdef __GLIBC__
117 #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
118 #define USE_UCONTEXT
119 #endif
120 #endif
121
122 #include <afs/afs_sysnames.h>
123
124 #endif /* AFS_PARAM_COMMON_H */