Am Di, den 27.01.2004 schrieb Mike Christie um 20:36: > The queue's max_sectors, max_[phys/hw]_segments, max_segments_size etc > are device driver/HW limitations. blk_init_queue does not know an > optimal value for every device, but it might be able to set a safe > default value. Maybe a better name for MAX_SECTORS is DEFAULT_MAX_SECTORS. > > BIO_MAX_[SECTORS/SIZE/PAGES] is what you called a "system-wide limit". A > bio can only be so large (the bvec_pool is hardcoded). However when > merging the bio, q->max_sectors is one of the indicators that tell the > queue when a request is too large for the device. Ah, yes. I see now. BIO_MAX_SECTORS is something like 2048 (the real hard limit of the bio subsystem) on i386 while MAX_SECTORS is 255... just a random sane value. Thanks. So, why not removing set_default_limits and leaving the restriction values at zero and add a function that replaces allo remaining restrictions that are still zero with the default restrictions when the table polulation completed after all targets are added?