Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37044547
en ru br
Репозитории ALT
S:4.04-alt19
D:3.61-alt1
5.1: 3.63-alt4
4.1: 3.36-alt2
4.0: 3.36-alt2
3.0: 2.11-alt1
www.altlinux.org/Changes

Группа :: Система/Ядро и оборудование
Пакет: syslinux

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: syslinux-4.04-geometry.diff
Скачать


From 73cd9bf26066cad0d4a483e31e1d89802a7ca1f9 Mon Sep 17 00:00:00 2001
From: Gene Cumm <gene.cumm@gmail.com>
Date: Wed, 11 May 2011 16:03:30 +0000
Subject: extlinux/main.c: Fix geometry handling
1) ioctl HDIO_GETGEO expects a pointer to a struct hd_geometry
2) struct stat's st_dev is the parent file used; st_rdev is what we want
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Tested-By: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
---
(limited to 'extlinux/main.c')
diff --git a/extlinux/main.c b/extlinux/main.c
index e5212a9..6aa6202 100755
--- a/extlinux/main.c
+++ b/extlinux/main.c
@@ -112,7 +112,7 @@ static int sysfs_get_offset(int devfd, unsigned long *start)
 
     if ((size_t)snprintf(sysfs_name, sizeof sysfs_name,
 			 "/sys/dev/block/%u:%u/start",
-			 major(st.st_dev), minor(st.st_dev))
+			 major(st.st_rdev), minor(st.st_rdev))
 	>= sizeof sysfs_name)
 	return -1;
 
@@ -153,7 +153,7 @@ int get_geometry(int devfd, uint64_t totalbytes, struct hd_geometry *geo)
 
     memset(geo, 0, sizeof *geo);
 
-    if (!ioctl(devfd, HDIO_GETGEO, &geo)) {
+    if (!ioctl(devfd, HDIO_GETGEO, geo)) {
 	goto ok;
     } else if (!ioctl(devfd, FDGETPRM, &fd_str)) {
 	geo->heads = fd_str.head;
--
cgit v0.9.2
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin