| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
| |
Redundant copy when only op.read is available removed.
|
| |
|
|
|
|
|
|
|
| |
Apparently, NetBSD does not have /etc/mtab. Setting IGNORE_MTAB
in this case makes the code a little nicer.
See also https://github.com/libfuse/libfuse/pull/123
|
| |
|
| |
|
|
|
|
| |
documentation
|
| |
|
|
|
|
|
|
| |
-oallow_root is handled in userspace, and requires passing -oallow_other
to the kernel. This patch should make the code easier to understand and
avoid the confusion that gave rise to issue #86.
|
|
|
|
| |
Fixes #116.
|
|
|
|
| |
Fixes #117.
|
|
|
|
|
|
| |
Enabled by default since we haven't released libfuse 3.0 yet :-).
Fixes #112.
|
|
|
|
| |
Fixes #112.
|
|
|
|
| |
See also issue #114.
|
|
|
|
|
| |
Instead of abort()ing, close the session properly and return an
error code.
|
| |
|
|
|
|
| |
Fixes: #81.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Eventually, this setting should be negotiated in the filesystem's init()
handler (like e.g. max_write). However, this requires corresponding
changes in the FUSE kernel module. In preparation for this (and to allow
a transition period) we already allow (and require) filesystems to set
the value in the init() handler in addition to the mount option.
The end-goal is tracked in issue #91.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fuse_session pointer is sometimes called f and at other times
se. The former is an artifact from the time when there still was a
separate struct fuse_ll object.
For consistency and to easy maintenance, this patch changes the name of
the fuse_session pointer to "se" wherever possible.
This patch was generated by the following Coccinelle script:
@@
symbol f, se;
@@
struct fuse_session *
-f
+se
;
<...
-f
+se
...>
@@
expression expr;
@@
struct fuse_session *
-f
+se
= expr;
<...
-f
+se
...>
@@
identifier fn;
@@
fn(...,struct fuse_session *
-f
+se
,...) { <...
-f
+se
...> }
Due to its complexity, the do_init() function had to be commented out
and then patched manually.
|
| |
|
|
|
|
| |
fi may be NULL, so we need to protect against this.
|
|
|
|
|
|
|
| |
This should help avoid people to accidentally put options
into argv[0].
Fixes #100.
|
|
|
|
|
|
| |
Modifying struct fuse_config in the init() handler is the canonical way
to adjust file-system implementation specific settings. There is no need
to have flags in struct fuse_operations.
|
|
|
|
|
|
| |
Several options (use_ino, etc) depend on the file system
implementation. Allowing them to be set from the command line makes no
sense.
|
| |
|
|
|
|
| |
This may not make sense for all options, but it's good practice.
|
|
|
|
|
|
|
| |
If fuse_session_mount() fails (or was never called in the first place)
we end up with the default fd value which happens to be 0. It hurts
long-running processes, which lifetime extends beyond session's
lifetime.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
- Fixes commit d49f2e77b4.
- Fixes commit 199fc0f833.
- Thanks to Github user mtheall for the review!
|
| |
| |
| |
| |
| |
| | |
Fixes commit 3e022acf4076.
Thanks to Github user mtheall for the review!
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Both the BSD and Linux implementation actually accept mostly the same
FUSE-specific mount options. Up to now, the BSD help function appended
the output of ``mount_fusefs --help``, but looking at
http://www.unix.com/man-page/freebsd/8/mount_fusefs/ this is likely more
confusing than helpful (since the user is not actually invoking
mount_fusefs directly, most of the options don't make sense).
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We now only list options that are potentially useful for an
end-user (and unlikely to accidentally break a file system). The full
list of FUSE options has been moved to the documentation of the
fuse_new() and fuse_session_new() functions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We are overriding this setting with the flag in struct fuse_operations:
$ example/hello -f -d ~/tmp/mnt
FUSE library version: 3.0.0pre0
nopath: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.25
flags=0x0007fffb
max_readahead=0x00020000
INIT: 7.23
flags=0x00006031
max_readahead=0x00020000
max_write=0x00020000
max_background=0
congestion_threshold=0
time_gran=0
unique: 1, success, outsize: 80
$ example/hello -f -d ~/tmp/mnt -o nopath
FUSE library version: 3.0.0pre0
nopath: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.25
flags=0x0007fffb
max_readahead=0x00020000
INIT: 7.23
flags=0x00006031
max_readahead=0x00020000
max_write=0x00020000
max_background=0
congestion_threshold=0
time_gran=0
unique: 1, success, outsize: 80
|
| |
| |
| |
| |
| | |
This brings the default behavior in-line with that of the
regular `mount` command.
|
| |
| |
| |
| | |
This was only relevant for 2.4 kernels. Fixes #92.
|
| |
| |
| |
| |
| |
| | |
This obsoletes the ftruncate & fgetattr handlers.
Fixes #58.
|
| |
| |
| |
| |
| |
| | |
Instead of using command line options to modify struct fuse_conn_info
before and after calling the init() handler, we now give the file system
explicit control over this.
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This option really affects the behavior of the session loop, not the
low-level interface. Therefore, it does not belong in the fuse_session
object.
|
| |
| |
| |
| |
| |
| |
| | |
The session options are used only once to determine the proper
conn->want flags. It is nice to have them clearly separated from the
other struct fuse_session members that are used throughout the life of
the file system.
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
Previously, some command line options would change the FUSE defaults
but leave the final value to the file systems `init` handler while
others would override any changes made by `init`. Now, command line
options do both: they modify the default, *and* take precedence.
|
| |
|
|
|
|
| |
This is redundant with the capability flags in `wants` and `capable`.
|