]>
Commit | Line | Data |
---|---|---|
0e45bb16 MF |
1 | typedef unsigned long long u64; |
2 | struct super_block { | |
3 | unsigned long s_blocksize; | |
4 | struct block_device *s_bdev; | |
5 | }; | |
6 | struct buffer_head { | |
7 | u64 b_blocknr; | |
8 | }; | |
9 | int sb_bread(struct super_block *sb, u64 block) | |
10 | { | |
11 | return __bread(sb->s_bdev, block, sb->s_blocksize); | |
12 | } | |
13 | ||
14 | struct { | |
15 | int (*test) (struct sysv_sb_info *, struct buffer_head *); | |
16 | } flavours[]; | |
17 | int sysv_fill_super(struct super_block *sb) | |
18 | { | |
19 | struct buffer_head *bh = 0; | |
20 | unsigned long blocknr; | |
21 | switch (test(sb, bh)) { | |
22 | case 3: | |
23 | blocknr = bh->b_blocknr >> 1; | |
24 | bh = sb_bread(sb, blocknr); | |
25 | } | |
26 | } |