--- /dev/null
+typedef unsigned long long u64;
+struct super_block {
+ unsigned long s_blocksize;
+ struct block_device *s_bdev;
+};
+struct buffer_head {
+ u64 b_blocknr;
+};
+int sb_bread(struct super_block *sb, u64 block)
+{
+ return __bread(sb->s_bdev, block, sb->s_blocksize);
+}
+
+struct {
+ int (*test) (struct sysv_sb_info *, struct buffer_head *);
+} flavours[];
+int sysv_fill_super(struct super_block *sb)
+{
+ struct buffer_head *bh = 0;
+ unsigned long blocknr;
+ switch (test(sb, bh)) {
+ case 3:
+ blocknr = bh->b_blocknr >> 1;
+ bh = sb_bread(sb, blocknr);
+ }
+}