1. 26 11月, 2008 8 次提交
    • T
      fuse: add fuse_ prefix to several functions · b93f858a
      Tejun Heo 提交于
      Add fuse_ prefix to request_send*() and get_root_inode() as some of
      those functions will be exported for CUSE.  With or without CUSE
      export, having the function names scoped is a good idea for
      debuggability.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      b93f858a
    • T
      fuse: implement poll support · 95668a69
      Tejun Heo 提交于
      Implement poll support.  Polled files are indexed using kh in a RB
      tree rooted at fuse_conn->polled_files.
      
      Client should send FUSE_NOTIFY_POLL notification once after processing
      FUSE_POLL which has FUSE_POLL_SCHEDULE_NOTIFY set.  Sending
      notification unconditionally after the latest poll or everytime file
      content might have changed is inefficient but won't cause malfunction.
      
      fuse_file_poll() can sleep and requires patches from the following
      thread which allows f_op->poll() to sleep.
      
        http://thread.gmane.org/gmane.linux.kernel/726176Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      95668a69
    • T
      fuse: implement unsolicited notification · 8599396b
      Tejun Heo 提交于
      Clients always used to write only in response to read requests.  To
      implement poll efficiently, clients should be able to issue
      unsolicited notifications.  This patch implements basic notification
      support.
      
      Zero fuse_out_header.unique is now accepted and considered unsolicited
      notification and the error field contains notification code.  This
      patch doesn't implement any actual notification.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      8599396b
    • T
      fuse: add file kernel handle · acf99433
      Tejun Heo 提交于
      The file handle, fuse_file->fh, is opaque value supplied by userland
      FUSE server and uniqueness is not guaranteed.  Add file kernel handle,
      fuse_file->kh, which is allocated by the kernel on file allocation and
      guaranteed to be unique.
      
      This will be used by poll to match notification to the respective file
      but can be used for other purposes where unique file handle is
      necessary.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      acf99433
    • T
      fuse: implement ioctl support · 59efec7b
      Tejun Heo 提交于
      Generic ioctl support is tricky to implement because only the ioctl
      implementation itself knows which memory regions need to be read
      and/or written.  To support this, fuse client can request retry of
      ioctl specifying memory regions to read and write.  Deep copying
      (nested pointers) can be implemented by retrying multiple times
      resolving one depth of dereference at a time.
      
      For security and cleanliness considerations, ioctl implementation has
      restricted mode where the kernel determines data transfer directions
      and sizes using the _IOC_*() macros on the ioctl command.  In this
      mode, retry is not allowed.
      
      For all FUSE servers, restricted mode is enforced.  Unrestricted ioctl
      will be used by CUSE.
      
      Plese read the comment on top of fs/fuse/file.c::fuse_file_do_ioctl()
      for more information.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      59efec7b
    • T
      fuse: don't let fuse_req->end() put the base reference · e9bb09dd
      Tejun Heo 提交于
      fuse_req->end() was supposed to be put the base reference but there's
      no reason why it should.  It only makes things more complex.  Move it
      out of ->end() and make it the responsibility of request_end().
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      e9bb09dd
    • T
      fuse: move FUSE_MINOR to miscdevice.h · 193da609
      Tejun Heo 提交于
      Move FUSE_MINOR to miscdevice.h.  While at it, de-uglify the file.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      193da609
    • M
      fuse: style fixes · 1729a16c
      Miklos Szeredi 提交于
      Fix coding style errors reported by checkpatch and others.  Uptdate
      copyright date to 2008.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      1729a16c
  2. 21 11月, 2008 25 次提交
  3. 20 11月, 2008 7 次提交