diff options
author | Karel Zak | 2010-11-29 10:26:18 +0100 |
---|---|---|
committer | Karel Zak | 2010-11-30 10:12:00 +0100 |
commit | 5a16af58c5b3625e6e5a1a487bdf5521cb9646c2 (patch) | |
tree | c03393f746de6b86e241da5c9479f9179cb8a063 | |
parent | fdisk: fix freespace boundaries calculation on SGI disklabel (diff) | |
download | kernel-qcow2-util-linux-5a16af58c5b3625e6e5a1a487bdf5521cb9646c2.tar.gz kernel-qcow2-util-linux-5a16af58c5b3625e6e5a1a487bdf5521cb9646c2.tar.xz kernel-qcow2-util-linux-5a16af58c5b3625e6e5a1a487bdf5521cb9646c2.zip |
libblkid: add LINHIB0001 signature to swap prober
The new swsuspend signature has been added by commit
3624eb04c24861ab296842414f9752a393e68372 to kernel 2.6.37-rc1.
Reported-by: "Dr. David Alan Gilbert" <linux@treblig.org>
Addresses: https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/682176
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | mount/swapon.c | 3 | ||||
-rw-r--r-- | shlibs/blkid/src/superblocks/swap.c | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/mount/swapon.c b/mount/swapon.c index d8fad0bfa..a2dd9dc26 100644 --- a/mount/swapon.c +++ b/mount/swapon.c @@ -298,7 +298,8 @@ swap_detect_signature(const char *buf, int *sig) else if (memcmp(buf, "S1SUSPEND", 9) == 0 || memcmp(buf, "S2SUSPEND", 9) == 0 || memcmp(buf, "ULSUSPEND", 9) == 0 || - memcmp(buf, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8) == 0) + memcmp(buf, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", 8) == 0 || + memcmp(buf, "LINHIB0001", 10) == 0) *sig = SIG_SWSUSPEND; else return 0; diff --git a/shlibs/blkid/src/superblocks/swap.c b/shlibs/blkid/src/superblocks/swap.c index e2b0db9f1..325a8fafa 100644 --- a/shlibs/blkid/src/superblocks/swap.c +++ b/shlibs/blkid/src/superblocks/swap.c @@ -102,6 +102,8 @@ static int probe_swsuspend(blkid_probe pr, const struct blkid_idmag *mag) return swap_set_info(pr, "ulsuspend"); if (!memcmp(mag->magic, TOI_MAGIC_STRING, mag->len)) return swap_set_info(pr, "tuxonice"); + if (!memcmp(mag->magic, "LINHIB0001", mag->len)) + return swap_set_info(pr, "linhib0001"); return -1; /* no signature detected */ } @@ -141,18 +143,28 @@ const struct blkid_idinfo swsuspend_idinfo = { "S1SUSPEND", 9, 0, 0xff6 }, { "S2SUSPEND", 9, 0, 0xff6 }, { "ULSUSPEND", 9, 0, 0xff6 }, + { "LINHIB0001",10,0, 0xff6 }, + { "S1SUSPEND", 9, 0, 0x1ff6 }, { "S2SUSPEND", 9, 0, 0x1ff6 }, { "ULSUSPEND", 9, 0, 0x1ff6 }, + { "LINHIB0001",10,0, 0x1ff6 }, + { "S1SUSPEND", 9, 0, 0x3ff6 }, { "S2SUSPEND", 9, 0, 0x3ff6 }, { "ULSUSPEND", 9, 0, 0x3ff6 }, + { "LINHIB0001",10,0, 0x3ff6 }, + { "S1SUSPEND", 9, 0, 0x7ff6 }, { "S2SUSPEND", 9, 0, 0x7ff6 }, { "ULSUSPEND", 9, 0, 0x7ff6 }, + { "LINHIB0001",10,0, 0x7ff6 }, + { "S1SUSPEND", 9, 0, 0xfff6 }, { "S2SUSPEND", 9, 0, 0xfff6 }, { "ULSUSPEND", 9, 0, 0xfff6 }, + { "LINHIB0001",10,0, 0xfff6 }, + { NULL } } }; |