>>>>> "Jack" == Jack Wang <jack_wang@xxxxxxxxx> writes: Jack> I notice in sd.c, we call sd_revalidate_disk twice in function Jack> sd_probe_async? Are there some special reasons? I'm traveling right now and don't have my scribbles. But my recollection is that it's due to a quirk in the way things are registered with the block layer. Some limits are hanging off of the request queue and some off of struct gendisk. For stacking purposes we need to set some queue defaults before we register the gendisk. And then we do a second revalidate pass to get everything in place after the gendisk has been set up. Alignment offsets, for instance, need to be updated after the partition table has been read. So, yes. It is intentional that revalidate is called both before and after add_disk(). If this causing you problems? And if so, why? Hi, Martin Thanks for explaination, I just curious about the duplicated call, No problems found. Jack -- Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html