1. 25 Jun, 2006 3 commits
    • Miklos Szeredi's avatar
      [PATCH] fuse: ensure FLUSH reaches userspace · 33649c91
      Miklos Szeredi authored
      
      
      All POSIX locks owned by the current task are removed on close().  If the
      FLUSH request resulting initiated by close() fails to reach userspace, there
      might be locks remaining, which cannot be removed.
      
      The only reason it could fail, is if allocating the request fails.  In this
      case use the request reserved for RELEASE, or if that is currently used by
      another FLUSH, wait for it to become available.
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      33649c91
    • Miklos Szeredi's avatar
      [PATCH] fuse: add control filesystem · bafa9654
      Miklos Szeredi authored
      
      
      Add a control filesystem to fuse, replacing the attributes currently exported
      through sysfs.  An empty directory '/sys/fs/fuse/connections' is still created
      in sysfs, and mounting the control filesystem here provides backward
      compatibility.
      
      Advantages of the control filesystem over the previous solution:
      
        - allows the object directory and the attributes to be owned by the
          filesystem owner, hence letting unpriviled users abort the
          filesystem connection
      
        - does not suffer from module unload race
      
      [akpm@osdl.org: fix this fs for recent dhowells depredations]
      [akpm@osdl.org: fix 64-bit printk warnings]
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bafa9654
    • Miklos Szeredi's avatar
      [PATCH] fuse: no backgrounding on interrupt · 51eb01e7
      Miklos Szeredi authored
      
      
      Don't put requests into the background when a fatal interrupt occurs while the
      request is in userspace.  This removes a major wart from the implementation.
      
      Backgrounding of requests was introduced to allow breaking of deadlocks.
      However now the same can be achieved by aborting the filesystem through the
      'abort' sysfs attribute.
      
      This is a change in the interface, but should not cause problems, since these
      kinds of deadlocks never happen during normal operation.
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      51eb01e7
  2. 26 Apr, 2006 2 commits
  3. 11 Apr, 2006 11 commits
  4. 28 Mar, 2006 1 commit
  5. 17 Feb, 2006 1 commit
  6. 05 Feb, 2006 1 commit
  7. 17 Jan, 2006 13 commits
  8. 06 Jan, 2006 3 commits
  9. 07 Nov, 2005 1 commit
  10. 31 Oct, 2005 1 commit
  11. 09 Sep, 2005 3 commits
    • Miklos Szeredi's avatar
      [PATCH] FUSE: don't allow restarting of system calls · 7c352bdf
      Miklos Szeredi authored
      
      
      This patch removes ability to interrupt and restart operations while there
      hasn't been any side-effect.
      
      The reason: applications.  There are some apps it seems that generate
      signals at a fast rate.  This means, that if the operation cannot make
      enough progress between two signals, it will be restarted for ever.  This
      bug actually manifested itself with 'krusader' trying to open a file for
      writing under sshfs.  Thanks to Eduard Czimbalmos for the report.
      
      The problem can be solved just by making open() uninterruptible, because in
      this case it was the truncate operation that slowed down the progress.  But
      it's better to solve this by simply not allowing interrupts at all (except
      SIGKILL), because applications don't expect file operations to be
      interruptible anyway.  As an added bonus the code is simplified somewhat.
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7c352bdf
    • Miklos Szeredi's avatar
      [PATCH] fuse: transfer readdir data through device · 04730fef
      Miklos Szeredi authored
      
      
      This patch removes a long lasting "hack" in FUSE, which used a separate
      channel (a file descriptor refering to a disk-file) to transfer directory
      contents from userspace to the kernel.
      
      The patch adds three new operations (OPENDIR, READDIR, RELEASEDIR), which
      have semantics and implementation exactly maching the respective file
      operations (OPEN, READ, RELEASE).
      
      This simplifies the directory reading code.  Also disk space is not
      necessary, which can be important in embedded systems.
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      04730fef
    • Miklos Szeredi's avatar
      [PATCH] FUSE - mount options · 1e9a4ed9
      Miklos Szeredi authored
      
      
      This patch adds miscellaneous mount options to the FUSE filesystem.
      
      The following mount options are added:
      
       o default_permissions:  check permissions with generic_permission()
       o allow_other:          allow other users to access files
       o allow_root:           allow root to access files
       o kernel_cache:         don't invalidate page cache on open
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1e9a4ed9