Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
affs.h File Reference
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/buffer_head.h>
#include <linux/amigaffs.h>
#include <linux/mutex.h>
#include <linux/workqueue.h>

Go to the source code of this file.

Data Structures

struct  affs_ext_key
 
struct  affs_inode_info
 
struct  affs_bm_info
 
struct  affs_sb_info
 

Macros

#define GET_END_PTR(st, p, sz)   ((st *)((char *)(p)+((sz)-sizeof(st))))
 
#define AFFS_GET_HASHENTRY(data, hashkey)   be32_to_cpu(((struct dir_front *)data)->hashtable[hashkey])
 
#define AFFS_BLOCK(sb, bh, blk)   (AFFS_HEAD(bh)->table[AFFS_SB(sb)->s_hashsize-1-(blk)])
 
#define AFFS_HEAD(bh)   ((struct affs_head *)(bh)->b_data)
 
#define AFFS_TAIL(sb, bh)   ((struct affs_tail *)((bh)->b_data+(sb)->s_blocksize-sizeof(struct affs_tail)))
 
#define AFFS_ROOT_HEAD(bh)   ((struct affs_root_head *)(bh)->b_data)
 
#define AFFS_ROOT_TAIL(sb, bh)   ((struct affs_root_tail *)((bh)->b_data+(sb)->s_blocksize-sizeof(struct affs_root_tail)))
 
#define AFFS_DATA_HEAD(bh)   ((struct affs_data_head *)(bh)->b_data)
 
#define AFFS_DATA(bh)   (((struct affs_data_head *)(bh)->b_data)->data)
 
#define AFFS_CACHE_SIZE   PAGE_SIZE
 
#define AFFS_MAX_PREALLOC   32
 
#define AFFS_LC_SIZE   (AFFS_CACHE_SIZE/sizeof(u32)/2)
 
#define AFFS_AC_SIZE   (AFFS_CACHE_SIZE/sizeof(struct affs_ext_key)/2)
 
#define AFFS_AC_MASK   (AFFS_AC_SIZE-1)
 
#define i_hash_lock   i_ext_lock
 
#define SF_INTL   0x0001 /* International filesystem. */
 
#define SF_BM_VALID   0x0002 /* Bitmap is valid. */
 
#define SF_IMMUTABLE   0x0004 /* Protection bits cannot be changed */
 
#define SF_QUIET   0x0008 /* chmod errors will be not reported */
 
#define SF_SETUID   0x0010 /* Ignore Amiga uid */
 
#define SF_SETGID   0x0020 /* Ignore Amiga gid */
 
#define SF_SETMODE   0x0040 /* Ignore Amiga protection bits */
 
#define SF_MUFS   0x0100 /* Use MUFS uid/gid mapping */
 
#define SF_OFS   0x0200 /* Old filesystem */
 
#define SF_PREFIX   0x0400 /* Buffer for prefix is allocated */
 
#define SF_VERBOSE   0x0800 /* Talk about fs when mounting */
 

Functions

void affs_mark_sb_dirty (struct super_block *sb)
 
int affs_insert_hash (struct inode *inode, struct buffer_head *bh)
 
int affs_remove_hash (struct inode *dir, struct buffer_head *rem_bh)
 
int affs_remove_header (struct dentry *dentry)
 
u32 affs_checksum_block (struct super_block *sb, struct buffer_head *bh)
 
void affs_fix_checksum (struct super_block *sb, struct buffer_head *bh)
 
void secs_to_datestamp (time_t secs, struct affs_date *ds)
 
umode_t prot_to_mode (u32 prot)
 
void mode_to_prot (struct inode *inode)
 
void affs_error (struct super_block *sb, const char *function, const char *fmt,...)
 
void affs_warning (struct super_block *sb, const char *function, const char *fmt,...)
 
int affs_check_name (const unsigned char *name, int len)
 
int affs_copy_name (unsigned char *bstr, struct dentry *dentry)
 
u32 affs_count_free_blocks (struct super_block *s)
 
void affs_free_block (struct super_block *sb, u32 block)
 
u32 affs_alloc_block (struct inode *inode, u32 goal)
 
int affs_init_bitmap (struct super_block *sb, int *flags)
 
void affs_free_bitmap (struct super_block *sb)
 
int affs_hash_name (struct super_block *sb, const u8 *name, unsigned int len)
 
struct dentryaffs_lookup (struct inode *dir, struct dentry *dentry, unsigned int)
 
int affs_unlink (struct inode *dir, struct dentry *dentry)
 
int affs_create (struct inode *dir, struct dentry *dentry, umode_t mode, bool)
 
int affs_mkdir (struct inode *dir, struct dentry *dentry, umode_t mode)
 
int affs_rmdir (struct inode *dir, struct dentry *dentry)
 
int affs_link (struct dentry *olddentry, struct inode *dir, struct dentry *dentry)
 
int affs_symlink (struct inode *dir, struct dentry *dentry, const char *symname)
 
int affs_rename (struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, struct dentry *new_dentry)
 
unsigned long affs_parent_ino (struct inode *dir)
 
