]> git.hungrycats.org Git - linux/commitdiff
Add "nonseekable_open()" helper functions for nonseekable
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 7 Aug 2004 11:54:18 +0000 (04:54 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 7 Aug 2004 11:54:18 +0000 (04:54 -0700)
file descriptors.

fs/open.c
include/linux/fs.h

index 22d42e94fc18286833777176cb83c2e703b73c9d..8e539937cecabeaaf584b1335eb23f8690c08977 100644 (file)
--- a/fs/open.c
+++ b/fs/open.c
@@ -1070,3 +1070,15 @@ int generic_file_open(struct inode * inode, struct file * filp)
 }
 
 EXPORT_SYMBOL(generic_file_open);
+
+/*
+ * This is used by subsystems that don't want seekable
+ * file descriptors
+ */
+int nonseekable_open(struct inode *inode, struct file *filp)
+{
+       filp->f_mode &= ~(FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE);
+       return 0;
+}
+
+EXPORT_SYMBOL(nonseekable_open);
index d352f86782589826d2fd4cabc7320efcb421a938..e6f97b00fe34d5fa0b49831aee76d41e574d64bf 100644 (file)
@@ -1435,6 +1435,7 @@ extern loff_t no_llseek(struct file *file, loff_t offset, int origin);
 extern loff_t generic_file_llseek(struct file *file, loff_t offset, int origin);
 extern loff_t remote_llseek(struct file *file, loff_t offset, int origin);
 extern int generic_file_open(struct inode * inode, struct file * filp);
+extern int nonseekable_open(struct inode * inode, struct file * filp);
 
 static inline void do_generic_file_read(struct file * filp, loff_t *ppos,
                                        read_descriptor_t * desc,