tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: raid of queue length 0



On Mon, 21 Feb 2011 13:02:05 +0900 (JST)
enami tsugutomo <tsugutomo.enami%jp.sony.com@localhost> wrote:

> Hi, all.
> 
> It is possible to create raid of queue(fifo) length 0 (see the raidctl
> -G output below), and looks as if it works, but reconstruction stalls
> once it is interfered by normal I/O.
> 
> Does such configuration make sense?  Otherwise raidctl(8) shouldn't
> allow it.

It doesn't make sense.  Configuration should fail for a queue length of
0.  Best place to fix this is probably in rf_driver.c right after the
line:

         raidPtr->maxOutstanding = cfgPtr->maxOutstandingDiskReqs;

In there, something like:

  if (raidPtr->maxOutstanding <= 0) {
        DO_RAID_FAIL();
        return 1;
  }

will probably do the trick.  (return code probably needs to be changed,
and perhaps some sort of warning should be printed, but that's the
general idea...)

Later...

Greg Oster

> # raidctl -G raid1      
> # raidctl config file for /dev/rraid1d
> 
> START array
> # numRow numCol numSpare
> 1 2 0
> 
> START disks
> /dev/vnd0a
> /dev/vnd1a
> 
> START layout
> # sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level_1
> 128 1 1 1
> 
> START queue
> fifo 0


Home | Main Index | Thread Index | Old Index