#include <linux/time.h>
#include <linux/fs.h>
#include <linux/swap.h>
#include <linux/iversion.h>
#include "ufs_fs.h"
#include "ufs.h"
#include "swab.h"
#include "util.h"
static inline int ufs_match(struct super_block *sb, int len,
const unsigned char *name, struct ufs_dir_entry *de)
{ … }
static void ufs_commit_chunk(struct page *page, loff_t pos, unsigned len)
{ … }
static int ufs_handle_dirsync(struct inode *dir)
{ … }
static inline void ufs_put_page(struct page *page)
{ … }
ino_t ufs_inode_by_name(struct inode *dir, const struct qstr *qstr)
{ … }
void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
struct page *page, struct inode *inode,
bool update_times)
{ … }
static bool ufs_check_page(struct page *page)
{ … }
static struct page *ufs_get_page(struct inode *dir, unsigned long n)
{ … }
static unsigned
ufs_last_byte(struct inode *inode, unsigned long page_nr)
{ … }
static inline struct ufs_dir_entry *
ufs_next_entry(struct super_block *sb, struct ufs_dir_entry *p)
{ … }
struct ufs_dir_entry *ufs_dotdot(struct inode *dir, struct page **p)
{ … }
struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
struct page **res_page)
{ … }
int ufs_add_link(struct dentry *dentry, struct inode *inode)
{ … }
static inline unsigned
ufs_validate_entry(struct super_block *sb, char *base,
unsigned offset, unsigned mask)
{ … }
static int
ufs_readdir(struct file *file, struct dir_context *ctx)
{ … }
int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir,
struct page * page)
{ … }
int ufs_make_empty(struct inode * inode, struct inode *dir)
{ … }
int ufs_empty_dir(struct inode * inode)
{ … }
const struct file_operations ufs_dir_operations = …;