Issues with dmraid-1.0.0.rc10.

ramesh caushik ramesh.caushik at intel.com
Wed Mar 15 19:35:00 UTC 2006


Heinz,
    Tried running dmraid rc10 against the raid45 kernel module on 2.6.15 
kernel and noticed a couple of problems,  the table passed in  appears 
to have an additional parameter (looks to be caused by a typo) and  
another problem  where  the  raid45  module expects  the #sectors  to be 
divisible by #raid_devs -1 . I was using isw raid device in this case. 
Patches attached. Thanks,
Ramesh.

diff -c lib/activate/activate.c ../../../1.0.0.rc10/lib/activate/activate.c
*** lib/activate/activate.c     2006-02-17 11:09:31.000000000 -0800
--- ../../../1.0.0.rc10/lib/activate/activate.c 2006-03-15 
17:18:41.000000000 -0800
***************
*** 411,417 ****
                         struct raid_set *rs,
                         uint64_t sectors, unsigned int members)
  {
!       return (p_fmt(lc, table, "0 %U %s core 2 %u %s %s %u %u %u %u %u",
                      sectors, get_dm_type(lc, t_raid5),
                      2048, /*calc_region_size(lc, sectors),*/
                      (S_INCONSISTENT(rs->status) || S_NOSYNC(rs->status)) ?
--- 411,417 ----
                         struct raid_set *rs,
                         uint64_t sectors, unsigned int members)
  {
!       return (p_fmt(lc, table, "0 %U %s core 2 %u %s %s %u %u %u %u ",
                      sectors, get_dm_type(lc, t_raid5),
                      2048, /*calc_region_size(lc, sectors),*/
                      (S_INCONSISTENT(rs->status) || S_NOSYNC(rs->status)) ?
***************
*** 428,434 ****

        if (!(sectors = _smallest(lc, rs, 0)))
                LOG_ERR(lc, 0, "can't find smallest RAID5 member!");
!
        if (!_dm_raid45_bol(lc, table, rs, sectors, members))
                goto err;

--- 428,435 ----

        if (!(sectors = _smallest(lc, rs, 0)))
                LOG_ERR(lc, 0, "can't find smallest RAID5 member!");
!       sectors &= (uint64_t)(-1) -1;
!
        if (!_dm_raid45_bol(lc, table, rs, sectors, members))
                goto err;





More information about the Ataraid-list mailing list