#include <linux/fs.h>
#include <linux/ctype.h>
#include <linux/buffer_head.h>
#include "omfs.h"
static int omfs_hash(const char *name, int namelen, int mod)
{ … }
static struct buffer_head *omfs_get_bucket(struct inode *dir,
const char *name, int namelen, int *ofs)
{ … }
static struct buffer_head *omfs_scan_list(struct inode *dir, u64 block,
const char *name, int namelen,
u64 *prev_block)
{ … }
static struct buffer_head *omfs_find_entry(struct inode *dir,
const char *name, int namelen)
{ … }
int omfs_make_empty(struct inode *inode, struct super_block *sb)
{ … }
static int omfs_add_link(struct dentry *dentry, struct inode *inode)
{ … }
static int omfs_delete_entry(struct dentry *dentry)
{ … }
static int omfs_dir_is_empty(struct inode *inode)
{ … }
static int omfs_remove(struct inode *dir, struct dentry *dentry)
{ … }
static int omfs_add_node(struct inode *dir, struct dentry *dentry, umode_t mode)
{ … }
static int omfs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *dentry, umode_t mode)
{ … }
static int omfs_create(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *dentry, umode_t mode, bool excl)
{ … }
static struct dentry *omfs_lookup(struct inode *dir, struct dentry *dentry,
unsigned int flags)
{ … }
int omfs_is_bad(struct omfs_sb_info *sbi, struct omfs_header *header,
u64 fsblock)
{ … }
static bool omfs_fill_chain(struct inode *dir, struct dir_context *ctx,
u64 fsblock, int hindex)
{ … }
static int omfs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
struct dentry *old_dentry, struct inode *new_dir,
struct dentry *new_dentry, unsigned int flags)
{ … }
static int omfs_readdir(struct file *file, struct dir_context *ctx)
{ … }
const struct inode_operations omfs_dir_inops = …;
const struct file_operations omfs_dir_operations = …;