Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 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
#define SF_READONLY     0x1000          /* Don't allow to remount rw */
51
 
52
/* short cut to get to the affs specific sb data */
53
static inline struct affs_sb_info *AFFS_SB(struct super_block *sb)
54
{
55
        return sb->s_fs_info;
56
}
57
 
58
#endif