Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.sbin/sysinst Avoid creating a (tiny) swap partition by d...
details: https://anonhg.NetBSD.org/src/rev/41cd24ed1f95
branches: trunk
changeset: 452183:41cd24ed1f95
user: martin <martin%NetBSD.org@localhost>
date: Thu Jun 20 19:26:41 2019 +0000
description:
Avoid creating a (tiny) swap partition by default on overall too small
disks.
diffstat:
usr.sbin/sysinst/bsddisklabel.c | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diffs (72 lines):
diff -r bf408156cf66 -r 41cd24ed1f95 usr.sbin/sysinst/bsddisklabel.c
--- a/usr.sbin/sysinst/bsddisklabel.c Thu Jun 20 18:32:32 2019 +0000
+++ b/usr.sbin/sysinst/bsddisklabel.c Thu Jun 20 19:26:41 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bsddisklabel.c,v 1.14 2019/06/20 15:52:07 christos Exp $ */
+/* $NetBSD: bsddisklabel.c,v 1.15 2019/06/20 19:26:41 martin Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -987,8 +987,8 @@
fill_defaults(struct partition_usage_set *wanted, struct disk_partitions *parts,
daddr_t ptstart, daddr_t ptsize)
{
- size_t i, root = ~0U, usr = ~0U, swap = ~0U;
- daddr_t free_space, dump_space;
+ size_t i, root = ~0U, usr = ~0U, swap = ~0U, def_usr = ~0U;
+ daddr_t free_space, dump_space, required;
#if defined(DEFAULT_UFS2) && !defined(HAVE_UFS2_BOOT)
size_t boot = ~0U;
#endif
@@ -1017,12 +1017,16 @@
if (wanted->infos[i].instflags & PUIINST_BOOT)
boot = i;
#endif
- if (wanted->infos[i].type == PT_root
- && wanted->infos[i].size > 0) {
- if (strcmp(wanted->infos[i].mount, "/") == 0)
+ if (wanted->infos[i].type == PT_root) {
+ if (strcmp(wanted->infos[i].mount, "/") == 0) {
root = i;
- else if (strcmp(wanted->infos[i].mount, "/usr") == 0)
- usr = i;
+ } else if (
+ strcmp(wanted->infos[i].mount, "/usr") == 0) {
+ if (wanted->infos[i].size > 0)
+ usr = i;
+ else
+ def_usr = i;
+ }
wanted->infos[i].fs_type = FS_BSDFFS;
#ifdef DEFAULT_UFS2
#ifndef HAVE_UFS2_BOOT
@@ -1130,9 +1134,21 @@
* impossible defaults.
*/
free_space = parts->free_space;
+ required = 0;
+ if (root < wanted->num)
+ required += wanted->infos[root].size;
+ if (usr < wanted->num)
+ required += wanted->infos[usr].size;
+ else if (def_usr < wanted->num)
+ required += wanted->infos[def_usr].def_size;
+ free_space -= required;
for (i = 0; i < wanted->num; i++) {
+ if (i == root || i == usr)
+ continue; /* already accounted above */
if (wanted->infos[i].cur_part_id != NO_PART)
continue;
+ if (wanted->infos[i].size == 0)
+ continue;
if (wanted->infos[i].flags
& (PUIFLG_IS_OUTER|PUIFLG_JUST_MOUNTPOINT))
continue;
@@ -1147,7 +1163,6 @@
free_space += inc;
wanted->infos[swap].size -= inc;
}
-
if (root < wanted->num) {
/* Add space for 2 system dumps to / (traditional) */
dump_space = get_ramsize() * (MEG/512);
Home |
Main Index |
Thread Index |
Old Index