linux/fs/qnx6/inode.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * QNX6 file system, Linux implementation.
 *
 * Version : 1.0.0
 *
 * History :
 *
 * 01-02-2012 by Kai Bankett ([email protected]) : first release.
 * 16-02-2012 pagemap extension by Al Viro
 *
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/highuid.h>
#include <linux/pagemap.h>
#include <linux/buffer_head.h>
#include <linux/writeback.h>
#include <linux/statfs.h>
#include <linux/seq_file.h>
#include <linux/crc32.h>
#include <linux/mpage.h>
#include <linux/fs_parser.h>
#include <linux/fs_context.h>
#include "qnx6.h"

static const struct super_operations qnx6_sops;

static void qnx6_put_super(struct super_block *sb);
static struct inode *qnx6_alloc_inode(struct super_block *sb);
static void qnx6_free_inode(struct inode *inode);
static int qnx6_reconfigure(struct fs_context *fc);
static int qnx6_statfs(struct dentry *dentry, struct kstatfs *buf);
static int qnx6_show_options(struct seq_file *seq, struct dentry *root);

static const struct super_operations qnx6_sops =;

static int qnx6_show_options(struct seq_file *seq, struct dentry *root)
{}

static int qnx6_reconfigure(struct fs_context *fc)
{}

static unsigned qnx6_get_devblock(struct super_block *sb, __fs32 block)
{}

static unsigned qnx6_block_map(struct inode *inode, unsigned iblock);

static int qnx6_get_block(struct inode *inode, sector_t iblock,
			struct buffer_head *bh, int create)
{}

static int qnx6_check_blockptr(__fs32 ptr)
{}

static int qnx6_read_folio(struct file *file, struct folio *folio)
{}

static void qnx6_readahead(struct readahead_control *rac)
{}

/*
 * returns the block number for the no-th element in the tree
 * inodebits requred as there are multiple inodes in one inode block
 */
static unsigned qnx6_block_map(struct inode *inode, unsigned no)
{}

static int qnx6_statfs(struct dentry *dentry, struct kstatfs *buf)
{}

/*
 * Check the root directory of the filesystem to make sure
 * it really _is_ a qnx6 filesystem, and to check the size
 * of the directory entry.
 */
static const char *qnx6_checkroot(struct super_block *s)
{}

#ifdef CONFIG_QNX6FS_DEBUG
void qnx6_superblock_debug(struct qnx6_super_block *sb, struct super_block *s)
{}
#endif

enum {};

struct qnx6_context {};

static const struct fs_parameter_spec qnx6_param_spec[] =;

static int qnx6_parse_param(struct fs_context *fc, struct fs_parameter *param)
{}

static struct buffer_head *qnx6_check_first_superblock(struct super_block *s,
				int offset, int silent)
{}

static struct inode *qnx6_private_inode(struct super_block *s,
					struct qnx6_root_node *p);

static int qnx6_fill_super(struct super_block *s, struct fs_context *fc)
{}

static void qnx6_put_super(struct super_block *sb)
{}

static sector_t qnx6_bmap(struct address_space *mapping, sector_t block)
{}
static const struct address_space_operations qnx6_aops =;

static struct inode *qnx6_private_inode(struct super_block *s,
					struct qnx6_root_node *p)
{}

struct inode *qnx6_iget(struct super_block *sb, unsigned ino)
{}

static struct kmem_cache *qnx6_inode_cachep;

static struct inode *qnx6_alloc_inode(struct super_block *sb)
{}

static void qnx6_free_inode(struct inode *inode)
{}

static void init_once(void *foo)
{}

static int init_inodecache(void)
{}

static void destroy_inodecache(void)
{}

static int qnx6_get_tree(struct fs_context *fc)
{}

static void qnx6_free_fc(struct fs_context *fc)
{}

static const struct fs_context_operations qnx6_context_ops =;

static int qnx6_init_fs_context(struct fs_context *fc)
{}

static struct file_system_type qnx6_fs_type =;
MODULE_ALIAS_FS();

static int __init init_qnx6_fs(void)
{}

static void __exit exit_qnx6_fs(void)
{}

module_init()
module_exit()
MODULE_DESCRIPTION();
MODULE_LICENSE();