struct inodeaffs_new_inode (struct inode *dir)
 
int affs_notify_change (struct dentry *dentry, struct iattr *attr)
 
void affs_evict_inode (struct inode *inode)
 
struct inodeaffs_iget (struct super_block *sb, unsigned long ino)
 
int affs_write_inode (struct inode *inode, struct writeback_control *wbc)
 
int affs_add_entry (struct inode *dir, struct inode *inode, struct dentry *dentry, s32 type)
 
void affs_free_prealloc (struct inode *inode)
 
void affs_truncate (struct inode *)
 
int affs_file_fsync (struct file *, loff_t, loff_t, int)
 
void affs_dir_truncate (struct inode *)
 

Variables

struct inode_operations affs_file_inode_operations
 
struct inode_operations affs_dir_inode_operations
 
struct inode_operations affs_symlink_inode_operations
 
struct file_operations affs_file_operations
 
struct file_operations affs_file_operations_ofs
 
struct file_operations affs_dir_operations
 
struct address_space_operations affs_symlink_aops
 
struct address_space_operations affs_aops
 
struct address_space_operations affs_aops_ofs
 
struct dentry_operations affs_dentry_operations
 
struct dentry_operations affs_intl_dentry_operations
 

Macro Definition Documentation

#define AFFS_AC_MASK   (AFFS_AC_SIZE-1)

Definition at line 34 of file affs.h.

#define AFFS_AC_SIZE   (AFFS_CACHE_SIZE/sizeof(struct affs_ext_key)/2)

Definition at line 33 of file affs.h.

#define AFFS_BLOCK (   sb,
  bh,
  blk 
)    (AFFS_HEAD(bh)->table[AFFS_SB(sb)->s_hashsize-1-(blk)])

Definition at line 20 of file affs.h.

#define AFFS_CACHE_SIZE   PAGE_SIZE

Definition at line 29 of file affs.h.

#define AFFS_DATA (   bh)    (((struct affs_data_head *)(bh)->b_data)->data)

Definition at line 27 of file affs.h.

#define AFFS_DATA_HEAD (   bh)    ((struct affs_data_head *)(bh)->b_data)

Definition at line 26 of file affs.h.

#define AFFS_GET_HASHENTRY (   data,
  hashkey 
)    be32_to_cpu(((struct dir_front *)data)->hashtable[hashkey])

Definition at line 19 of file affs.h.

#define AFFS_HEAD (   bh)    ((struct affs_head *)(bh)->b_data)

Definition at line 22 of file affs.h.

#define AFFS_LC_SIZE   (AFFS_CACHE_SIZE/sizeof(u32)/2)

Definition at line 32 of file affs.h.

#define AFFS_MAX_PREALLOC   32

Definition at line 31 of file affs.h.

#define AFFS_ROOT_HEAD (   bh)    ((struct affs_root_head *)(bh)->b_data)

Definition at line 24 of file affs.h.

#define AFFS_ROOT_TAIL (   sb,
  bh 
)    ((struct affs_root_tail *)((bh)->b_data+(sb)->s_blocksize-sizeof(struct affs_root_tail)))

Definition at line 25 of file affs.h.

#define AFFS_TAIL (   sb,
  bh 
)    ((struct affs_tail *)((bh)->b_data+(sb)->s_blocksize-sizeof(struct affs_tail)))

Definition at line 23 of file affs.h.

#define GET_END_PTR (   st,
  p,
  sz 
)    ((st *)((char *)(p)+((sz)-sizeof(st))))

Definition at line 18 of file affs.h.

#define i_hash_lock   i_ext_lock

Definition at line 48 of file affs.h.

#define SF_BM_VALID   0x0002 /* Bitmap is valid. */

Definition at line 111 of file affs.h.

#define SF_IMMUTABLE   0x0004 /* Protection bits cannot be changed */

Definition at line 112 of file affs.h.

#define SF_INTL   0x0001 /* International filesystem. */

Definition at line 110 of file affs.h.

#define SF_MUFS   0x0100 /* Use MUFS uid/gid mapping */

Definition at line 117 of file affs.h.

#define SF_OFS   0x0200 /* Old filesystem */

Definition at line 118 of file affs.h.

#define SF_PREFIX   0x0400 /* Buffer for prefix is allocated */

Definition at line 119 of file affs.h.

#define SF_QUIET   0x0008 /* chmod errors will be not reported */

Definition at line 113 of file affs.h.

#define SF_SETGID   0x0020 /* Ignore Amiga gid */

Definition at line 115 of file affs.h.

#define SF_SETMODE   0x0040 /* Ignore Amiga protection bits */

Definition at line 116 of file affs.h.

#define SF_SETUID   0x0010 /* Ignore Amiga uid */

Definition at line 114 of file affs.h.

#define SF_VERBOSE   0x0800 /* Talk about fs when mounting */

Definition at line 120 of file affs.h.

Function Documentation

int affs_add_entry ( struct inode dir,
struct inode inode,
struct dentry dentry,
s32  type 
)

Definition at line 342 of file inode.c.

u32 affs_alloc_block ( struct inode inode,
u32  goal 
)

