#include <linux/pagemap.h>
#include "nilfs.h"
#include "page.h"
static inline unsigned int nilfs_rec_len_from_disk(__le16 dlen)
{ … }
static inline __le16 nilfs_rec_len_to_disk(unsigned int len)
{ … }
static inline unsigned int nilfs_chunk_size(struct inode *inode)
{ … }
static unsigned int nilfs_last_byte(struct inode *inode, unsigned long page_nr)
{ … }
static int nilfs_prepare_chunk(struct folio *folio, unsigned int from,
unsigned int to)
{ … }
static void nilfs_commit_chunk(struct folio *folio,
struct address_space *mapping, size_t from, size_t to)
{ … }
static bool nilfs_check_folio(struct folio *folio, char *kaddr)
{ … }
static void *nilfs_get_folio(struct inode *dir, unsigned long n,
struct folio **foliop)
{ … }
static int
nilfs_match(int len, const unsigned char *name, struct nilfs_dir_entry *de)
{ … }
static struct nilfs_dir_entry *nilfs_next_entry(struct nilfs_dir_entry *p)
{ … }
static unsigned char
nilfs_filetype_table[NILFS_FT_MAX] = …;
#define S_SHIFT …
static unsigned char
nilfs_type_by_mode[(S_IFMT >> S_SHIFT) + 1] = …;
static void nilfs_set_de_type(struct nilfs_dir_entry *de, struct inode *inode)
{ … }
static int nilfs_readdir(struct file *file, struct dir_context *ctx)
{ … }
struct nilfs_dir_entry *nilfs_find_entry(struct inode *dir,
const struct qstr *qstr, struct folio **foliop)
{ … }
struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct folio **foliop)
{ … }
ino_t nilfs_inode_by_name(struct inode *dir, const struct qstr *qstr)
{ … }
void nilfs_set_link(struct inode *dir, struct nilfs_dir_entry *de,
struct folio *folio, struct inode *inode)
{ … }
int nilfs_add_link(struct dentry *dentry, struct inode *inode)
{ … }
int nilfs_delete_entry(struct nilfs_dir_entry *dir, struct folio *folio)
{ … }
int nilfs_make_empty(struct inode *inode, struct inode *parent)
{ … }
int nilfs_empty_dir(struct inode *inode)
{ … }
const struct file_operations nilfs_dir_operations = …;