#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/time.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/file.h>
#include <linux/stat.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/spinlock.h>
#include <linux/namei.h>
#include <linux/uaccess.h>
#include <linux/coda.h>
#include "coda_psdev.h"
#include "coda_linux.h"
#include "coda_cache.h"
#include "coda_int.h"
static int coda_return_EIO(void)
{ … }
#define CODA_EIO_ERROR …
static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, unsigned int flags)
{ … }
int coda_permission(struct mnt_idmap *idmap, struct inode *inode,
int mask)
{ … }
static inline void coda_dir_update_mtime(struct inode *dir)
{ … }
static inline void coda_dir_inc_nlink(struct inode *dir)
{ … }
static inline void coda_dir_drop_nlink(struct inode *dir)
{ … }
static int coda_create(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *de, umode_t mode, bool excl)
{ … }
static int coda_mkdir(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *de, umode_t mode)
{ … }
static int coda_link(struct dentry *source_de, struct inode *dir_inode,
struct dentry *de)
{ … }
static int coda_symlink(struct mnt_idmap *idmap,
struct inode *dir_inode, struct dentry *de,
const char *symname)
{ … }
static int coda_unlink(struct inode *dir, struct dentry *de)
{ … }
static int coda_rmdir(struct inode *dir, struct dentry *de)
{ … }
static int coda_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 inline unsigned int CDT2DT(unsigned char cdt)
{ … }
static int coda_venus_readdir(struct file *coda_file, struct dir_context *ctx)
{ … }
static int coda_readdir(struct file *coda_file, struct dir_context *ctx)
{ … }
static int coda_dentry_revalidate(struct dentry *de, unsigned int flags)
{ … }
static int coda_dentry_delete(const struct dentry * dentry)
{ … }
int coda_revalidate_inode(struct inode *inode)
{ … }
const struct dentry_operations coda_dentry_operations = …;
const struct inode_operations coda_dir_inode_operations = …;
WRAP_DIR_ITER(…)
const struct file_operations coda_dir_operations = …;