]> git.wh0rd.org Git - ICEs.git/blob - bfin-5761/super.i.3
more
[ICEs.git] / bfin-5761 / super.i.3
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 struct buffer_head *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 };
18 int sysv_fill_super(struct super_block *sb, void *data, int silent)
19 {
20         struct buffer_head *bh = 0;
21         unsigned long blocknr;
22         int size = 0;
23         int i;
24         for (i = 0; i < 1 && !size; i++)
25                 size = flavours[i].test(SYSV_SB(sb), bh);
26         switch (size) {
27         case 3:
28                 blocknr = bh->b_blocknr >> 1;
29                 bh = sb_bread(sb, blocknr);
30         }
31 }