]> err.no Git - util-linux/commitdiff
mkswap: default to V1 in any case
authorMatthias Koenig <mkoenig@suse.de>
Wed, 18 Jul 2007 14:15:45 +0000 (16:15 +0200)
committerKarel Zak <kzak@redhat.com>
Tue, 24 Jul 2007 12:59:32 +0000 (14:59 +0200)
mkswap(8) enforces to use v0 swap format when pagesize > 16kB.
(use case might be ppc64 with CONFIG_PPC_64K_PAGES).

As version 0 swap is not supported anymore by recent kernels, the
behaviour in this case is rather strange.

Here is a testcase:

for i in 4 8 16 32 64; do mkswap -p `expr $i \* 1024` ./swap.file; done
Setting up swapspace version 1, size = 4294963 kB

Using user-specified page size 8192, instead of the system values
4096/4096
Setting up swapspace version 1, size = 4294959 kB

Using user-specified page size 16384, instead of the system values
4096/4096
Setting up swapspace version 1, size = 4294950 kB

Using user-specified page size 32768, instead of the system values
4096/4096
Setting up swapspace version 0, size = 4294934 kB

Using user-specified page size 65536, instead of the system values
4096/4096
Setting up swapspace version 0, size = 4294901 kB

Signed-off-by: Matthias Koenig <mkoenig@suse.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
disk-utils/mkswap.8
disk-utils/mkswap.c

index 539d6489af758e8283786ce08b078f1ba0c306dc..f4661c24aa8ba717544b6dd5d3766ba38e09deef 100644 (file)
@@ -154,6 +154,8 @@ preferable, in case you have a boot loader or disk label there.
 If you need to use both 2.0 and 2.2 kernels, use the \-v0 option
 when creating the swapspace.
 
+Version 0 (-v0) swap space format is no longer supported in 2.5+ kernels.
+
 .SH "SEE ALSO"
 .BR fdisk (8),
 .BR swapon (8)
index 8cafd8f67b36f8bca93b86ec844a6460c097bf88..fdd3e0d7a9f013b37031ed57f7db637953811c64 100644 (file)
@@ -617,9 +617,7 @@ main(int argc, char ** argv) {
                        version = 1;
                else
                /* use version 1 as default, if possible */
-               if (PAGES <= V0_MAX_PAGES && PAGES > V1_MAX_PAGES)
-                       version = 0;
-               else if (linux_version_code() < MAKE_VERSION(2,1,117))
+               if (linux_version_code() < MAKE_VERSION(2,1,117))
                        version = 0;
                else if (pagesize < 2048)
                        version = 0;