• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

compat/H13-Feb-2013-1,090756

src/H03-May-2022-3,0422,539

AUTHORSH A D13-Jan-2013192 65

COPYINGH A D10-Jan-201317.6 KiB341281

COPYING.LIBH A D10-Jan-201324.7 KiB

ChangeLogH A D11-Jan-20130

INSTALLH A D13-Feb-201315.4 KiB371289

Makefile.amH A D10-Jan-201372 64

Makefile.inH A D13-Feb-201322.3 KiB724631

NEWSH A D13-Feb-2013973 3530

READMEH A D13-Feb-20134.5 KiB11382

aclocal.m4H A D13-Feb-201342.8 KiB1,2021,095

config.h.inH A D13-Feb-2013929 3825

configureH A D13-Feb-2013152.5 KiB5,2754,378

configure.acH A D13-Feb-20131.1 KiB4230

depcompH A D13-Feb-201322.9 KiB791501

install-shH A D13-Feb-201313.7 KiB528351

missingH A D13-Feb-20136.7 KiB216143

README

1afuse 0.4.1
2https://github.com/pcarrier/afuse/
3Downloads: https://code.google.com/p/afuse/downloads/
4
5
60. Contents
7-----------
81. Abstract
92. Basic Usage
103. Pre-populating afuse Root
114. Misc Other Features
125. Important Notes on afuse's Operation
13
14
151. Abstract
16-----------
17afuse is an automounting file system implemented in user-space using FUSE.
18afuse currently implements the most basic functionality that can be expected by
19an automounter; that is it manages a directory of virtual directories. If one
20of these virtual directories is accessed and is not already automounted, afuse
21will attempt to mount a filesystem onto that directory. If the mount succeeds
22the requested access proceeds as normal, otherwise it will fail with an error.
23See the example below for a specific usage scenario.
24
25The advantage of using afuse over traditional automounters is afuse runs
26entirely in user-space by individual users. Thus it can take advantage of the
27invoking users environment, for example allowing access to an ssh-agent for
28password-less sshfs mounts, or allowing access to a graphical environment to
29get user input to complete a mount such as asking for a password.
30
31afuse is distributed under the GPLv2 license, details of which can be found in
32the COPYING file. Particularly, please note that while afuse is intended to be
33useful it is provided with ABSOLUTELY NO WARRANTY.
34
35If you are interested in contributing to afuse, please read the HACKING file.
36
37
382. Basic Usage
39--------------
40Example invocation using sshfs:
41
42	afuse -o mount_template="sshfs %r:/ %m" \
43	      -o unmount_template="fusermount -u -z %m" \
44	         mountpoint/
45
46Now try 'ls mountpoint/user@host/'.
47
48To unmount use:
49
50	fusermount -u -z mountpoint/
51
52All sub mounts should be automatically unmounted.
53
54For this example to work, the sshfs invocation must not require user
55interactivity (i.e.  asking for a password). So you probably want to be
56using something like ssh-agent.
57
58Alternatively, if want interactivity, add -f to the afuse invocation.
59
60
613. Pre-populating afuse Root
62----------------------------
63By default the afuse root directory is empty until a specific access is made to
64a directory leading to successful mount. In some cases it may be useful to
65pre-populate the afuse root with valid directory names.
66
67To enable root directory pre-population, use the -o populate_root_command
68option to specify a command which will provide a list of directory names to
69populate the root with.  This program will be run for every directory list
70request on the afuse root directory, and should output one dir entry per-line
71to stdout. As this program is called repeatedly and for every directory
72listing it should not block/pause for an unreasonable amount of time.
73
74Note that when using this mode no actual mounting occurs until a directory
75access is made to one of the potential mount-points.
76
77An example of this usage is provided in the afuse-avahissh shell script
78(typically installed alongside afuse). This can be started as follows:
79
80	afuse-avahissh mountpoint/
81
82This script will use avahi to automatically populate the root directory with
83hosts advertising their sftp service via Avahi. To work correctly both sshfs
84and avahi-browse must be installed and available to the script.
85
86
874. Misc Other Features
88----------------------
89* By default afuse does not attempt to mount a directory on a getattr
90  operation. This can be disabled using the -o exact_getattr option. This
91  allows getattr to return accurate information but may cause spurious mounts
92  when programs are just checking for the existence of files.
93
94* The -o flushwrites option causes write operation on file-systems mounted by
95  afuse to operate synchronously.
96
97
985. Important Notes on afuse's Operation
99---------------------------------------
100One of the most important things to note about afuse's operation is that
101automounted filesystems accessed through afuse are actually accessed by proxy.
102Actual mounts are created in an instance specific  directory in /tmp. _ALL_
103accesses to automounted filesystems apparently managed by afuse go through
104afuse and are proxied onto the real filesystem mounts as appropriate.
105
106While this shouldn't cause any operational problems, it does mean that
107operations on afuse automounted filesystems have considerable overhead.  It can
108also mean that if afuse is not shutdown cleanly (via an unmount of the afuse
109filesystem) a stale directory can be left in /tmp of the form afuse-XXXXXX
110(where the X's are random characters).
111
112Hopefully these limitations will be removed in later revisions of afuse.
113