5 * super-block data in memory
7 * Block numbers are adjusted for their actual size
12 #define AFFS_DATA_MIN_FREE 512 /* Number of free blocks in zone for data blocks */
13 #define AFFS_HDR_MIN_FREE 128 /* Same for header blocks */
14 #define AFFS_ZONE_SIZE 1024 /* Blocks per alloc zone, must be multiple of 32 */
17 struct buffer_head
*bm_bh
; /* Buffer head if loaded (bm_count > 0) */
18 s32 bm_firstblk
; /* Block number of first bit in this map */
19 s32 bm_key
; /* Disk block number */
20 int bm_count
; /* Usage counter */
23 struct affs_alloc_zone
{
24 short az_size
; /* Size of this allocation zone in double words */
25 short az_count
; /* Number of users */
26 int az_free
; /* Free blocks in here (no. of bits) */
30 unsigned long z_ino
; /* Associated inode number */
31 struct affs_bm_info
*z_bm
; /* Zone lies in this bitmap */
32 int z_start
; /* Index of first word in bitmap */
33 int z_end
; /* Index of last word in zone + 1 */
34 int z_az_no
; /* Zone number */
35 unsigned long z_lru_time
; /* Time of last usage */
39 int s_partition_size
; /* Partition size in blocks. */
40 int s_blksize
; /* Initial device blksize */
41 s32 s_root_block
; /* FFS root block number. */
42 int s_hashsize
; /* Size of hash table. */
43 unsigned long s_flags
; /* See below. */
44 s16 s_uid
; /* uid to override */
45 s16 s_gid
; /* gid to override */
46 umode_t s_mode
; /* mode to override */
47 int s_reserved
; /* Number of reserved blocks. */
48 struct buffer_head
*s_root_bh
; /* Cached root block. */
49 struct affs_bm_info
*s_bitmap
; /* Bitmap infos. */
50 int s_bm_count
; /* Number of bitmap blocks. */
51 int s_nextzone
; /* Next zone to look for free blocks. */
52 int s_num_az
; /* Total number of alloc zones. */
53 struct affs_zone
*s_zones
; /* The zones themselves. */
54 struct affs_alloc_zone
*s_alloc
;/* The allocation zones. */
55 char *s_zonemap
; /* Bitmap for allocation zones. */
56 char *s_prefix
; /* Prefix for volumes and assigns. */
57 int s_prefix_len
; /* Length of prefix. */
58 char s_volume
[32]; /* Volume prefix for absolute symlinks. */
61 #define SF_INTL 0x0001 /* International filesystem. */
62 #define SF_BM_VALID 0x0002 /* Bitmap is valid. */
63 #define SF_IMMUTABLE 0x0004 /* Protection bits cannot be changed */
64 #define SF_QUIET 0x0008 /* chmod errors will be not reported */
65 #define SF_SETUID 0x0010 /* Ignore Amiga uid */
66 #define SF_SETGID 0x0020 /* Ignore Amiga gid */
67 #define SF_SETMODE 0x0040 /* Ignore Amiga protection bits */
68 #define SF_MUFS 0x0100 /* Use MUFS uid/gid mapping */
69 #define SF_OFS 0x0200 /* Old filesystem */
70 #define SF_PREFIX 0x0400 /* Buffer for prefix is allocated */
71 #define SF_VERBOSE 0x0800 /* Talk about fs when mounting */
72 #define SF_READONLY 0x1000 /* Don't allow to remount rw */