Hi Vojtech:
I know there's confusion around this issue, and as some testing at RH has shown, you can get away with using iscsiadm in parallel, as long as you're careful about what you do. For example, if each instance is trying to log into a different target, and there is no error handling occurring, testing seems to show this to be fine.
But I continue to recommend against doing this, because (as I've said before) there isn't sufficient locking in iscsiadm to allow completely parallel execution. [By the way, I'm willing to entertain patches that fix that.]
Yes, some of the code in iscsiadm is safe for parallel execution, such as talking the iscsid and accessing the node database. But much is not, such as error handling and sysfs access.
And there is very little reason to try to login into multiple targets using parallel calls to iscsiadm when iscsiadm now how the "no-wait" option, allowing it to send off login requests without waiting for success or timing out and failing.
Bottom line, I'd say using iscsiadm in parallel at your own risk. And if you do so and find issues, then we can try to address them. But the last thing I want for iscsiadm is one giant lock. And locking individual pieces of iscsiadm can lead to deadlock situations, if not sequenced correctly.
I hope that answers your questions.