Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
hpfs_fn.h File Reference
#include <linux/mutex.h>
#include <linux/pagemap.h>
#include <linux/buffer_head.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
#include "hpfs.h"

Go to the source code of this file.

Data Structures

struct  hpfs_inode_info
 
struct  hpfs_sb_info
 
struct  quad_buffer_head
 

Macros

#define EIOERROR   EIO
 
#define EFSERROR   EPERM
 
#define EMEMERROR   ENOMEM
 
#define ANODE_ALLOC_FWD   512
 
#define FNODE_ALLOC_FWD   0
 
#define ALLOC_FWD_MIN   16
 
#define ALLOC_FWD_MAX   128
 
#define ALLOC_M   1
 
#define FNODE_RD_AHEAD   16
 
#define ANODE_RD_AHEAD   16
 
#define DNODE_RD_AHEAD   4
 
#define FREE_DNODES_ADD   58
 
#define FREE_DNODES_DEL   29
 
#define CHKCOND(x, y)   if (!(x)) printk y
 

Functions

int hpfs_chk_sectors (struct super_block *, secno, int, char *)
 
secno hpfs_alloc_sector (struct super_block *, secno, unsigned, int)
 
int hpfs_alloc_if_possible (struct super_block *, secno)
 
void hpfs_free_sectors (struct super_block *, secno, unsigned)
 
int hpfs_check_free_dnodes (struct super_block *, int)
 
void hpfs_free_dnode (struct super_block *, secno)
 
struct dnodehpfs_alloc_dnode (struct super_block *, secno, dnode_secno *, struct quad_buffer_head *)
 
struct fnodehpfs_alloc_fnode (struct super_block *, secno, fnode_secno *, struct buffer_head **)
 
struct anodehpfs_alloc_anode (struct super_block *, secno, anode_secno *, struct buffer_head **)
 
secno hpfs_bplus_lookup (struct super_block *, struct inode *, struct bplus_header *, unsigned, struct buffer_head *)
 
secno hpfs_add_sector_to_btree (struct super_block *, secno, int, unsigned)
 
void hpfs_remove_btree (struct super_block *, struct bplus_header *)
 
int hpfs_ea_read (struct super_block *, secno, int, unsigned, unsigned, char *)
 
int hpfs_ea_write (struct super_block *, secno, int, unsigned, unsigned, const char *)
 
void hpfs_ea_remove (struct super_block *, secno, int, unsigned)
 
void hpfs_truncate_btree (struct super_block *, secno, int, unsigned)
 
void hpfs_remove_fnode (struct super_block *, fnode_secno fno)
 
voidhpfs_map_sector (struct super_block *, unsigned, struct buffer_head **, int)
 
voidhpfs_get_sector (struct super_block *, unsigned, struct buffer_head **)
 
voidhpfs_map_4sectors (struct super_block *, unsigned, struct quad_buffer_head *, int)
 
voidhpfs_get_4sectors (struct super_block *, unsigned, struct quad_buffer_head *)
 
void hpfs_brelse4 (struct quad_buffer_head *)
 
void hpfs_mark_4buffers_dirty (struct quad_buffer_head *)
 
struct dentryhpfs_lookup (struct inode *, struct dentry *, unsigned int)
 
void hpfs_add_pos (struct inode *, loff_t *)
 
void hpfs_del_pos (struct inode *, loff_t *)
 
struct hpfs_direnthpfs_add_de (struct super_block *, struct dnode *, const unsigned char *, unsigned, secno)
 
int hpfs_add_dirent (struct inode *, const unsigned char *, unsigned, struct hpfs_dirent *)
 
int hpfs_remove_dirent (struct inode *, dnode_secno, struct hpfs_dirent *, struct quad_buffer_head *, int)
 
void hpfs_count_dnodes (struct super_block *, dnode_secno, int *, int *, int *)
 
dnode_secno hpfs_de_as_down_as_possible (struct super_block *, dnode_secno dno)
 
struct hpfs_direntmap_pos_dirent (struct inode *, loff_t *, struct quad_buffer_head *)
 
struct hpfs_direntmap_dirent (struct inode *, dnode_secno, const unsigned char *, unsigned, dnode_secno *, struct quad_buffer_head *)
 
void hpfs_remove_dtree (struct super_block *, dnode_secno)
 
struct hpfs_direntmap_fnode_dirent (struct super_block *, fnode_secno, struct fnode *, struct quad_buffer_head *)
 
void hpfs_ea_ext_remove (struct super_block *, secno, int, unsigned)
 
