Description of problem: There is a bug in the md driver. find_first_set_bit doesn't find the least-significant bit on bigendian machines, so it is really wrong to use it. ffs is closer, but takes an 'int' and we have a 'unsigned long'. So use ffz(~X) to convert a chunksize into a chunkshift. Version-Release number of selected component (if applicable): kernel 2.6.17-1.2519.4.21.el5 Patch attached (patch is now in mainline).
Created attachment 138158 [details] patch
patch posted 12/04/07.
in 2.6.18-64.el5 You can download this test kernel from http://people.redhat.com/dzickus/el5
Confirmed the fix is in the -87.el5 kernel.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2008-0314.html