diff options
author | attilio <attilio@FreeBSD.org> | 2012-10-13 23:54:26 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2012-10-13 23:54:26 +0000 |
commit | af2d834e29a460249f721eae2a5cae2e111f2c74 (patch) | |
tree | 6143d77c432c2cec9495468fa9cd122b02b13fb7 /sys/fs/fuse/fuse_param.h | |
parent | 1df941a7f390f4de081ce3749d4a55c796f7b3fc (diff) | |
download | FreeBSD-src-af2d834e29a460249f721eae2a5cae2e111f2c74.zip FreeBSD-src-af2d834e29a460249f721eae2a5cae2e111f2c74.tar.gz |
Import a FreeBSD port of the FUSE Linux module.
This has been developed during 2 summer of code mandates and being revived
by gnn recently.
The functionality in this commit mirrors entirely content of fusefs-kmod
port, which doesn't need to be installed anymore for -CURRENT setups.
In order to get some sparse technical notes, please refer to:
http://lists.freebsd.org/pipermail/freebsd-fs/2012-March/013876.html
or to the project branch:
svn://svn.freebsd.org/base/projects/fuse/
which also contains granular history of changes happened during port
refinements. This commit does not came from the branch reintegration
itself because it seems svn is not behaving properly for this functionaly
at the moment.
Partly Sponsored by: Google, Summer of Code program 2005, 2011
Originally submitted by: ilya, Csaba Henk <csaba-ml AT creo DOT hu >
In collabouration with: pho
Tested by: flo, gnn, Gustau Perez,
Kevin Oberman <rkoberman AT gmail DOT com>
MFC after: 2 months
Diffstat (limited to 'sys/fs/fuse/fuse_param.h')
-rw-r--r-- | sys/fs/fuse/fuse_param.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/sys/fs/fuse/fuse_param.h b/sys/fs/fuse/fuse_param.h new file mode 100644 index 0000000..493c385 --- /dev/null +++ b/sys/fs/fuse/fuse_param.h @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2007-2009 Google Inc. and Amit Singh + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _FUSE_PARAM_H_ +#define _FUSE_PARAM_H_ + +/* + * This is the prefix ("fuse" by default) of the name of a FUSE device node + * in devfs. The suffix is the device number. "/dev/fuse0" is the first FUSE + * device by default. If you change the prefix from the default to something + * else, the user-space FUSE library will need to know about it too. + */ +#define FUSE_DEVICE_BASENAME "fuse" + +/* + * This is the number of /dev/fuse<n> nodes we will create. <n> goes from + * 0 to (FUSE_NDEVICES - 1). + */ +#define FUSE_NDEVICES 16 + +/* + * This is the default block size of the virtual storage devices that are + * implicitly implemented by the FUSE kernel extension. This can be changed + * on a per-mount basis (there's one such virtual device for each mount). + */ +#define FUSE_DEFAULT_BLOCKSIZE 4096 + +/* + * This is default I/O size used while accessing the virtual storage devices. + * This can be changed on a per-mount basis. + */ +#define FUSE_DEFAULT_IOSIZE 4096 + +#ifdef KERNEL + +/* + * This is the soft upper limit on the number of "request tickets" FUSE's + * user-kernel IPC layer can have for a given mount. This can be modified + * through the fuse.* sysctl interface. + */ +#define FUSE_DEFAULT_MAX_FREE_TICKETS 1024 + +#define FUSE_DEFAULT_IOV_PERMANENT_BUFSIZE (1L << 19) +#define FUSE_DEFAULT_IOV_CREDIT 16 + +#endif + +#define FUSE_LINK_MAX LINK_MAX + +#endif /* _FUSE_PARAM_H_ */ |