MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / include / linux / affs_fs_sb.h
blobd722befe1cedd775e2e7246479e38d9fba36b666
1 #ifndef _AFFS_FS_SB
2 #define _AFFS_FS_SB
4 /*
5 * super-block data in memory
7 * Block numbers are adjusted for their actual size
9 */
11 struct affs_bm_info {
12 u32 bm_key; /* Disk block number */
13 u32 bm_free; /* Free blocks in here */
16 struct affs_sb_info {
17 int s_partition_size; /* Partition size in blocks. */
18 int s_reserved; /* Number of reserved blocks. */
19 //u32 s_blksize; /* Initial device blksize */
20 u32 s_data_blksize; /* size of the data block w/o header */
21 u32 s_root_block; /* FFS root block number. */
22 int s_hashsize; /* Size of hash table. */
23 unsigned long s_flags; /* See below. */
24 uid_t s_uid; /* uid to override */
25 gid_t s_gid; /* gid to override */
26 umode_t s_mode; /* mode to override */
27 struct buffer_head *s_root_bh; /* Cached root block. */
28 struct semaphore s_bmlock; /* Protects bitmap access. */
29 struct affs_bm_info *s_bitmap; /* Bitmap infos. */
30 u32 s_bmap_count; /* # of bitmap blocks. */
31 u32 s_bmap_bits; /* # of bits in one bitmap blocks */
32 u32 s_last_bmap;
33 struct buffer_head *s_bmap_bh;
34 char *s_prefix; /* Prefix for volumes and assigns. */
35 int s_prefix_len; /* Length of prefix. */
36 char s_volume[32]; /* Volume prefix for absolute symlinks. */
39 #define SF_INTL 0x0001 /* International filesystem. */
40 #define SF_BM_VALID 0x0002 /* Bitmap is valid. */
41 #define SF_IMMUTABLE 0x0004 /* Protection bits cannot be changed */
42 #define SF_QUIET 0x0008 /* chmod errors will be not reported */
43 #define SF_SETUID 0x0010 /* Ignore Amiga uid */
44 #define SF_SETGID 0x0020 /* Ignore Amiga gid */
45 #define SF_SETMODE 0x0040 /* Ignore Amiga protection bits */
46 #define SF_MUFS 0x0100 /* Use MUFS uid/gid mapping */
47 #define SF_OFS 0x0200 /* Old filesystem */
48 #define SF_PREFIX 0x0400 /* Buffer for prefix is allocated */
49 #define SF_VERBOSE 0x0800 /* Talk about fs when mounting */
51 /* short cut to get to the affs specific sb data */
52 static inline struct affs_sb_info *AFFS_SB(struct super_block *sb)
54 return sb->s_fs_info;
57 #endif