1. 13 12月, 2011 4 次提交
    • M
      fuse: llseek optimize SEEK_CUR and SEEK_SET · c07c3d19
      Miklos Szeredi 提交于
      Use generic_file_llseek() instead of open coding the seek function.
      
      i_mutex protection is only necessary for SEEK_END (and SEEK_HOLE, SEEK_DATA), so
      move SEEK_CUR and SEEK_SET out from under i_mutex.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      c07c3d19
    • M
      fuse: llseek fix race · 73104b6e
      Miklos Szeredi 提交于
      Fix race between lseek(fd, 0, SEEK_CUR) and read/write.  This was fixed in
      generic code by commit 5b6f1eb9 (vfs: lseek(fd, 0, SEEK_CUR) race condition).
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      73104b6e
    • R
      fuse: fix llseek bug · b48c6af2
      Roel Kluin 提交于
      The test in fuse_file_llseek() "not SEEK_CUR or not SEEK_SET" always evaluates
      to true.
      
      This was introduced in 3.1 by commit 06222e49 (fs: handle SEEK_HOLE/SEEK_DATA
      properly in all fs's that define their own llseek) and changed the behavior of
      SEEK_CUR and SEEK_SET to always retrieve the file attributes.  This is a
      performance regression.
      
      Fix the test so that it makes sense.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@vger.kernel.org
      CC: Josef Bacik <josef@redhat.com>
      CC: Al Viro <viro@zeniv.linux.org.uk>
      b48c6af2
    • M
      fuse: fix fuse_retrieve · 48706d0a
      Miklos Szeredi 提交于
      Fix two bugs in fuse_retrieve():
      
       - retrieving more than one page would yield repeated instances of the
         first page
      
       - if more than FUSE_MAX_PAGES_PER_REQ pages were requested than the
         request page array would overflow
      
      fuse_retrieve() was added in 2.6.36 and these bugs had been there since the
      beginning.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@vger.kernel.org
      48706d0a
  2. 10 12月, 2011 9 次提交
  3. 09 12月, 2011 27 次提交