Blame view
block/partitions/karma.c
1.08 KB
0e6e1db4a [PATCH] partition... |
1 2 3 4 5 6 7 8 9 10 |
/* * fs/partitions/karma.c * Rio Karma partition info. * * Copyright (C) 2006 Bob Copeland (me@bobcopeland.com) * based on osf.c */ #include "check.h" #include "karma.h" |
1493bf217 block: use struct... |
11 |
int karma_partition(struct parsed_partitions *state) |
0e6e1db4a [PATCH] partition... |
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
{ int i; int slot = 1; Sector sect; unsigned char *data; struct disklabel { u8 d_reserved[270]; struct d_partition { __le32 p_res; u8 p_fstype; u8 p_res2[3]; __le32 p_offset; __le32 p_size; } d_partitions[2]; u8 d_blank[208]; __le16 d_magic; } __attribute__((packed)) *label; struct d_partition *p; |
1493bf217 block: use struct... |
30 |
data = read_part_sector(state, 0, §); |
0e6e1db4a [PATCH] partition... |
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
if (!data) return -1; label = (struct disklabel *)data; if (le16_to_cpu(label->d_magic) != KARMA_LABEL_MAGIC) { put_dev_sector(sect); return 0; } p = label->d_partitions; for (i = 0 ; i < 2; i++, p++) { if (slot == state->limit) break; if (p->p_fstype == 0x4d && le32_to_cpu(p->p_size)) { put_partition(state, slot, le32_to_cpu(p->p_offset), le32_to_cpu(p->p_size)); } slot++; } |
9c867fbe0 partitions: fix s... |
51 52 |
strlcat(state->pp_buf, " ", PAGE_SIZE); |
0e6e1db4a [PATCH] partition... |
53 54 55 |
put_dev_sector(sect); return 1; } |