int hpfs_read_ea (struct super_block *, struct fnode *, char *, char *, int)
 
charhpfs_get_ea (struct super_block *, struct fnode *, char *, int *)
 
void hpfs_set_ea (struct inode *, struct fnode *, const char *, const char *, int)
 
int hpfs_file_fsync (struct file *, loff_t, loff_t, int)
 
void hpfs_init_inode (struct inode *)
 
void hpfs_read_inode (struct inode *)
 
void hpfs_write_inode (struct inode *)
 
void hpfs_write_inode_nolock (struct inode *)
 
int hpfs_setattr (struct dentry *, struct iattr *)
 
void hpfs_write_if_changed (struct inode *)
 
void hpfs_evict_inode (struct inode *)
 
__le32hpfs_map_dnode_bitmap (struct super_block *, struct quad_buffer_head *)
 
__le32hpfs_map_bitmap (struct super_block *, unsigned, struct quad_buffer_head *, char *)
 
unsigned charhpfs_load_code_page (struct super_block *, secno)
 
__le32hpfs_load_bitmap_directory (struct super_block *, secno bmp)
 
struct fnodehpfs_map_fnode (struct super_block *s, ino_t, struct buffer_head **)
 
struct anodehpfs_map_anode (struct super_block *s, anode_secno, struct buffer_head **)
 
struct dnodehpfs_map_dnode (struct super_block *s, dnode_secno, struct quad_buffer_head *)
 
dnode_secno hpfs_fnode_dno (struct super_block *s, ino_t ino)
 
unsigned char hpfs_upcase (unsigned char *, unsigned char)
 
int hpfs_chk_name (const unsigned char *, unsigned *)
 
unsigned charhpfs_translate_name (struct super_block *, unsigned char *, unsigned, int, int)
 
int hpfs_compare_names (struct super_block *, const unsigned char *, unsigned, const unsigned char *, unsigned, int)
 
int hpfs_is_name_long (const unsigned char *, unsigned)
 
void hpfs_adjust_length (const unsigned char *, unsigned *)
 
 __printf (2, 3) void hpfs_error(struct super_block *
 
const char int hpfs_stop_cycles (struct super_block *, int, int *, int *, char *)
 
unsigned hpfs_count_one_bitmap (struct super_block *, secno)
 

Variables

struct dentry_operations hpfs_dentry_operations
 
struct file_operations hpfs_dir_ops
 
struct file_operations hpfs_file_ops
 
struct inode_operations hpfs_file_iops
 
struct address_space_operations hpfs_aops
 
struct inode_operations hpfs_dir_iops
 
struct address_space_operations hpfs_symlink_aops
 

Macro Definition Documentation

#define ALLOC_FWD_MAX   128

Definition at line 27 of file hpfs_fn.h.

#define ALLOC_FWD_MIN   16

Definition at line 26 of file hpfs_fn.h.

#define ALLOC_M   1

Definition at line 28 of file hpfs_fn.h.

#define ANODE_ALLOC_FWD   512

Definition at line 24 of file hpfs_fn.h.

#define ANODE_RD_AHEAD   16

Definition at line 30 of file hpfs_fn.h.

#define CHKCOND (   x,
  y 
)    if (!(x)) printk y

Definition at line 36 of file hpfs_fn.h.

#define DNODE_RD_AHEAD   4

Definition at line 31 of file hpfs_fn.h.

#define EFSERROR   EPERM

Definition at line 21 of file hpfs_fn.h.

#define EIOERROR   EIO

Definition at line 20 of file hpfs_fn.h.

#define EMEMERROR   ENOMEM

Definition at line 22 of file hpfs_fn.h.

#define FNODE_ALLOC_FWD   0

Definition at line 25 of file hpfs_fn.h.

#define FNODE_RD_AHEAD   16

Definition at line 29 of file hpfs_fn.h.

#define FREE_DNODES_ADD   58

Definition at line 33 of file hpfs_fn.h.

#define FREE_DNODES_DEL   29

Definition at line 34 of file hpfs_fn.h.

Function Documentation

__printf ( ,
 
)
struct hpfs_dirent* hpfs_add_de ( struct super_block ,
struct dnode ,
const unsigned char ,
unsigned  ,
secno   
)
read

Definition at line 162 of file dnode.c.

int hpfs_add_dirent ( struct inode ,
const unsigned char ,
unsigned  ,
struct hpfs_dirent  
)

Definition at line 376 of file dnode.c.

void hpfs_add_pos ( struct inode ,
loff_t *   
)

Definition at line 24 of file dnode.c.

