NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: bin/57921: swapon: Do not overwrite Linux swap header
The following reply was made to PR bin/57921; it has been noted by GNATS.
From: matthew green <mrg%eterna23.net@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: re: bin/57921: swapon: Do not overwrite Linux swap header
Date: Sun, 11 Feb 2024 07:36:47 +1100
i'm confused. we skip the first PAGE_SIZE bytes on block devices,
ie, any mbr or gpt accessed for this would be a block device.
so netbsd shouldn't overwrite the first 4096 bytes if it sees
this as a partition, not a file. *files* are used from the first
moment. see uvm_swap.c:
* for block special files, we want to make sure that leave
* the disklabel and bootblocks alone, so we arrange to skip
* over them (arbitrarily choosing to skip PAGE_SIZE bytes).
* note that because of this the "size" can be less than the
* actual number of blocks on the device.
*/
if (vp->v_type == VBLK) {
/* we use pages 1 to (size - 1) [inclusive] */
size = npages - 1;
addr = 1;
} else {
/* we use pages 0 to (size - 1) [inclusive] */
size = npages;
addr = 0;
if that's failing some how, we should fix that problem.
i'm OK with better support for linux swap, but it shouldn't need to
create a random wedge to do this. it should be just workable easily.
.mrg.
Home |
Main Index |
Thread Index |
Old Index