mirror of
https://github.com/topjohnwu/ndk-busybox.git
synced 2024-11-24 12:19:49 +00:00
fdisk: remove 8k buffer from bss - OSF labels
are not THAT common anyway
This commit is contained in:
parent
9b1381fd2f
commit
d54708399d
@ -2715,7 +2715,7 @@ is_ide_cdrom_or_tape(const char *device)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
try(const char *device, int user_specified)
|
trydev(const char *device, int user_specified)
|
||||||
{
|
{
|
||||||
int gb;
|
int gb;
|
||||||
|
|
||||||
@ -2736,7 +2736,7 @@ try(const char *device, int user_specified)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#if ENABLE_FEATURE_OSF_LABEL
|
#if ENABLE_FEATURE_OSF_LABEL
|
||||||
if (btrydev(device) < 0)
|
if (bsd_trydev(device) < 0)
|
||||||
#endif
|
#endif
|
||||||
printf(_("Disk %s doesn't contain a valid "
|
printf(_("Disk %s doesn't contain a valid "
|
||||||
"partition table\n"), device);
|
"partition table\n"), device);
|
||||||
@ -2780,7 +2780,7 @@ tryprocpt(void)
|
|||||||
if (isdigit(s[-1]))
|
if (isdigit(s[-1]))
|
||||||
continue;
|
continue;
|
||||||
sprintf(devname, "/dev/%s", ptname);
|
sprintf(devname, "/dev/%s", ptname);
|
||||||
try(devname, 0);
|
trydev(devname, 0);
|
||||||
}
|
}
|
||||||
#if ENABLE_FEATURE_CLEAN_UP
|
#if ENABLE_FEATURE_CLEAN_UP
|
||||||
fclose(procpt);
|
fclose(procpt);
|
||||||
@ -2865,7 +2865,7 @@ int fdisk_main(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
listing = 1;
|
listing = 1;
|
||||||
for (k = 0; k < argc; k++)
|
for (k = 0; k < argc; k++)
|
||||||
try(argv[k], 1);
|
trydev(argv[k], 1);
|
||||||
} else {
|
} else {
|
||||||
/* we no longer have default device names */
|
/* we no longer have default device names */
|
||||||
/* but, we can use /proc/partitions instead */
|
/* but, we can use /proc/partitions instead */
|
||||||
|
@ -272,12 +272,9 @@ static struct partition *xbsd_part;
|
|||||||
static int xbsd_part_index;
|
static int xbsd_part_index;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__alpha__)
|
|
||||||
/* We access this through a uint64_t * when checksumming */
|
/* We access this through a uint64_t * when checksumming */
|
||||||
static char disklabelbuffer[BSD_BBSIZE] ATTRIBUTE_ALIGNED(8);
|
/* hopefully xmalloc gives us required alignment */
|
||||||
#else
|
static char *disklabelbuffer; /*[BSD_BBSIZE]*/
|
||||||
static char disklabelbuffer[BSD_BBSIZE];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static struct xbsd_disklabel xbsd_dlabel;
|
static struct xbsd_disklabel xbsd_dlabel;
|
||||||
|
|
||||||
@ -299,7 +296,7 @@ check_osf_label(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
btrydev(const char * dev)
|
bsd_trydev(const char * dev)
|
||||||
{
|
{
|
||||||
if (xbsd_readlabel(NULL, &xbsd_dlabel) == 0)
|
if (xbsd_readlabel(NULL, &xbsd_dlabel) == 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -309,7 +306,7 @@ btrydev(const char * dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
bmenu(void)
|
bsd_menu(void)
|
||||||
{
|
{
|
||||||
puts(_("Command action"));
|
puts(_("Command action"));
|
||||||
puts(_("\td\tdelete a BSD partition"));
|
puts(_("\td\tdelete a BSD partition"));
|
||||||
@ -431,7 +428,7 @@ bsd_select(void)
|
|||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
bmenu();
|
bsd_menu();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -921,6 +918,9 @@ xbsd_readlabel(struct partition *p, struct xbsd_disklabel *d)
|
|||||||
{
|
{
|
||||||
int t, sector;
|
int t, sector;
|
||||||
|
|
||||||
|
if (!disklabelbuffer)
|
||||||
|
disklabelbuffer = xmalloc(BSD_BBSIZE);
|
||||||
|
|
||||||
/* p is used only to get the starting sector */
|
/* p is used only to get the starting sector */
|
||||||
#if !defined(__alpha__)
|
#if !defined(__alpha__)
|
||||||
sector = (p ? get_start_sect(p) : 0);
|
sector = (p ? get_start_sect(p) : 0);
|
||||||
|
@ -808,42 +808,43 @@ create_sgilabel(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
memset(MBRbuffer, 0, sizeof(MBRbuffer));
|
memset(MBRbuffer, 0, sizeof(MBRbuffer));
|
||||||
|
/* fields with '//' are already zeroed out by memset above */
|
||||||
|
|
||||||
sgilabel->magic = SGI_SSWAP32(SGI_LABEL_MAGIC);
|
sgilabel->magic = SGI_SSWAP32(SGI_LABEL_MAGIC);
|
||||||
sgilabel->boot_part = SGI_SSWAP16(0);
|
//sgilabel->boot_part = SGI_SSWAP16(0);
|
||||||
sgilabel->swap_part = SGI_SSWAP16(1);
|
sgilabel->swap_part = SGI_SSWAP16(1);
|
||||||
|
|
||||||
/* sizeof(sgilabel->boot_file) = 16 > 6 */
|
//memset(sgilabel->boot_file, 0, 16);
|
||||||
memset(sgilabel->boot_file, 0, 16);
|
strcpy((char*)sgilabel->boot_file, "/unix"); /* sizeof(sgilabel->boot_file) == 16 > 6 */
|
||||||
strcpy((char*)sgilabel->boot_file, "/unix");
|
|
||||||
|
|
||||||
sgilabel->devparam.skew = (0);
|
//sgilabel->devparam.skew = (0);
|
||||||
sgilabel->devparam.gap1 = (0);
|
//sgilabel->devparam.gap1 = (0);
|
||||||
sgilabel->devparam.gap2 = (0);
|
//sgilabel->devparam.gap2 = (0);
|
||||||
sgilabel->devparam.sparecyl = (0);
|
//sgilabel->devparam.sparecyl = (0);
|
||||||
sgilabel->devparam.pcylcount = SGI_SSWAP16(geometry.cylinders);
|
sgilabel->devparam.pcylcount = SGI_SSWAP16(geometry.cylinders);
|
||||||
sgilabel->devparam.head_vol0 = SGI_SSWAP16(0);
|
//sgilabel->devparam.head_vol0 = SGI_SSWAP16(0);
|
||||||
|
/* tracks/cylinder (heads) */
|
||||||
sgilabel->devparam.ntrks = SGI_SSWAP16(geometry.heads);
|
sgilabel->devparam.ntrks = SGI_SSWAP16(geometry.heads);
|
||||||
/* tracks/cylinder (heads) */
|
//sgilabel->devparam.cmd_tag_queue_depth = (0);
|
||||||
sgilabel->devparam.cmd_tag_queue_depth = (0);
|
//sgilabel->devparam.unused0 = (0);
|
||||||
sgilabel->devparam.unused0 = (0);
|
//sgilabel->devparam.unused1 = SGI_SSWAP16(0);
|
||||||
sgilabel->devparam.unused1 = SGI_SSWAP16(0);
|
/* sectors/track */
|
||||||
sgilabel->devparam.nsect = SGI_SSWAP16(geometry.sectors);
|
sgilabel->devparam.nsect = SGI_SSWAP16(geometry.sectors);
|
||||||
/* sectors/track */
|
|
||||||
sgilabel->devparam.bytes = SGI_SSWAP16(512);
|
sgilabel->devparam.bytes = SGI_SSWAP16(512);
|
||||||
sgilabel->devparam.ilfact = SGI_SSWAP16(1);
|
sgilabel->devparam.ilfact = SGI_SSWAP16(1);
|
||||||
sgilabel->devparam.flags = SGI_SSWAP32(TRACK_FWD|
|
sgilabel->devparam.flags = SGI_SSWAP32(TRACK_FWD|
|
||||||
IGNORE_ERRORS|RESEEK);
|
IGNORE_ERRORS|RESEEK);
|
||||||
sgilabel->devparam.datarate = SGI_SSWAP32(0);
|
//sgilabel->devparam.datarate = SGI_SSWAP32(0);
|
||||||
sgilabel->devparam.retries_on_error = SGI_SSWAP32(1);
|
sgilabel->devparam.retries_on_error = SGI_SSWAP32(1);
|
||||||
sgilabel->devparam.ms_per_word = SGI_SSWAP32(0);
|
//sgilabel->devparam.ms_per_word = SGI_SSWAP32(0);
|
||||||
sgilabel->devparam.xylogics_gap1 = SGI_SSWAP16(0);
|
//sgilabel->devparam.xylogics_gap1 = SGI_SSWAP16(0);
|
||||||
sgilabel->devparam.xylogics_syncdelay = SGI_SSWAP16(0);
|
//sgilabel->devparam.xylogics_syncdelay = SGI_SSWAP16(0);
|
||||||
sgilabel->devparam.xylogics_readdelay = SGI_SSWAP16(0);
|
//sgilabel->devparam.xylogics_readdelay = SGI_SSWAP16(0);
|
||||||
sgilabel->devparam.xylogics_gap2 = SGI_SSWAP16(0);
|
//sgilabel->devparam.xylogics_gap2 = SGI_SSWAP16(0);
|
||||||
sgilabel->devparam.xylogics_readgate = SGI_SSWAP16(0);
|
//sgilabel->devparam.xylogics_readgate = SGI_SSWAP16(0);
|
||||||
sgilabel->devparam.xylogics_writecont = SGI_SSWAP16(0);
|
//sgilabel->devparam.xylogics_writecont = SGI_SSWAP16(0);
|
||||||
memset( &(sgilabel->directory), 0, sizeof(struct volume_directory)*15 );
|
//memset( &(sgilabel->directory), 0, sizeof(struct volume_directory)*15 );
|
||||||
memset( &(sgilabel->partitions), 0, sizeof(struct sgi_partinfo)*16 );
|
//memset( &(sgilabel->partitions), 0, sizeof(struct sgi_partinfo)*16 );
|
||||||
current_label_type = label_sgi;
|
current_label_type = label_sgi;
|
||||||
partitions = 16;
|
partitions = 16;
|
||||||
sgi_volumes = 15;
|
sgi_volumes = 15;
|
||||||
|
Loading…
Reference in New Issue
Block a user