[prev in list] [next in list] [prev in thread] [next in thread] 

List:       evms-devel
Subject:    Re: [Evms-devel] evms-1.9.2 doesn't discover cpqarray disks
From:       Kevin Corry <corryk () us ! ibm ! com>
Date:       2003-04-09 21:13:39
[Download RAW message or body]

On Wednesday 09 April 2003 15:38, Jeremy Jackson wrote:
> More info: strace of evms_activate reveals:
>
> mknod("/dev/evms/.nodes/idaa", S_IFBLK|0664, makedev(72, 0)) = 0
> open("/dev/evms/.nodes/idaa", O_RDWR|O_SYNC|O_DIRECT) = 9
> ioctl(9, 0x80041272, 0xbffff5b8)        = 0
> ioctl(9, 0x301, 0xbffff410)             = 0
> ioctl(9, BLKSSZGET, 0xbffff40c)         = -1 EINVAL (Invalid argument)
> t
>
> I'll take a look at the ida driver now...
>
> linux-2.4.19/drivers/block/cpqarray.c:ida_ioctl() - doesn't implement
> that IOCTL.
>
> What's it do, and can EVMS live with out it?

That ioctl gets the device's hard-sector-size, which is a fairly important 
number, at least on some systems. Try this patch, which uses a default value 
for hard-sector-size if that ioctl returns an error. You can simply rebuild 
the plugins/disk/ directory if you wish (instead of the whole engine).

-- 
Kevin Corry
corryk@us.ibm.com
http://evms.sourceforge.net/



If the disk driver doesn't support the BLKSSZGET ioctl, simply use a
default value, and hope it doesn't matter. :)

Apply with:
cd /usr/src/evms-2.0.0
patch -p0 < localdskmgr.c.patch
cd plugins/disk/
make install

--- plugins/disk/localdskmgr.c	2003-04-09 16:07:40.000000000 -0500
+++ plugins/disk/localdskmgr.c	2003-04-09 16:08:22.000000000 -0500
@@ -581,8 +581,8 @@
 		rc = EngFncs->ioctl_object(&working_object, dev_handle,
 					   BLKSSZGET, &hardsector_size);
 		if (rc) {
-			LOG_DEBUG("Error getting hardsector size, cannot create disk object.\n");
-			goto out;
+			LOG_DEBUG("Error getting hardsector size. Using default value.\n");
+			hardsector_size = EVMS_VSECTOR_SIZE;
 		}
 
 #if 0



-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Evms-devel mailing list
Evms-devel@lists.sourceforge.net
To subscribe/unsubscribe, please visit:
https://lists.sourceforge.net/lists/listinfo/evms-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic