Now that the g1ata mutex is recursive, lock in the command executer.
Add recursive locks to the gd command execution command. Now is thread-safe even if a user calls it manually.
Mutex lock within the gdc command execution wrapper. This allows for it to be called by users without concern for the mutex.