diff options
Diffstat (limited to 'fs/fuse/file.c')
-rw-r--r-- | fs/fuse/file.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index c5de60e873cb..fce6ce694fde 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/slab.h> | 12 | #include <linux/slab.h> |
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/module.h> | ||
15 | 16 | ||
16 | static const struct file_operations fuse_direct_io_file_operations; | 17 | static const struct file_operations fuse_direct_io_file_operations; |
17 | 18 | ||
@@ -100,8 +101,8 @@ static void fuse_file_put(struct fuse_file *ff) | |||
100 | } | 101 | } |
101 | } | 102 | } |
102 | 103 | ||
103 | static int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file, | 104 | int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file, |
104 | bool isdir) | 105 | bool isdir) |
105 | { | 106 | { |
106 | struct fuse_open_out outarg; | 107 | struct fuse_open_out outarg; |
107 | struct fuse_file *ff; | 108 | struct fuse_file *ff; |
@@ -128,6 +129,7 @@ static int fuse_do_open(struct fuse_conn *fc, u64 nodeid, struct file *file, | |||
128 | 129 | ||
129 | return 0; | 130 | return 0; |
130 | } | 131 | } |
132 | EXPORT_SYMBOL_GPL(fuse_do_open); | ||
131 | 133 | ||
132 | void fuse_finish_open(struct inode *inode, struct file *file) | 134 | void fuse_finish_open(struct inode *inode, struct file *file) |
133 | { | 135 | { |
@@ -232,6 +234,7 @@ void fuse_sync_release(struct fuse_file *ff, int flags) | |||
232 | fuse_put_request(ff->fc, ff->reserved_req); | 234 | fuse_put_request(ff->fc, ff->reserved_req); |
233 | kfree(ff); | 235 | kfree(ff); |
234 | } | 236 | } |
237 | EXPORT_SYMBOL_GPL(fuse_sync_release); | ||
235 | 238 | ||
236 | /* | 239 | /* |
237 | * Scramble the ID space with XTEA, so that the value of the files_struct | 240 | * Scramble the ID space with XTEA, so that the value of the files_struct |
@@ -1009,8 +1012,8 @@ static int fuse_get_user_pages(struct fuse_req *req, const char __user *buf, | |||
1009 | return 0; | 1012 | return 0; |
1010 | } | 1013 | } |
1011 | 1014 | ||
1012 | static ssize_t fuse_direct_io(struct file *file, const char __user *buf, | 1015 | ssize_t fuse_direct_io(struct file *file, const char __user *buf, |
1013 | size_t count, loff_t *ppos, int write) | 1016 | size_t count, loff_t *ppos, int write) |
1014 | { | 1017 | { |
1015 | struct fuse_file *ff = file->private_data; | 1018 | struct fuse_file *ff = file->private_data; |
1016 | struct fuse_conn *fc = ff->fc; | 1019 | struct fuse_conn *fc = ff->fc; |
@@ -1066,6 +1069,7 @@ static ssize_t fuse_direct_io(struct file *file, const char __user *buf, | |||
1066 | 1069 | ||
1067 | return res; | 1070 | return res; |
1068 | } | 1071 | } |
1072 | EXPORT_SYMBOL_GPL(fuse_direct_io); | ||
1069 | 1073 | ||
1070 | static ssize_t fuse_direct_read(struct file *file, char __user *buf, | 1074 | static ssize_t fuse_direct_read(struct file *file, char __user *buf, |
1071 | size_t count, loff_t *ppos) | 1075 | size_t count, loff_t *ppos) |
@@ -1647,8 +1651,8 @@ static int fuse_ioctl_copy_user(struct page **pages, struct iovec *iov, | |||
1647 | * limits ioctl data transfers to well-formed ioctls and is the forced | 1651 | * limits ioctl data transfers to well-formed ioctls and is the forced |
1648 | * behavior for all FUSE servers. | 1652 | * behavior for all FUSE servers. |
1649 | */ | 1653 | */ |
1650 | static long fuse_do_ioctl(struct file *file, unsigned int cmd, | 1654 | long fuse_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg, |
1651 | unsigned long arg, unsigned int flags) | 1655 | unsigned int flags) |
1652 | { | 1656 | { |
1653 | struct fuse_file *ff = file->private_data; | 1657 | struct fuse_file *ff = file->private_data; |
1654 | struct fuse_conn *fc = ff->fc; | 1658 | struct fuse_conn *fc = ff->fc; |
@@ -1813,6 +1817,7 @@ static long fuse_do_ioctl(struct file *file, unsigned int cmd, | |||
1813 | 1817 | ||
1814 | return err ? err : outarg.result; | 1818 | return err ? err : outarg.result; |
1815 | } | 1819 | } |
1820 | EXPORT_SYMBOL_GPL(fuse_do_ioctl); | ||
1816 | 1821 | ||
1817 | static long fuse_file_ioctl_common(struct file *file, unsigned int cmd, | 1822 | static long fuse_file_ioctl_common(struct file *file, unsigned int cmd, |
1818 | unsigned long arg, unsigned int flags) | 1823 | unsigned long arg, unsigned int flags) |
@@ -1892,7 +1897,7 @@ static void fuse_register_polled_file(struct fuse_conn *fc, | |||
1892 | spin_unlock(&fc->lock); | 1897 | spin_unlock(&fc->lock); |
1893 | } | 1898 | } |
1894 | 1899 | ||
1895 | static unsigned fuse_file_poll(struct file *file, poll_table *wait) | 1900 | unsigned fuse_file_poll(struct file *file, poll_table *wait) |
1896 | { | 1901 | { |
1897 | struct fuse_file *ff = file->private_data; | 1902 | struct fuse_file *ff = file->private_data; |
1898 | struct fuse_conn *fc = ff->fc; | 1903 | struct fuse_conn *fc = ff->fc; |
@@ -1939,6 +1944,7 @@ static unsigned fuse_file_poll(struct file *file, poll_table *wait) | |||
1939 | } | 1944 | } |
1940 | return POLLERR; | 1945 | return POLLERR; |
1941 | } | 1946 | } |
1947 | EXPORT_SYMBOL_GPL(fuse_file_poll); | ||
1942 | 1948 | ||
1943 | /* | 1949 | /* |
1944 | * This is called from fuse_handle_notify() on FUSE_NOTIFY_POLL and | 1950 | * This is called from fuse_handle_notify() on FUSE_NOTIFY_POLL and |