On 03/21/2011 02:00 PM, Hilko Bengen wrote: > Please consider the following scenario consisting of two servers, "A" > and "B", with interfaces to a common Ethernet broadcast domain "x". "B" > additionally has an interface in a separate broadcast domain "y" that is > shared with other machines. "A" provides a target (shelf=0, slot=0) to > "B" over "x" while "B" provides a target (also shelf=0, slot=0) via "y".
ok, i do see how this might cause a problem. > You might argue that the scenario I am describing isn't exactly good > practice and I might agree. But provided that the initiator and target > on "B" are configured to not use the same ethernet device, there are no > reasons imposed by the AoE protocol why this should not work. The same scenario without vblade-persist has a comparable race condition on "A" if machine "C" (attached to "y") provides a target (shelf=1, slot=1) and "B" (attached to "x") concurrently provides a target (shelf=1, slot=1). How does the kernel + udev decide what to treat as /dev/etherd/e1.1 in that case? I'm not convinced that removing vblade-persist's symlinks will fix the race condition for this "not exactly good practice" scenario. Is there a reasonable scenario (one that doesn't have its own race conditions already) that this symlink introduces problems for? > I think I see what you are trying to do there. However, the kernel-based > AoE initiator will also ask udev to create device nodes corresponding to > partitions on the device (e0.0p1), so creating the symlink for the wohle > device isn't even enough to create the consistent view. Ah, this is also a good point -- i hadn't realized that the kernel would do that, because it never occurred to me that anyone would want to use crufty old partition tables on their AoE devices. And i suppose using kpartx on the symlink wouldn't really be sufficient, since the supporting file might not itself actually be a block device, and i don't think kpartx works on non-block-special files. Do you have a suggestion for how we might solve the node-independent view of /dev/etherd/ that this symlink approach was originally trying to address? Should aoetools create them on its own? Thanks for the discussion, --dkg
signature.asc
Description: OpenPGP digital signature