Commit 12f38872 authored by Al Viro's avatar Al Viro

libfs: get exports to definitions of objects being exported...

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent cbe9c085
...@@ -31,6 +31,7 @@ int simple_getattr(struct vfsmount *mnt, struct dentry *dentry, ...@@ -31,6 +31,7 @@ int simple_getattr(struct vfsmount *mnt, struct dentry *dentry,
stat->blocks = inode->i_mapping->nrpages << (PAGE_CACHE_SHIFT - 9); stat->blocks = inode->i_mapping->nrpages << (PAGE_CACHE_SHIFT - 9);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_getattr);
int simple_statfs(struct dentry *dentry, struct kstatfs *buf) int simple_statfs(struct dentry *dentry, struct kstatfs *buf)
{ {
...@@ -39,6 +40,7 @@ int simple_statfs(struct dentry *dentry, struct kstatfs *buf) ...@@ -39,6 +40,7 @@ int simple_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_namelen = NAME_MAX; buf->f_namelen = NAME_MAX;
return 0; return 0;
} }
EXPORT_SYMBOL(simple_statfs);
/* /*
* Retaining negative dentries for an in-memory filesystem just wastes * Retaining negative dentries for an in-memory filesystem just wastes
...@@ -66,6 +68,7 @@ struct dentry *simple_lookup(struct inode *dir, struct dentry *dentry, unsigned ...@@ -66,6 +68,7 @@ struct dentry *simple_lookup(struct inode *dir, struct dentry *dentry, unsigned
d_add(dentry, NULL); d_add(dentry, NULL);
return NULL; return NULL;
} }
EXPORT_SYMBOL(simple_lookup);
int dcache_dir_open(struct inode *inode, struct file *file) int dcache_dir_open(struct inode *inode, struct file *file)
{ {
...@@ -75,12 +78,14 @@ int dcache_dir_open(struct inode *inode, struct file *file) ...@@ -75,12 +78,14 @@ int dcache_dir_open(struct inode *inode, struct file *file)
return file->private_data ? 0 : -ENOMEM; return file->private_data ? 0 : -ENOMEM;
} }
EXPORT_SYMBOL(dcache_dir_open);
int dcache_dir_close(struct inode *inode, struct file *file) int dcache_dir_close(struct inode *inode, struct file *file)
{ {
dput(file->private_data); dput(file->private_data);
return 0; return 0;
} }
EXPORT_SYMBOL(dcache_dir_close);
loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence) loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence)
{ {
...@@ -123,6 +128,7 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence) ...@@ -123,6 +128,7 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence)
mutex_unlock(&dentry->d_inode->i_mutex); mutex_unlock(&dentry->d_inode->i_mutex);
return offset; return offset;
} }
EXPORT_SYMBOL(dcache_dir_lseek);
/* Relationship between i_mode and the DT_xxx types */ /* Relationship between i_mode and the DT_xxx types */
static inline unsigned char dt_type(struct inode *inode) static inline unsigned char dt_type(struct inode *inode)
...@@ -172,11 +178,13 @@ int dcache_readdir(struct file *file, struct dir_context *ctx) ...@@ -172,11 +178,13 @@ int dcache_readdir(struct file *file, struct dir_context *ctx)
spin_unlock(&dentry->d_lock); spin_unlock(&dentry->d_lock);
return 0; return 0;
} }
EXPORT_SYMBOL(dcache_readdir);
ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos) ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos)
{ {
return -EISDIR; return -EISDIR;
} }
EXPORT_SYMBOL(generic_read_dir);
const struct file_operations simple_dir_operations = { const struct file_operations simple_dir_operations = {
.open = dcache_dir_open, .open = dcache_dir_open,
...@@ -186,10 +194,12 @@ const struct file_operations simple_dir_operations = { ...@@ -186,10 +194,12 @@ const struct file_operations simple_dir_operations = {
.iterate = dcache_readdir, .iterate = dcache_readdir,
.fsync = noop_fsync, .fsync = noop_fsync,
}; };
EXPORT_SYMBOL(simple_dir_operations);
const struct inode_operations simple_dir_inode_operations = { const struct inode_operations simple_dir_inode_operations = {
.lookup = simple_lookup, .lookup = simple_lookup,
}; };
EXPORT_SYMBOL(simple_dir_inode_operations);
static const struct super_operations simple_super_operations = { static const struct super_operations simple_super_operations = {
.statfs = simple_statfs, .statfs = simple_statfs,
...@@ -244,6 +254,7 @@ struct dentry *mount_pseudo(struct file_system_type *fs_type, char *name, ...@@ -244,6 +254,7 @@ struct dentry *mount_pseudo(struct file_system_type *fs_type, char *name,
deactivate_locked_super(s); deactivate_locked_super(s);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
} }
EXPORT_SYMBOL(mount_pseudo);
int simple_open(struct inode *inode, struct file *file) int simple_open(struct inode *inode, struct file *file)
{ {
...@@ -251,6 +262,7 @@ int simple_open(struct inode *inode, struct file *file) ...@@ -251,6 +262,7 @@ int simple_open(struct inode *inode, struct file *file)
file->private_data = inode->i_private; file->private_data = inode->i_private;
return 0; return 0;
} }
EXPORT_SYMBOL(simple_open);
int simple_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry) int simple_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
{ {
...@@ -263,6 +275,7 @@ int simple_link(struct dentry *old_dentry, struct inode *dir, struct dentry *den ...@@ -263,6 +275,7 @@ int simple_link(struct dentry *old_dentry, struct inode *dir, struct dentry *den
d_instantiate(dentry, inode); d_instantiate(dentry, inode);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_link);
int simple_empty(struct dentry *dentry) int simple_empty(struct dentry *dentry)
{ {
...@@ -283,6 +296,7 @@ int simple_empty(struct dentry *dentry) ...@@ -283,6 +296,7 @@ int simple_empty(struct dentry *dentry)
spin_unlock(&dentry->d_lock); spin_unlock(&dentry->d_lock);
return ret; return ret;
} }
EXPORT_SYMBOL(simple_empty);
int simple_unlink(struct inode *dir, struct dentry *dentry) int simple_unlink(struct inode *dir, struct dentry *dentry)
{ {
...@@ -293,6 +307,7 @@ int simple_unlink(struct inode *dir, struct dentry *dentry) ...@@ -293,6 +307,7 @@ int simple_unlink(struct inode *dir, struct dentry *dentry)
dput(dentry); dput(dentry);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_unlink);
int simple_rmdir(struct inode *dir, struct dentry *dentry) int simple_rmdir(struct inode *dir, struct dentry *dentry)
{ {
...@@ -304,6 +319,7 @@ int simple_rmdir(struct inode *dir, struct dentry *dentry) ...@@ -304,6 +319,7 @@ int simple_rmdir(struct inode *dir, struct dentry *dentry)
drop_nlink(dir); drop_nlink(dir);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_rmdir);
int simple_rename(struct inode *old_dir, struct dentry *old_dentry, int simple_rename(struct inode *old_dir, struct dentry *old_dentry,
struct inode *new_dir, struct dentry *new_dentry) struct inode *new_dir, struct dentry *new_dentry)
...@@ -330,6 +346,7 @@ int simple_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -330,6 +346,7 @@ int simple_rename(struct inode *old_dir, struct dentry *old_dentry,
return 0; return 0;
} }
EXPORT_SYMBOL(simple_rename);
/** /**
* simple_setattr - setattr for simple filesystem * simple_setattr - setattr for simple filesystem
...@@ -370,6 +387,7 @@ int simple_readpage(struct file *file, struct page *page) ...@@ -370,6 +387,7 @@ int simple_readpage(struct file *file, struct page *page)
unlock_page(page); unlock_page(page);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_readpage);
int simple_write_begin(struct file *file, struct address_space *mapping, int simple_write_begin(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len, unsigned flags, loff_t pos, unsigned len, unsigned flags,
...@@ -393,6 +411,7 @@ int simple_write_begin(struct file *file, struct address_space *mapping, ...@@ -393,6 +411,7 @@ int simple_write_begin(struct file *file, struct address_space *mapping,
} }
return 0; return 0;
} }
EXPORT_SYMBOL(simple_write_begin);
/** /**
* simple_write_end - .write_end helper for non-block-device FSes * simple_write_end - .write_end helper for non-block-device FSes
...@@ -444,6 +463,7 @@ int simple_write_end(struct file *file, struct address_space *mapping, ...@@ -444,6 +463,7 @@ int simple_write_end(struct file *file, struct address_space *mapping,
return copied; return copied;
} }
EXPORT_SYMBOL(simple_write_end);
/* /*
* the inodes created here are not hashed. If you use iunique to generate * the inodes created here are not hashed. If you use iunique to generate
...@@ -512,6 +532,7 @@ int simple_fill_super(struct super_block *s, unsigned long magic, ...@@ -512,6 +532,7 @@ int simple_fill_super(struct super_block *s, unsigned long magic,
dput(root); dput(root);
return -ENOMEM; return -ENOMEM;
} }
EXPORT_SYMBOL(simple_fill_super);
static DEFINE_SPINLOCK(pin_fs_lock); static DEFINE_SPINLOCK(pin_fs_lock);
...@@ -534,6 +555,7 @@ int simple_pin_fs(struct file_system_type *type, struct vfsmount **mount, int *c ...@@ -534,6 +555,7 @@ int simple_pin_fs(struct file_system_type *type, struct vfsmount **mount, int *c
mntput(mnt); mntput(mnt);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_pin_fs);
void simple_release_fs(struct vfsmount **mount, int *count) void simple_release_fs(struct vfsmount **mount, int *count)
{ {
...@@ -545,6 +567,7 @@ void simple_release_fs(struct vfsmount **mount, int *count) ...@@ -545,6 +567,7 @@ void simple_release_fs(struct vfsmount **mount, int *count)
spin_unlock(&pin_fs_lock); spin_unlock(&pin_fs_lock);
mntput(mnt); mntput(mnt);
} }
EXPORT_SYMBOL(simple_release_fs);
/** /**
* simple_read_from_buffer - copy data from the buffer to user space * simple_read_from_buffer - copy data from the buffer to user space
...@@ -579,6 +602,7 @@ ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos, ...@@ -579,6 +602,7 @@ ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos,
*ppos = pos + count; *ppos = pos + count;
return count; return count;
} }
EXPORT_SYMBOL(simple_read_from_buffer);
/** /**
* simple_write_to_buffer - copy data from user space to the buffer * simple_write_to_buffer - copy data from user space to the buffer
...@@ -613,6 +637,7 @@ ssize_t simple_write_to_buffer(void *to, size_t available, loff_t *ppos, ...@@ -613,6 +637,7 @@ ssize_t simple_write_to_buffer(void *to, size_t available, loff_t *ppos,
*ppos = pos + count; *ppos = pos + count;
return count; return count;
} }
EXPORT_SYMBOL(simple_write_to_buffer);
/** /**
* memory_read_from_buffer - copy data from the buffer * memory_read_from_buffer - copy data from the buffer
...@@ -644,6 +669,7 @@ ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos, ...@@ -644,6 +669,7 @@ ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
return count; return count;
} }
EXPORT_SYMBOL(memory_read_from_buffer);
/* /*
* Transaction based IO. * Transaction based IO.
...@@ -665,6 +691,7 @@ void simple_transaction_set(struct file *file, size_t n) ...@@ -665,6 +691,7 @@ void simple_transaction_set(struct file *file, size_t n)
smp_mb(); smp_mb();
ar->size = n; ar->size = n;
} }
EXPORT_SYMBOL(simple_transaction_set);
char *simple_transaction_get(struct file *file, const char __user *buf, size_t size) char *simple_transaction_get(struct file *file, const char __user *buf, size_t size)
{ {
...@@ -696,6 +723,7 @@ char *simple_transaction_get(struct file *file, const char __user *buf, size_t s ...@@ -696,6 +723,7 @@ char *simple_transaction_get(struct file *file, const char __user *buf, size_t s
return ar->data; return ar->data;
} }
EXPORT_SYMBOL(simple_transaction_get);
ssize_t simple_transaction_read(struct file *file, char __user *buf, size_t size, loff_t *pos) ssize_t simple_transaction_read(struct file *file, char __user *buf, size_t size, loff_t *pos)
{ {
...@@ -705,12 +733,14 @@ ssize_t simple_transaction_read(struct file *file, char __user *buf, size_t size ...@@ -705,12 +733,14 @@ ssize_t simple_transaction_read(struct file *file, char __user *buf, size_t size
return 0; return 0;
return simple_read_from_buffer(buf, size, pos, ar->data, ar->size); return simple_read_from_buffer(buf, size, pos, ar->data, ar->size);
} }
EXPORT_SYMBOL(simple_transaction_read);
int simple_transaction_release(struct inode *inode, struct file *file) int simple_transaction_release(struct inode *inode, struct file *file)
{ {
free_page((unsigned long)file->private_data); free_page((unsigned long)file->private_data);
return 0; return 0;
} }
EXPORT_SYMBOL(simple_transaction_release);
/* Simple attribute files */ /* Simple attribute files */
...@@ -746,12 +776,14 @@ int simple_attr_open(struct inode *inode, struct file *file, ...@@ -746,12 +776,14 @@ int simple_attr_open(struct inode *inode, struct file *file,
return nonseekable_open(inode, file); return nonseekable_open(inode, file);
} }
EXPORT_SYMBOL_GPL(simple_attr_open);
int simple_attr_release(struct inode *inode, struct file *file) int simple_attr_release(struct inode *inode, struct file *file)
{ {
kfree(file->private_data); kfree(file->private_data);
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(simple_attr_release); /* GPL-only? This? Really? */
/* read from the buffer that is filled with the get function */ /* read from the buffer that is filled with the get function */
ssize_t simple_attr_read(struct file *file, char __user *buf, ssize_t simple_attr_read(struct file *file, char __user *buf,
...@@ -787,6 +819,7 @@ ssize_t simple_attr_read(struct file *file, char __user *buf, ...@@ -787,6 +819,7 @@ ssize_t simple_attr_read(struct file *file, char __user *buf,
mutex_unlock(&attr->mutex); mutex_unlock(&attr->mutex);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(simple_attr_read);
/* interpret the buffer as a number to call the set function with */ /* interpret the buffer as a number to call the set function with */
ssize_t simple_attr_write(struct file *file, const char __user *buf, ssize_t simple_attr_write(struct file *file, const char __user *buf,
...@@ -819,6 +852,7 @@ ssize_t simple_attr_write(struct file *file, const char __user *buf, ...@@ -819,6 +852,7 @@ ssize_t simple_attr_write(struct file *file, const char __user *buf,
mutex_unlock(&attr->mutex); mutex_unlock(&attr->mutex);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(simple_attr_write);
/** /**
* generic_fh_to_dentry - generic helper for the fh_to_dentry export operation * generic_fh_to_dentry - generic helper for the fh_to_dentry export operation
...@@ -957,39 +991,4 @@ int noop_fsync(struct file *file, loff_t start, loff_t end, int datasync) ...@@ -957,39 +991,4 @@ int noop_fsync(struct file *file, loff_t start, loff_t end, int datasync)
{ {
return 0; return 0;
} }
EXPORT_SYMBOL(dcache_dir_close);
EXPORT_SYMBOL(dcache_dir_lseek);
EXPORT_SYMBOL(dcache_dir_open);
EXPORT_SYMBOL(dcache_readdir);
EXPORT_SYMBOL(generic_read_dir);
EXPORT_SYMBOL(mount_pseudo);
EXPORT_SYMBOL(simple_write_begin);
EXPORT_SYMBOL(simple_write_end);
EXPORT_SYMBOL(simple_dir_inode_operations);
EXPORT_SYMBOL(simple_dir_operations);
EXPORT_SYMBOL(simple_empty);
EXPORT_SYMBOL(simple_fill_super);
EXPORT_SYMBOL(simple_getattr);
EXPORT_SYMBOL(simple_open);
EXPORT_SYMBOL(simple_link);
EXPORT_SYMBOL(simple_lookup);
EXPORT_SYMBOL(simple_pin_fs);
EXPORT_SYMBOL(simple_readpage);
EXPORT_SYMBOL(simple_release_fs);
EXPORT_SYMBOL(simple_rename);
EXPORT_SYMBOL(simple_rmdir);
EXPORT_SYMBOL(simple_statfs);
EXPORT_SYMBOL(noop_fsync); EXPORT_SYMBOL(noop_fsync);
EXPORT_SYMBOL(simple_unlink);
EXPORT_SYMBOL(simple_read_from_buffer);
EXPORT_SYMBOL(simple_write_to_buffer);
EXPORT_SYMBOL(memory_read_from_buffer);
EXPORT_SYMBOL(simple_transaction_set);
EXPORT_SYMBOL(simple_transaction_get);
EXPORT_SYMBOL(simple_transaction_read);
EXPORT_SYMBOL(simple_transaction_release);
EXPORT_SYMBOL_GPL(simple_attr_open);
EXPORT_SYMBOL_GPL(simple_attr_release);
EXPORT_SYMBOL_GPL(simple_attr_read);
EXPORT_SYMBOL_GPL(simple_attr_write);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment