diff options
Diffstat (limited to 'daemons/clvmd/clvmd-command.c')
-rw-r--r-- | daemons/clvmd/clvmd-command.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/daemons/clvmd/clvmd-command.c b/daemons/clvmd/clvmd-command.c index dffff216..2266a2be 100644 --- a/daemons/clvmd/clvmd-command.c +++ b/daemons/clvmd/clvmd-command.c @@ -90,6 +90,7 @@ int do_command(struct local_client *client, struct clvm_header *msg, int msglen, int arglen = msglen - sizeof(struct clvm_header) - strlen(msg->node); int status = 0; char *lockname; + const char *locktype; struct utsname nodeinfo; unsigned char lock_cmd; unsigned char lock_flags; @@ -144,6 +145,14 @@ int do_command(struct local_client *client, struct clvm_header *msg, int msglen, } break; + case CLVMD_CMD_LOCK_QUERY: + lockname = &args[2]; + if (buflen < 3) + return EIO; + if ((locktype = do_lock_query(lockname))) + *retlen = 1 + snprintf(*buf, buflen, "%s", locktype); + break; + case CLVMD_CMD_REFRESH: do_refresh_cache(); break; @@ -278,6 +287,7 @@ int do_pre_command(struct local_client *client) case CLVMD_CMD_GET_CLUSTERNAME: case CLVMD_CMD_SET_DEBUG: case CLVMD_CMD_VG_BACKUP: + case CLVMD_CMD_LOCK_QUERY: break; default: @@ -308,6 +318,7 @@ int do_post_command(struct local_client *client) case CLVMD_CMD_LOCK_VG: case CLVMD_CMD_VG_BACKUP: + case CLVMD_CMD_LOCK_QUERY: /* Nothing to do here */ break; |