On 10/11/2013 06:58 PM, Seth Call wrote:
Without having looked at the code, the 'saveconfig' command sure looks like it's not concurrency-safe. One thing that drove me absolutely crazy about itadm/stmfadm on Illumos was that it's not concurrency-safe. Commands would fail mysteriously once you did that, and had to resort to a reboot. It's very hard to readily build a program that shares the same CLI that administrators use, if it can't be used concurrently. Basically, the administrator can't know whether when he tries to run a command, if the program is doing the command at the same time. You would have to build some lock around targetcli to protect it. And you can't know that other tools don't use targetcli periodically.
Thanks, this is very helpful feedback from both of you. We should definitely think about improving this. rtslib is probably the place to enforce mutual exclusion, or at least establish a convention that as-yet-unwritten libraries in other languages could also adopt.
Regards -- Andy -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html