Another try to explain:

mount.davfs and umount.davfs are designed to be mount and umount
helpers for the system's mount and umount program. The intention is to
make mounting a davfs2 file system behave as much as possible like any
other file systems. You usually mount with 'mount <mount point>' and
unmount with 'umount <mount point>.

It is the system's umount program that requires an entry with option
'user=<username>' in /etc/mtab. If it is missing umount will refuse
unmounting before umount.davfs is called.

The option 'user_id=' is not what umount(8) looks for. This is the
owner of the file system, what 'ls -ld' shows and what you can set with
mount option 'uid='. This is not necessarily the same as the mounting
user in option 'user='. So umount is right to ignore it. The fuse
kernel module does not allow to set the mount option 'user='. That's why
davfs2 does not set it and why usermounts usually require a
working /etc/mtab.

Using 'fusermount -u' will usually not work. It only works if you have
configured (userspace) fuse to allow usermounts for this user. But it is
strange to use it anyway, because davfs2 is not a fuse file system and
you cant mount it using fusermount.

Why does davfs2 not use libfuse:
- historically: davfs was originally designed to use its own kernel
  module. This was later changed to davfs2 using the coda kernel
  module. Only when fuse became part or the Linux kernel I added
  support for the fuse kernel module
- Using libfuse would not reduce the bug number but most probably
  increase it. libfuse supplies an intermediary layer between the
  kernel and the userspace file system. That's the part in davfs2 that
  is working quite well with rare bug reports. libfuse can't
  (naturally) help with the difficult part, that's caching and
  HTTP-requests. libfuse can also help little with the davfs2 specific
  options. Using libfuse would require to rewrite most of the start-up
  code and make it more difficult for me to understand than doing it on
  my own.

Cheers
Werner

P.S.:
Real fuse file systems (using libfuse) may - like davfs2 - be mounted
using /etc/fstab, mount and umount. Did you ever try to mount a fuse
file system this way by an unprivileged user (option 'user') and then
to uunmount it using umount when there is no working /etc/mtab? I
believe it will fail the same way and for the same reasons it fails with
davfs2.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to