secno hpfs_add_sector_to_btree ( struct super_block ,
secno  ,
int  ,
unsigned   
)

Definition at line 60 of file anode.c.

void hpfs_adjust_length ( const unsigned char ,
unsigned *   
)

Definition at line 105 of file name.c.

struct anode* hpfs_alloc_anode ( struct super_block ,
secno  ,
anode_secno ,
struct buffer_head **   
)
read

Definition at line 408 of file alloc.c.

struct dnode* hpfs_alloc_dnode ( struct super_block ,
secno  ,
dnode_secno ,
struct quad_buffer_head  
)
read

Definition at line 365 of file alloc.c.

struct fnode* hpfs_alloc_fnode ( struct super_block ,
secno  ,
fnode_secno ,
struct buffer_head **   
)
read

Definition at line 391 of file alloc.c.

int hpfs_alloc_if_possible ( struct super_block ,
secno   
)

Definition at line 236 of file alloc.c.

secno hpfs_alloc_sector ( struct super_block ,
secno  ,
unsigned  ,
int   
)

Definition at line 150 of file alloc.c.

secno hpfs_bplus_lookup ( struct super_block ,
struct inode ,
struct bplus_header ,
unsigned  ,
struct buffer_head *   
)

Definition at line 13 of file anode.c.

void hpfs_brelse4 ( struct quad_buffer_head )

Definition at line 148 of file buffer.c.

int hpfs_check_free_dnodes ( struct super_block ,
int   
)

Definition at line 297 of file alloc.c.

int hpfs_chk_name ( const unsigned char ,
unsigned *   
)

Definition at line 41 of file name.c.

int hpfs_chk_sectors ( struct super_block ,
secno  ,
int  ,
char  
)

Definition at line 47 of file alloc.c.

int hpfs_compare_names ( struct super_block ,
const unsigned char ,
unsigned  ,
const unsigned char ,
unsigned  ,
int   
)

Definition at line 73 of file name.c.

void hpfs_count_dnodes ( struct super_block ,
dnode_secno  ,
int ,
int ,
int  
)

Definition at line 732 of file dnode.c.

unsigned hpfs_count_one_bitmap ( struct super_block ,
secno   
)

Definition at line 118 of file super.c.

dnode_secno hpfs_de_as_down_as_possible ( struct super_block ,
dnode_secno  dno 
)

Definition at line 807 of file dnode.c.

void hpfs_del_pos ( struct inode ,
loff_t *   
)

Definition at line 48 of file dnode.c.

void hpfs_ea_ext_remove ( struct super_block ,
secno  ,
int  ,
unsigned   
)

Definition at line 14 of file ea.c.

int hpfs_ea_read ( struct super_block ,
secno  ,
int  ,
unsigned  ,
unsigned  ,
char  
)

Definition at line 337 of file anode.c.

void hpfs_ea_remove ( struct super_block ,
secno  ,
int  ,
unsigned   
)

Definition at line 384 of file anode.c.

int hpfs_ea_write ( struct super_block ,
secno  ,
int  ,
unsigned  ,
unsigned  ,
const char  
)

Definition at line 360 of file anode.c.

void hpfs_evict_inode ( struct inode )

Definition at line 302 of file inode.c.

int hpfs_file_fsync ( struct file ,
loff_t  ,
loff_t  ,
int   
)

Definition at line 21 of file file.c.

dnode_secno hpfs_fnode_dno ( struct super_block s,
ino_t  ino 
)

Definition at line 274 of file map.c.

void hpfs_free_dnode ( struct super_block ,
secno   
)

Definition at line 343 of file alloc.c.

void hpfs_free_sectors ( struct super_block ,
secno  ,
unsigned   
)

Definition at line 254 of file alloc.c.

void* hpfs_get_4sectors ( struct super_block ,
unsigned  ,
struct quad_buffer_head  
)

Definition at line 113 of file buffer.c.

char* hpfs_get_ea ( struct super_block ,
struct fnode ,
char ,
int  
)

Definition at line 129 of file ea.c.

void* hpfs_get_sector ( struct super_block ,
unsigned  ,
struct buffer_head **   
)

Definition at line 34 of file buffer.c.

void hpfs_init_inode ( struct inode )

Definition at line 13 of file inode.c.

int hpfs_is_name_long ( const unsigned char ,
unsigned   
)

Definition at line 91 of file name.c.

__le32* hpfs_load_bitmap_directory ( struct super_block ,
secno  bmp 
)

Definition at line 92 of file map.c.

