linux/fs/fat/fatent.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2004, OGAWA Hirofumi
 */

#include <linux/blkdev.h>
#include <linux/sched/signal.h>
#include <linux/backing-dev-defs.h>
#include "fat.h"

struct fatent_operations {};

static DEFINE_SPINLOCK(fat12_entry_lock);

static void fat12_ent_blocknr(struct super_block *sb, int entry,
			      int *offset, sector_t *blocknr)
{}

static void fat_ent_blocknr(struct super_block *sb, int entry,
			    int *offset, sector_t *blocknr)
{}

static void fat12_ent_set_ptr(struct fat_entry *fatent, int offset)
{}

static void fat16_ent_set_ptr(struct fat_entry *fatent, int offset)
{}

static void fat32_ent_set_ptr(struct fat_entry *fatent, int offset)
{}

static int fat12_ent_bread(struct super_block *sb, struct fat_entry *fatent,
			   int offset, sector_t blocknr)
{}

static int fat_ent_bread(struct super_block *sb, struct fat_entry *fatent,
			 int offset, sector_t blocknr)
{}

static int fat12_ent_get(struct fat_entry *fatent)
{}

static int fat16_ent_get(struct fat_entry *fatent)
{}

static int fat32_ent_get(struct fat_entry *fatent)
{}

static void fat12_ent_put(struct fat_entry *fatent, int new)
{}

static void fat16_ent_put(struct fat_entry *fatent, int new)
{}

static void fat32_ent_put(struct fat_entry *fatent, int new)
{}

static int fat12_ent_next(struct fat_entry *fatent)
{}

static int fat16_ent_next(struct fat_entry *fatent)
{}

static int fat32_ent_next(struct fat_entry *fatent)
{}

static const struct fatent_operations fat12_ops =;

static const struct fatent_operations fat16_ops =;

static const struct fatent_operations fat32_ops =;

static inline void lock_fat(struct msdos_sb_info *sbi)
{}

static inline void unlock_fat(struct msdos_sb_info *sbi)
{}

void fat_ent_access_init(struct super_block *sb)
{}

static void mark_fsinfo_dirty(struct super_block *sb)
{}

static inline int fat_ent_update_ptr(struct super_block *sb,
				     struct fat_entry *fatent,
				     int offset, sector_t blocknr)
{}

int fat_ent_read(struct inode *inode, struct fat_entry *fatent, int entry)
{}

/* FIXME: We can write the blocks as more big chunk. */
static int fat_mirror_bhs(struct super_block *sb, struct buffer_head **bhs,
			  int nr_bhs)
{}

int fat_ent_write(struct inode *inode, struct fat_entry *fatent,
		  int new, int wait)
{}

static inline int fat_ent_next(struct msdos_sb_info *sbi,
			       struct fat_entry *fatent)
{}

static inline int fat_ent_read_block(struct super_block *sb,
				     struct fat_entry *fatent)
{}

static void fat_collect_bhs(struct buffer_head **bhs, int *nr_bhs,
			    struct fat_entry *fatent)
{}

int fat_alloc_clusters(struct inode *inode, int *cluster, int nr_cluster)
{}

int fat_free_clusters(struct inode *inode, int cluster)
{}
EXPORT_SYMBOL_GPL();

struct fatent_ra {};

static void fat_ra_init(struct super_block *sb, struct fatent_ra *ra,
			struct fat_entry *fatent, int ent_limit)
{}

/* Assuming to be called before reading a new block (increments ->cur). */
static void fat_ent_reada(struct super_block *sb, struct fatent_ra *ra,
			  struct fat_entry *fatent)
{}

int fat_count_free_clusters(struct super_block *sb)
{}

static int fat_trim_clusters(struct super_block *sb, u32 clus, u32 nr_clus)
{}

int fat_trim_fs(struct inode *inode, struct fstrim_range *range)
{}