Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 18764
b: refs/heads/master
c: caa06b6
h: refs/heads/master
v: v3
  • Loading branch information
Graham Gower authored and John W. Linville committed Jan 16, 2006
1 parent 51b0a19 commit e3fe052
Show file tree
Hide file tree
Showing 297 changed files with 12,834 additions and 10,226 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 15578eeb6cd4b74492f26e60624aa1a9a52ddd7b
refs/heads/master: caa06b619f20f21c741e0d7457a0ef633d50ba70
271 changes: 0 additions & 271 deletions trunk/Documentation/block/barrier.txt

This file was deleted.

63 changes: 0 additions & 63 deletions trunk/Documentation/filesystems/fuse.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,62 +86,6 @@ Mount options
The default is infinite. Note that the size of read requests is
limited anyway to 32 pages (which is 128kbyte on i386).

Sysfs
~~~~~

FUSE sets up the following hierarchy in sysfs:

/sys/fs/fuse/connections/N/

where N is an increasing number allocated to each new connection.

For each connection the following attributes are defined:

'waiting'

The number of requests which are waiting to be transfered to
userspace or being processed by the filesystem daemon. If there is
no filesystem activity and 'waiting' is non-zero, then the
filesystem is hung or deadlocked.

'abort'

Writing anything into this file will abort the filesystem
connection. This means that all waiting requests will be aborted an
error returned for all aborted and new requests.

Only a privileged user may read or write these attributes.

Aborting a filesystem connection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It is possible to get into certain situations where the filesystem is
not responding. Reasons for this may be:

a) Broken userspace filesystem implementation

b) Network connection down

c) Accidental deadlock

d) Malicious deadlock

(For more on c) and d) see later sections)

In either of these cases it may be useful to abort the connection to
the filesystem. There are several ways to do this:

- Kill the filesystem daemon. Works in case of a) and b)

- Kill the filesystem daemon and all users of the filesystem. Works
in all cases except some malicious deadlocks

- Use forced umount (umount -f). Works in all cases but only if
filesystem is still attached (it hasn't been lazy unmounted)

- Abort filesystem through the sysfs interface. Most powerful
method, always works.

How do non-privileged mounts work?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -369,10 +313,3 @@ faulted with get_user_pages(). The 'req->locked' flag indicates
when the copy is taking place, and interruption is delayed until
this flag is unset.

Scenario 3 - Tricky deadlock with asynchronous read
---------------------------------------------------

The same situation as above, except thread-1 will wait on page lock
and hence it will be uninterruptible as well. The solution is to
abort the connection with forced umount (if mount is attached) or
through the abort attribute in sysfs.
1 change: 0 additions & 1 deletion trunk/Documentation/video4linux/CARDLIST.tuner
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,3 @@ tuner=66 - LG NTSC (TALN mini series)
tuner=67 - Philips TD1316 Hybrid Tuner
tuner=68 - Philips TUV1236D ATSC/NTSC dual in
tuner=69 - Tena TNF 5335 MF
tuner=70 - Samsung TCPN 2121P30A
Loading

0 comments on commit e3fe052

Please sign in to comment.