Annotation of /trunk/mkinitrd-magellan/busybox/util-linux/fdisk_aix.c
Parent Directory | Revision Log
Revision 984 -
(hide annotations)
(download)
Sun May 30 11:32:42 2010 UTC (14 years ago) by niro
File MIME type: text/plain
File size: 1908 byte(s)
Sun May 30 11:32:42 2010 UTC (14 years ago) by niro
File MIME type: text/plain
File size: 1908 byte(s)
-updated to busybox-1.16.1 and enabled blkid/uuid support in default config
1 | niro | 532 | #if ENABLE_FEATURE_AIX_LABEL |
2 | /* | ||
3 | * Copyright (C) Andreas Neuper, Sep 1998. | ||
4 | niro | 984 | * |
5 | * Licensed under GPLv2, see file LICENSE in this tarball for details. | ||
6 | niro | 532 | */ |
7 | |||
8 | typedef struct { | ||
9 | unsigned int magic; /* expect AIX_LABEL_MAGIC */ | ||
10 | unsigned int fillbytes1[124]; | ||
11 | unsigned int physical_volume_id; | ||
12 | unsigned int fillbytes2[124]; | ||
13 | } aix_partition; | ||
14 | |||
15 | #define AIX_LABEL_MAGIC 0xc9c2d4c1 | ||
16 | #define AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9 | ||
17 | #define AIX_INFO_MAGIC 0x00072959 | ||
18 | #define AIX_INFO_MAGIC_SWAPPED 0x59290700 | ||
19 | |||
20 | #define aixlabel ((aix_partition *)MBRbuffer) | ||
21 | |||
22 | |||
23 | /* | ||
24 | Changes: | ||
25 | * 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br> | ||
26 | * Internationalization | ||
27 | * | ||
28 | * 2003-03-20 Phillip Kesling <pkesling@sgi.com> | ||
29 | * Some fixes | ||
30 | */ | ||
31 | |||
32 | niro | 816 | static smallint aix_other_endian; /* bool */ |
33 | static smallint aix_volumes = 1; /* max 15 */ | ||
34 | niro | 532 | |
35 | /* | ||
36 | * only dealing with free blocks here | ||
37 | */ | ||
38 | |||
39 | static void | ||
40 | aix_info(void) | ||
41 | { | ||
42 | niro | 816 | puts("\n" |
43 | "There is a valid AIX label on this disk.\n" | ||
44 | "Unfortunately Linux cannot handle these disks at the moment.\n" | ||
45 | "Nevertheless some advice:\n" | ||
46 | "1. fdisk will destroy its contents on write.\n" | ||
47 | "2. Be sure that this disk is NOT a still vital part of a volume group.\n" | ||
48 | " (Otherwise you may erase the other disks as well, if unmirrored.)\n" | ||
49 | "3. Before deleting this physical volume be sure to remove the disk\n" | ||
50 | " logically from your AIX machine. (Otherwise you become an AIXpert).\n" | ||
51 | niro | 532 | ); |
52 | } | ||
53 | |||
54 | static int | ||
55 | check_aix_label(void) | ||
56 | { | ||
57 | niro | 984 | if (aixlabel->magic != AIX_LABEL_MAGIC |
58 | && aixlabel->magic != AIX_LABEL_MAGIC_SWAPPED | ||
59 | ) { | ||
60 | niro | 532 | current_label_type = 0; |
61 | aix_other_endian = 0; | ||
62 | return 0; | ||
63 | } | ||
64 | aix_other_endian = (aixlabel->magic == AIX_LABEL_MAGIC_SWAPPED); | ||
65 | update_units(); | ||
66 | niro | 816 | current_label_type = LABEL_AIX; |
67 | g_partitions = 1016; | ||
68 | niro | 532 | aix_volumes = 15; |
69 | aix_info(); | ||
70 | /*aix_nolabel();*/ /* %% */ | ||
71 | /*aix_label = 1;*/ /* %% */ | ||
72 | return 1; | ||
73 | } | ||
74 | #endif /* AIX_LABEL */ |