fuse_param.h revision 241519
1/*
2 * Copyright (c) 2007-2009 Google Inc. and Amit Singh
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 *   notice, this list of conditions and the following disclaimer.
11 * * Redistributions in binary form must reproduce the above
12 *   copyright notice, this list of conditions and the following disclaimer
13 *   in the documentation and/or other materials provided with the
14 *   distribution.
15 * * Neither the name of Google Inc. nor the names of its
16 *   contributors may be used to endorse or promote products derived from
17 *   this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * $FreeBSD: head/sys/fs/fuse/fuse_param.h 241519 2012-10-13 23:54:26Z attilio $
32 */
33
34#ifndef _FUSE_PARAM_H_
35#define _FUSE_PARAM_H_
36
37/*
38 * This is the prefix ("fuse" by default) of the name of a FUSE device node
39 * in devfs. The suffix is the device number. "/dev/fuse0" is the first FUSE
40 * device by default. If you change the prefix from the default to something
41 * else, the user-space FUSE library will need to know about it too.
42 */
43#define FUSE_DEVICE_BASENAME               "fuse"
44
45/*
46 * This is the number of /dev/fuse<n> nodes we will create. <n> goes from
47 * 0 to (FUSE_NDEVICES - 1).
48 */
49#define FUSE_NDEVICES                      16
50
51/*
52 * This is the default block size of the virtual storage devices that are
53 * implicitly implemented by the FUSE kernel extension. This can be changed
54 * on a per-mount basis (there's one such virtual device for each mount).
55 */
56#define FUSE_DEFAULT_BLOCKSIZE             4096
57
58/*
59 * This is default I/O size used while accessing the virtual storage devices.
60 * This can be changed on a per-mount basis.
61 */
62#define FUSE_DEFAULT_IOSIZE                4096
63
64#ifdef KERNEL
65
66/*
67 * This is the soft upper limit on the number of "request tickets" FUSE's
68 * user-kernel IPC layer can have for a given mount. This can be modified
69 * through the fuse.* sysctl interface.
70 */
71#define FUSE_DEFAULT_MAX_FREE_TICKETS      1024
72
73#define FUSE_DEFAULT_IOV_PERMANENT_BUFSIZE (1L << 19)
74#define FUSE_DEFAULT_IOV_CREDIT            16
75
76#endif
77
78#define FUSE_LINK_MAX                      LINK_MAX
79
80#endif /* _FUSE_PARAM_H_ */
81