All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: fuse-devel@lists.sourceforge.net, miklos@szeredi.hu,
	greg@kroah.com, linux-kernel@vger.kernel.org
Cc: Tejun Heo <tj@kernel.org>
Subject: [PATCH 3/7] FUSE: implement nonseekable open
Date: Fri, 29 Aug 2008 02:40:59 +0900	[thread overview]
Message-ID: <1219945263-21074-4-git-send-email-tj@kernel.org> (raw)
In-Reply-To: <1219945263-21074-1-git-send-email-tj@kernel.org>

Let the client request nonseekable open using FOPEN_NONSEEKABLE and
call nonseekable_open() on the file if requested.

Signed-off-by: Tejun Heo <tj@kernel.org>
---
 fs/fuse/file.c       |    2 ++
 include/linux/fuse.h |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index d405865..9c44f9c 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -101,6 +101,8 @@ void fuse_finish_open(struct inode *inode, struct file *file,
 		file->f_op = &fuse_direct_io_file_operations;
 	if (!(outarg->open_flags & FOPEN_KEEP_CACHE))
 		invalidate_inode_pages2(inode->i_mapping);
+	if (outarg->open_flags & FOPEN_NONSEEKABLE)
+		nonseekable_open(inode, file);
 	ff->fh = outarg->fh;
 	file->private_data = fuse_file_get(ff);
 }
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index 724ca19..431666e 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -101,9 +101,11 @@ struct fuse_file_lock {
  *
  * FOPEN_DIRECT_IO: bypass page cache for this open file
  * FOPEN_KEEP_CACHE: don't invalidate the data cache on open
+ * FOPEN_NONSEEKABLE: the file is not seekable
  */
 #define FOPEN_DIRECT_IO		(1 << 0)
 #define FOPEN_KEEP_CACHE	(1 << 1)
+#define FOPEN_NONSEEKABLE	(1 << 2)
 
 /**
  * INIT request/reply flags
-- 
1.5.4.5


  parent reply	other threads:[~2008-08-28 17:43 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-28 17:40 [PATCHSET] FUSE: extend FUSE to support more operations Tejun Heo
2008-08-28 17:40 ` [PATCH 1/7] FUSE: add include protectors Tejun Heo
2008-08-28 17:40 ` [PATCH 2/7] FUSE: pass nonblock flag to client Tejun Heo
2008-08-28 17:40 ` Tejun Heo [this message]
2008-08-28 17:41 ` [PATCH 4/7] FUSE: implement direct lseek support Tejun Heo
2008-08-28 17:41 ` [PATCH 5/7] FUSE: implement ioctl support Tejun Heo
2008-08-28 17:51   ` Greg KH
2008-08-28 17:59     ` Tejun Heo
2008-08-28 18:01       ` Tejun Heo
2008-08-28 18:13         ` Miklos Szeredi
2008-08-28 18:17           ` Tejun Heo
2008-08-28 18:23             ` Miklos Szeredi
2008-08-28 18:34               ` Tejun Heo
2008-08-28 19:25                 ` Miklos Szeredi
2008-08-28 19:42                   ` Tejun Heo
2008-08-28 20:02                     ` Miklos Szeredi
2008-08-29  2:19                       ` Tejun Heo
2008-08-29  7:59                         ` Miklos Szeredi
2008-08-29  8:12                           ` Tejun Heo
2008-08-29  8:29                             ` Miklos Szeredi
2008-08-29  9:03                               ` Tejun Heo
2008-08-29 19:17                                 ` Eric W. Biederman
2008-08-29 19:47                                   ` Arnd Bergmann
2008-08-30 11:40                                   ` Tejun Heo
2008-09-01 11:57                                   ` Miklos Szeredi
2008-09-01 12:03                                     ` Tejun Heo
2008-09-03 14:32                                       ` Eric W. Biederman
2008-09-03 14:40                                         ` Tejun Heo
2008-09-03 21:51                                           ` Eric W. Biederman
2008-09-04  0:09                                             ` Tejun Heo
2008-08-29 11:31                         ` [fuse-devel] " Roger Willcocks
2008-08-29 11:54                           ` Tejun Heo
2008-08-28 20:48                 ` Alan Cox
2008-08-28 18:02       ` Tejun Heo
2008-08-28 18:14         ` Greg KH
2008-08-28 18:25           ` Tejun Heo
2008-08-28 18:20   ` H. Peter Anvin
2008-08-28 18:28     ` Tejun Heo
2008-08-28 19:08       ` H. Peter Anvin
2008-08-28 19:18         ` Miklos Szeredi
2008-08-28 20:21           ` H. Peter Anvin
2008-08-28 20:55             ` Miklos Szeredi
2008-08-28 21:27               ` H. Peter Anvin
2008-08-29  7:32                 ` Miklos Szeredi
2008-08-28 17:41 ` [PATCH 6/7] FUSE: implement unsolicited notification Tejun Heo
2008-08-28 17:41 ` [PATCH 7/7] FUSE: implement poll support Tejun Heo
2008-08-28 18:20 ` [PATCHSET] FUSE: extend FUSE to support more operations Miklos Szeredi
2008-08-28 18:23   ` Tejun Heo
2008-10-14  8:21 ` Tejun Heo
2008-10-14  9:37   ` Miklos Szeredi
2008-10-14 12:16     ` [fuse-devel] " Szabolcs Szakacsits
2008-10-14 12:43       ` Miklos Szeredi
     [not found]     ` <2cff7cb50810141032m5793a405h7425dfa122fb67ba@mail.gmail.com>
2008-10-14 21:04       ` Miklos Szeredi
2008-11-12  8:41     ` Tejun Heo
2008-11-12  9:14       ` Christoph Hellwig
2008-11-12  9:30         ` Tejun Heo
2008-11-12  9:36           ` Miklos Szeredi
2008-11-12  9:43             ` [fuse-devel] " Mike Hommey
2008-11-12 10:00       ` Miklos Szeredi
2008-11-13  5:54         ` Tejun Heo
2008-11-13  6:06       ` Tejun Heo
2008-11-13 11:19         ` Miklos Szeredi
2008-11-13 11:29           ` Tejun Heo
2008-11-13 11:57             ` Miklos Szeredi
2008-11-13 12:14               ` Tejun Heo
2008-11-13  6:26     ` Tejun Heo
2008-11-13 11:47       ` Miklos Szeredi
2008-11-13 11:54         ` Tejun Heo
2008-11-13 11:58           ` Miklos Szeredi
2008-11-13 12:34             ` Miklos Szeredi
2008-11-13 13:23               ` Tejun Heo
2008-11-13 13:42                 ` Miklos Szeredi
2008-11-13 14:29                   ` Tejun Heo
2008-11-13 14:48                     ` Miklos Szeredi
2008-11-13 15:10                       ` Tejun Heo
2008-11-13 15:52                         ` Miklos Szeredi
2008-11-13 16:00                           ` Tejun Heo
2008-11-17  9:17                           ` Tejun Heo
2008-11-17 10:16                             ` [fuse-devel] " Miklos Szeredi
2008-11-18  3:32                               ` Tejun Heo
2008-11-18  9:33                                 ` Miklos Szeredi
2008-11-18 10:30                                   ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1219945263-21074-4-git-send-email-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=fuse-devel@lists.sourceforge.net \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.