Hello, some followup on this issue:

Le jeudi 2 juillet 2009 à 14:24, Brice Figureau a écrit :
> Of course, the issue is not really in the commit but in the
> ligmegalib.so library.
> I've straced the dataeng service, and found that it tries to locate the
> device by using /proc/devices.
>
> Before the aforementioned patch, since the kernel attributed a major to
> the char device, it appeared in /proc/devices:
> Character devices:
> ...
> 252 megadev
>
> But with this patch, it doesn't anymore, since there is no major
> allocated.
> So libmegalib.so thinks the device is not there, even though a
> correct /dev/megadev0 is created by udev.
>
> The real question is how to fix OMSA?
>
> If there are any Dell engineer/developper reading this, please please
> fix your megalib code (in fact I even think this is code coming from
> LSI).
>
> Meanwhile, I think we can fix this issue, by either reverting this patch
> (it should revert cleanly on debian kernels). Or maybe it'd be possible
> to use LD_LIBRARY_PRELOAD to load a read interceptor that could
> rewrite /proc/devices on the fly...

It seems that OMSA (or another dell tool) recreate the file /dev/megadev0 
with what he thinks is the correct malor/minor (252/0). This of course 
won't work as major 252 is now used by usbmon.
The module megaraid_mm now uses the miscdevice.h register function to have 
an auto-allocated minor number, while the major is 10 (for misc devices).
The auto-generator minor can be found in /proc/misc, so we can recreate the 
device node with mknod and the correct major (10) and minor 
(from /proc/misc) numbers.

Once that is done, omreport still won't see the device (tried OMSA 5.5 and 
6.0), but other tools will be able to access it.
For example you can try
http://sourceforge.net/projects/megactl/
which can report device health.
dellmgr (cf http://linux.dell.com/storage.shtml) seems to work also, but you 
MUST first remove from its startup script the lines that 
recreate /dev/megadev0, same goes for megamon (which also try to 
create /dev/megadev0 in itd init script), but I didn't try it.

I hope this helps

-- 
Renaud MICHEL
defimedia S.A.

_______________________________________________
Linux-PowerEdge mailing list
[email protected]
https://lists.us.dell.com/mailman/listinfo/linux-poweredge
Please read the FAQ at http://lists.us.dell.com/faq

Reply via email to