[dm-devel] Re: fragmented i/o with 2.6.31?

Martin K. Petersen martin.petersen at oracle.com
Fri Sep 18 06:00:27 UTC 2009


>>>>> "Mike" == Mike Snitzer <snitzer at redhat.com> writes:

>> >  	blk_set_default_limits(limits);
>> > + limits->max_sectors = 0;
>> > + limits->max_hw_sectors = 0;
>> 
Mike> Seems like we may want some common variant in block even though
Mike> I'm not aware of other block drivers that would benefit...

Mike> But I'll defer to Martin and/or Jens on whether these helpers are
Mike> fine to stay in dm-table.c or should be worked into blk-settings.c

In the pre-topology days we set max_sectors to SAFE_MAX_SECTORS upon
creation of a queue.  This is an old ATA-ism that's been around for a
ages.

Ideally we'd simply nuke it and drivers that really needed to lower the
bar would explicitly call blk_queue_max_sectors().  However, I'm afraid
to change the default because I'm sure there are legacy drivers lurking
somewhere that depend on it.

Seeing as blk_set_default_limits() is mostly aimed at stacking drivers I
think I'd prefer moving SAFE_MAX_SECTORS back to blk_queue_make_request
and then set max_sectors and max_hw_sectors to 0 in default_limits.

Would that work for you guys?

-- 
Martin K. Petersen	Oracle Linux Engineering




More information about the dm-devel mailing list