1 #ifndef _AFFS_FS_SB 2 #define _AFFS_FS_SB 3 4 /* 5 * super-block data in memory 6 * 7 * Block numbers are adjusted for their actual size 8 * 9 */ 10 11 struct affs_bm_info { 12 u32 bm_key; /* Disk block number */ 13 u32 bm_free; /* Free blocks in here */ 14 }; 15 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. */ 37 }; 38 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 */ 50 51 /* short cut to get to the affs specific sb data */ 52 #define AFFS_SB (&sb->u.affs_sb) 53 54 #endif 55