-static void yaffs_put_super(struct super_block *sb);
-
-static ssize_t yaffs_file_write(struct file *f, const char *buf, size_t n,
- loff_t * pos);
-static ssize_t yaffs_hold_space(struct file *f);
-static void yaffs_release_space(struct file *f);
-
-static int yaffs_file_flush(struct file *file, fl_owner_t id);
-
-static int yaffs_sync_object(struct file *file, int datasync);
-
-static int yaffs_readdir(struct file *f, void *dirent, filldir_t filldir);
-
-static int yaffs_create(struct inode *dir, struct dentry *dentry, int mode,
- struct nameidata *n);
-static struct dentry *yaffs_lookup(struct inode *dir, struct dentry *dentry,
- struct nameidata *n);
-static int yaffs_link(struct dentry *old_dentry, struct inode *dir,
- struct dentry *dentry);
-static int yaffs_unlink(struct inode *dir, struct dentry *dentry);
-static int yaffs_symlink(struct inode *dir, struct dentry *dentry,
- const char *symname);
-static int yaffs_mkdir(struct inode *dir, struct dentry *dentry, int mode);
-
-static int yaffs_mknod(struct inode *dir, struct dentry *dentry, int mode,
- dev_t dev);
-static int yaffs_rename(struct inode *old_dir, struct dentry *old_dentry,
- struct inode *new_dir, struct dentry *new_dentry);
-static int yaffs_setattr(struct dentry *dentry, struct iattr *attr);
-
-static int yaffs_sync_fs(struct super_block *sb, int wait);
-static void yaffs_write_super(struct super_block *sb);
-
-static int yaffs_statfs(struct dentry *dentry, struct kstatfs *buf);
-
-#ifdef YAFFS_HAS_PUT_INODE
-static void yaffs_put_inode(struct inode *inode);
-#endif
-
-static void yaffs_evict_inode(struct inode *);
-
-static int yaffs_readpage(struct file *file, struct page *page);
-static int yaffs_writepage(struct page *page, struct writeback_control *wbc);
-
-#ifdef CONFIG_YAFFS_XATTR
-static int yaffs_setxattr(struct dentry *dentry, const char *name,
- const void *value, size_t size, int flags);
-static ssize_t yaffs_getxattr(struct dentry *dentry, const char *name, void *buff,
- size_t size);
-static int yaffs_removexattr(struct dentry *dentry, const char *name);
-static ssize_t yaffs_listxattr(struct dentry *dentry, char *buff, size_t size);
-#endif
-
-static int yaffs_write_begin(struct file *filp, struct address_space *mapping,
- loff_t pos, unsigned len, unsigned flags,
- struct page **pagep, void **fsdata);
-static int yaffs_write_end(struct file *filp, struct address_space *mapping,
- loff_t pos, unsigned len, unsigned copied,
- struct page *pg, void *fsdadata);
-
-static int yaffs_readlink(struct dentry *dentry, char __user * buffer,
- int buflen);
-void yaffs_put_link(struct dentry *dentry, struct nameidata *nd, void *alias);
-static void *yaffs_follow_link(struct dentry *dentry, struct nameidata *nd);
-
-static void yaffs_touch_super(struct yaffs_dev *dev);
-
-static int yaffs_vfs_setattr(struct inode *, struct iattr *);
-
-static struct address_space_operations yaffs_file_address_operations = {
- .readpage = yaffs_readpage,
- .writepage = yaffs_writepage,
- .write_begin = yaffs_write_begin,
- .write_end = yaffs_write_end,
-};
-
-static const struct file_operations yaffs_file_operations = {
- .read = do_sync_read,
- .write = do_sync_write,
- .aio_read = generic_file_aio_read,
- .aio_write = generic_file_aio_write,
- .mmap = generic_file_mmap,
- .flush = yaffs_file_flush,
- .fsync = yaffs_sync_object,
- .splice_read = generic_file_splice_read,
- .splice_write = generic_file_splice_write,
- .llseek = generic_file_llseek,
-};
-
-static const struct inode_operations yaffs_file_inode_operations = {
- .setattr = yaffs_setattr,
-#ifdef CONFIG_YAFFS_XATTR
- .setxattr = yaffs_setxattr,
- .getxattr = yaffs_getxattr,
- .listxattr = yaffs_listxattr,
- .removexattr = yaffs_removexattr,
-#endif
-};
-
-static const struct inode_operations yaffs_symlink_inode_operations = {
- .readlink = yaffs_readlink,
- .follow_link = yaffs_follow_link,
- .put_link = yaffs_put_link,
- .setattr = yaffs_setattr,
-#ifdef CONFIG_YAFFS_XATTR
- .setxattr = yaffs_setxattr,
- .getxattr = yaffs_getxattr,
- .listxattr = yaffs_listxattr,
- .removexattr = yaffs_removexattr,
-#endif
-};
-
-static const struct inode_operations yaffs_dir_inode_operations = {
- .create = yaffs_create,
- .lookup = yaffs_lookup,
- .link = yaffs_link,
- .unlink = yaffs_unlink,
- .symlink = yaffs_symlink,
- .mkdir = yaffs_mkdir,
- .rmdir = yaffs_unlink,
- .mknod = yaffs_mknod,
- .rename = yaffs_rename,
- .setattr = yaffs_setattr,
-#ifdef CONFIG_YAFFS_XATTR
- .setxattr = yaffs_setxattr,
- .getxattr = yaffs_getxattr,
- .listxattr = yaffs_listxattr,
- .removexattr = yaffs_removexattr,
-#endif
-};
-
-static const struct file_operations yaffs_dir_operations = {
- .read = generic_read_dir,
- .readdir = yaffs_readdir,
- .fsync = yaffs_sync_object,
- .llseek = generic_file_llseek,
-};
-
-static const struct super_operations yaffs_super_ops = {
- .statfs = yaffs_statfs,
-#ifdef YAFFS_HAS_PUT_INODE
- .put_inode = yaffs_put_inode,
-#endif
- .put_super = yaffs_put_super,
- .evict_inode = yaffs_evict_inode,
- .sync_fs = yaffs_sync_fs,
- .write_super = yaffs_write_super,
-};
-
-static int yaffs_vfs_setattr(struct inode *inode, struct iattr *attr)
-{
- setattr_copy(inode, attr);
- return 0;
-}
-
-static int yaffs_vfs_setsize(struct inode *inode, loff_t newsize)
-{
- truncate_setsize(inode, newsize);
- return 0;
-}