1. 03 Nov, 2006 1 commit
  2. 17 Oct, 2006 1 commit
    • Miklos Szeredi's avatar
      [PATCH] fuse: fix hang on SMP · 9ffbb916
      Miklos Szeredi authored
      
      
      Fuse didn't always call i_size_write() with i_mutex held which caused rare
      hangs on SMP/32bit.  This bug has been present since fuse-2.2, well before
      being merged into mainline.
      
      The simplest solution is to protect i_size_write() with the per-connection
      spinlock.  Using i_mutex for this purpose would require some restructuring of
      the code and I'm not even sure it's always safe to acquire i_mutex in all
      places i_size needs to be set.
      
      Since most of vmtruncate is already duplicated for other reasons, duplicate
      the remaining part as well, making all i_size_write() calls internal to fuse.
      
      Using i_size_write() was unnecessary in fuse_init_inode(), since this function
      is only called on a newly created locked inode.
      
      Reported by a few people over the years, but special thanks to Dana Henriksen
      who was persistent enough in helping me debug it.
      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>
      9ffbb916
  3. 01 Oct, 2006 1 commit
  4. 14 Aug, 2006 1 commit
  5. 28 Jun, 2006 1 commit
  6. 25 Jun, 2006 5 commits
  7. 23 Jun, 2006 1 commit
    • Miklos Szeredi's avatar
      [PATCH] vfs: add lock owner argument to flush operation · 75e1fcc0
      Miklos Szeredi authored
      
      
      Pass the POSIX lock owner ID to the flush operation.
      
      This is useful for filesystems which don't want to store any locking state
      in inode->i_flock but want to handle locking/unlocking POSIX locks
      internally.  FUSE is one such filesystem but I think it possible that some
      network filesystems would need this also.
      
      Also add a flag to indicate that a POSIX locking request was generated by
      close(), so filesystems using the above feature won't send an extra locking
      request in this case.
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      75e1fcc0
  8. 11 Apr, 2006 3 commits
  9. 28 Mar, 2006 1 commit
  10. 17 Feb, 2006 1 commit
  11. 01 Feb, 2006 1 commit
    • Miklos Szeredi's avatar
      [PATCH] fuse: fix async read for legacy filesystems · 9cd68455
      Miklos Szeredi authored
      
      
      While asynchronous reads mean a performance improvement in most cases, if
      the filesystem assumed that reads are synchronous, then async reads may
      degrade performance (filesystem may receive reads out of order, which can
      confuse it's own readahead logic).
      
      With sshfs a 1.5 to 4 times slowdown can be measured.
      
      There's also a need for userspace filesystems to know whether asynchronous
      reads are supported by the kernel or not.
      
      To achive these, negotiate in the INIT request whether async reads will be
      used and the maximum readahead value.  Update interface version to 7.6
      
      If userspace uses a version earlier than 7.6, then disable async reads, and
      set maximum readahead value to the maximum read size, as done in previous
      versions.
      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>
      9cd68455
  12. 17 Jan, 2006 4 commits
  13. 09 Jan, 2006 1 commit
  14. 06 Jan, 2006 3 commits
  15. 07 Nov, 2005 1 commit
  16. 30 Sep, 2005 1 commit
  17. 09 Sep, 2005 9 commits