unsigned char* hpfs_load_code_page ( struct super_block ,
secno   
)

Definition at line 38 of file map.c.

struct dentry* hpfs_lookup ( struct inode ,
struct dentry ,
unsigned  int 
)
read

Definition at line 192 of file dir.c.

void* hpfs_map_4sectors ( struct super_block ,
unsigned  ,
struct quad_buffer_head ,
int   
)

Definition at line 55 of file buffer.c.

struct anode* hpfs_map_anode ( struct super_block s,
anode_secno  ,
struct buffer_head **   
)
read

Definition at line 175 of file map.c.

__le32* hpfs_map_bitmap ( struct super_block ,
unsigned  ,
struct quad_buffer_head ,
char  
)

Definition at line 16 of file map.c.

struct dnode* hpfs_map_dnode ( struct super_block s,
dnode_secno  ,
struct quad_buffer_head  
)
read
__le32* hpfs_map_dnode_bitmap ( struct super_block ,
struct quad_buffer_head  
)

Definition at line 11 of file map.c.

struct fnode* hpfs_map_fnode ( struct super_block s,
ino_t  ,
struct buffer_head **   
)
read

Definition at line 118 of file map.c.

void* hpfs_map_sector ( struct super_block ,
unsigned  ,
struct buffer_head **  ,
int   
)

Definition at line 14 of file buffer.c.

void hpfs_mark_4buffers_dirty ( struct quad_buffer_head )

Definition at line 157 of file buffer.c.

int hpfs_read_ea ( struct super_block ,
struct fnode ,
char ,
char ,
int   
)

Definition at line 73 of file ea.c.

void hpfs_read_inode ( struct inode )

Definition at line 43 of file inode.c.

void hpfs_remove_btree ( struct super_block ,
struct bplus_header  
)

Definition at line 273 of file anode.c.

int hpfs_remove_dirent ( struct inode ,
dnode_secno  ,
struct hpfs_dirent ,
struct quad_buffer_head ,
int   
)

Definition at line 699 of file dnode.c.

void hpfs_remove_dtree ( struct super_block ,
dnode_secno   
)

Definition at line 939 of file dnode.c.

void hpfs_remove_fnode ( struct super_block ,
fnode_secno  fno 
)

Definition at line 480 of file anode.c.

void hpfs_set_ea ( struct inode ,
struct fnode ,
const char ,
const char ,
int   
)

Definition at line 189 of file ea.c.

int hpfs_setattr ( struct dentry ,
struct iattr  
)

Definition at line 257 of file inode.c.

const char int hpfs_stop_cycles ( struct super_block ,
int  ,
int ,
int ,
char  
)

Definition at line 92 of file super.c.

unsigned char* hpfs_translate_name ( struct super_block ,
unsigned char ,
unsigned  ,
int  ,
int   
)

Definition at line 53 of file name.c.

void hpfs_truncate_btree ( struct super_block ,
secno  ,
int  ,
unsigned   
)

Definition at line 398 of file anode.c.

unsigned char hpfs_upcase ( unsigned char ,
unsigned  char 
)

Definition at line 29 of file name.c.

void hpfs_write_if_changed ( struct inode )

Definition at line 294 of file inode.c.

void hpfs_write_inode ( struct inode )

Definition at line 180 of file inode.c.

void hpfs_write_inode_nolock ( struct inode )

Definition at line 206 of file inode.c.

struct hpfs_dirent* map_dirent ( struct inode ,
dnode_secno  ,
const unsigned char ,
unsigned  ,
dnode_secno ,
struct quad_buffer_head  
)
read

Definition at line 898 of file dnode.c.

struct hpfs_dirent* map_fnode_dirent ( struct super_block ,
fnode_secno  ,
struct fnode ,
struct quad_buffer_head  
)
read

Definition at line 987 of file dnode.c.

struct hpfs_dirent* map_pos_dirent ( struct inode ,
loff_t *  ,
struct quad_buffer_head  
)
read

Definition at line 833 of file dnode.c.

Variable Documentation

Definition at line 132 of file file.c.

struct dentry_operations hpfs_dentry_operations

Definition at line 61 of file dentry.c.

struct inode_operations hpfs_dir_iops

Definition at line 617 of file namei.c.

struct file_operations hpfs_dir_ops

Definition at line 319 of file dir.c.

struct inode_operations hpfs_file_iops

Definition at line 167 of file file.c.

struct file_operations hpfs_file_ops

Definition at line 154 of file file.c.

struct address_space_operations hpfs_symlink_aops

Definition at line 514 of file namei.c.