lkml.org 
[lkml]   [2008]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: PROBLEM: ioctl (HDIO_GETGEO) on partition
Mark Lord wrote:
> Sarangi_Santosh@emc.com wrote:
..
>> if ((sts = ioctl(fd, HDIO_GETGEO, &hd_geometry_rec)) < 0) ------->
>> ioctl((HDIO_GETGEO) is failing for device partition (/dev/emcpowerg1)
>> {
>> close(fd);
>> return OS_SYSTEM_CALL_FAILED;
>> }
..

And while we're at it, that code above REALLY wants
a perror(p_ppdevname) call just before the close(fd) line.
That way, when it fails, you'll find out *why* it fails,
making bugs like this much easier to figure out.

..
> The code should try HDIO_GETGEO_BIG before falling back to HDIO_GETGEO.
> But neither will work for LARGE drives (>= 2TB) on 32-bit systems,
> so the code really should try sysfs for this info before using the ioctls.
>
> Sample code to do this correctly is in the geom.c file of recent hdparm
> source code packages from sourceforge.


\
 
 \ /
  Last update: 2008-11-01 14:45    [W:0.047 / U:0.316 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site