Phillip Susi wrote: > On 12/22/2011 04:54 PM, Jim Meyering wrote: >> I'd really like to have a way to run two or more scsi_debug-using >> tests in parallel but that is not possible: the kernel allows only one. >> >> Note that for many of our scsi-debug-using tests, you cannot duplicate >> the functionality using a loop device. Besides, even where you can, > > I thought the only reason you needed scsi_debug was because loop > devices couldn't be partitioned.
No. > What other reason is there? If you take a look, I'll bet you can guess: (read about scsi_debug in the kernel docs for details, or for a quick answer, read my prior reply that you quoted, below) $ git grep -h scsi_debug_setup_ tests scsi_debug_setup_ sector_size=$ss dev_size_mb=90 > dev-name || scsi_debug_setup_ dev_size_mb=80 > dev-name || scsi_debug_setup_ dev_size_mb=1 > dev-name || scsi_debug_setup_ dev_size_mb=550 > dev-name || scsi_debug_setup_ dev_size_mb=10 > dev-name || scsi_debug_setup_ dev_size_mb=8 sector_size=4096 > dev-name || scsi_debug_setup_ physblk_exp=3 lowest_aligned=7 num_parts=4 > dev-name || scsi_debug_setup_ physblk_exp=3 lowest_aligned=7 sector_size=$ss > dev-name || scsi_debug_setup_ sector_size=$ss dev_size_mb=$n_MiB > dev-name || scsi_debug_setup_ sector_size=$ss dev_size_mb=$n_MiB > dev-name || >> because we don't use e.g., special alignment or block size, you risk >> being unable to create a loop device due to inherent limitations, or, >> if you create a few because their tests are running in parallel, you >> risk perturbing regular processes that (albeit rarely) need to create a >> loop device. That is part of the reason for my using a private-homed >> device tree: there I know I'm starting from a clean slate: i.e., far >> less risk of interfering with some other loop-creating process. > > I don't follow. How does using loop devices interfere with other > processes doing the same? And how does using your own /dev directory > help at all? Just because you have your own /dev directory doesn't > mean you have your own set of devices; any devices that actually exist > when you start still exist ( and are in use ) so you can't re-create a > private copy, and any devices you create still show up in the real > /dev. I guess the isolation was useful only for lvm-related things, not for loop-related.