Definition at line 115 of file bitmap.c.

int affs_check_name ( const unsigned char name,
int  len 
)

Definition at line 478 of file amigaffs.c.

u32 affs_checksum_block ( struct super_block sb,
struct buffer_head *  bh 
)

Definition at line 340 of file amigaffs.c.

int affs_copy_name ( unsigned char bstr,
struct dentry dentry 
)

Definition at line 506 of file amigaffs.c.

u32 affs_count_free_blocks ( struct super_block s)

Definition at line 14 of file bitmap.c.

int affs_create ( struct inode dir,
struct dentry dentry,
umode_t  mode,
bool   
)

Definition at line 258 of file namei.c.

void affs_dir_truncate ( struct inode )
void affs_error ( struct super_block sb,
const char function,
const char fmt,
  ... 
)

Definition at line 447 of file amigaffs.c.

void affs_evict_inode ( struct inode inode)

Definition at line 255 of file inode.c.

int affs_file_fsync ( struct file ,
loff_t  ,
loff_t  ,
int   
)

Definition at line 926 of file file.c.

void affs_fix_checksum ( struct super_block sb,
struct buffer_head *  bh 
)

Definition at line 358 of file amigaffs.c.

void affs_free_bitmap ( struct super_block sb)

Definition at line 354 of file bitmap.c.

void affs_free_block ( struct super_block sb,
u32  block 
)

Definition at line 38 of file bitmap.c.

void affs_free_prealloc ( struct inode inode)

Definition at line 795 of file file.c.

int affs_hash_name ( struct super_block sb,
const u8 name,
unsigned int  len 
)

Definition at line 172 of file namei.c.

struct inode* affs_iget ( struct super_block sb,
unsigned long  ino 
)
read

Definition at line 19 of file inode.c.

int affs_init_bitmap ( struct super_block sb,
int flags 
)

Definition at line 244 of file bitmap.c.

int affs_insert_hash ( struct inode inode,
struct buffer_head *  bh 
)

Definition at line 27 of file amigaffs.c.

int affs_link ( struct dentry olddentry,
struct inode dir,
struct dentry dentry 
)

Definition at line 402 of file namei.c.

struct dentry* affs_lookup ( struct inode dir,
struct dentry dentry,
unsigned  int 
)
read

Definition at line 214 of file namei.c.

void affs_mark_sb_dirty ( struct super_block sb)

Definition at line 81 of file super.c.

int affs_mkdir ( struct inode dir,
struct dentry dentry,
umode_t  mode 
)

Definition at line 288 of file namei.c.

struct inode* affs_new_inode ( struct inode dir)
read

Definition at line 285 of file inode.c.

int affs_notify_change ( struct dentry dentry,
struct iattr attr 
)

Definition at line 218 of file inode.c.

unsigned long affs_parent_ino ( struct inode dir)
int affs_remove_hash ( struct inode dir,
struct buffer_head *  rem_bh 
)

Definition at line 76 of file amigaffs.c.

int affs_remove_header ( struct dentry dentry)

Definition at line 268 of file amigaffs.c.

int affs_rename ( struct inode old_dir,
struct dentry old_dentry,
struct inode new_dir,
struct dentry new_dentry 
)

Definition at line 413 of file namei.c.

int affs_rmdir ( struct inode dir,
struct dentry dentry 
)

Definition at line 317 of file namei.c.

int affs_symlink ( struct inode dir,
struct dentry dentry,
const char symname 
)

Definition at line 327 of file namei.c.

void affs_truncate ( struct inode )

Definition at line 810 of file file.c.

int affs_unlink ( struct inode dir,
struct dentry dentry 
)

Definition at line 248 of file namei.c.

void affs_warning ( struct super_block sb,
const char function,
const char fmt,
  ... 
)

Definition at line 463 of file amigaffs.c.

int affs_write_inode ( struct inode inode,
struct writeback_control wbc 
)

Definition at line 170 of file inode.c.

void mode_to_prot ( struct inode inode)

Definition at line 419 of file amigaffs.c.

umode_t prot_to_mode ( u32  prot)

Definition at line 392 of file amigaffs.c.

void secs_to_datestamp ( time_t  secs,
struct affs_date ds 
)

Definition at line 373 of file amigaffs.c.

Variable Documentation

Definition at line 429 of file file.c.

Definition at line 785 of file file.c.

struct dentry_operations affs_dentry_operations

Definition at line 30 of file namei.c.

struct inode_operations affs_dir_inode_operations

Definition at line 30 of file dir.c.

struct file_operations affs_dir_operations

Definition at line 20 of file dir.c.

struct inode_operations affs_file_inode_operations

Definition at line 41 of file file.c.

struct file_operations affs_file_operations

Definition at line 28 of file file.c.

struct file_operations affs_file_operations_ofs
struct dentry_operations affs_intl_dentry_operations

Definition at line 35 of file namei.c.

struct address_space_operations affs_symlink_aops

Definition at line 72 of file symlink.c.

struct inode_operations affs_symlink_inode_operations

Definition at line 76 of file symlink.c.