Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> writes: > Hi Neil, > > I think we have some bad side effects with this patch: > > commit 199dc6ed5179251fa6158a461499c24bdd99c836 > Author: NeilBrown <neilb@xxxxxxxx> > Date: Mon Aug 3 13:11:47 2015 +1000 > > md/raid0: update queue parameter in a safer location. > > When a (e.g.) RAID5 array is reshaped to RAID0, the updating > of queue parameters (e.g. max number of sectors per bio) is > done in the wrong place. > It should be part of ->run, but it is actually part of ->takeover. > This means it happens before level_store() calls: > > blk_set_stacking_limits(&mddev->queue->limits); > > Running the '03r0assem' test suite fills my kernel log with output like > below. Yi Zhang also had issues where writes failed too. > > robably something we need to resolve for 4.2-final or revert the > offending patch. > > Cheers, > Jes > > md: bind<loop0> > md: bind<loop1> > md: bind<loop2> > md/raid0:md2: md_size is 116736 sectors. > md: RAID0 configuration for md2 - 1 zone > md: zone0=[loop0/loop1/loop2] > zone-offset= 0KB, device-offset= 0KB, size= 58368KB > > md2: detected capacity change from 0 to 59768832 > bio too big device loop0 (296 > 255) > bio too big device loop0 (272 > 255) 1/ Why do you blame that particular patch? 2/ Where is that error message coming from? I cannot find "bio too big" in the kernel (except in a comment). Commit: 54efd50bfd87 ("block: make generic_make_request handle arbitrarily sized bios") removed the only instance of the error message that I know of. Which kernel exactly are you testing? Thanks, NeilBrown
Attachment:
signature.asc
Description: PGP signature