Re: [PATCH 6/9] votequorum: display flags for all features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: Steven Dake <sdake@xxxxxxxxxx>

On 01/12/2012 04:49 AM, Fabio M. Di Nitto wrote:
> From: "Fabio M. Di Nitto" <fdinitto@xxxxxxxxxx>
> 
> Signed-off-by: Fabio M. Di Nitto <fdinitto@xxxxxxxxxx>
> ---
> :100644 100644 26ebced... e17aeb6... M	include/corosync/ipc_votequorum.h
> :100644 100644 b52cad0... 8e1cb84... M	include/corosync/votequorum.h
> :100644 100644 e6fce8b... 213e8a0... M	man/votequorum_getinfo.3
> :100644 100644 62dca5b... 550cde5... M	services/votequorum.c
> :100644 100644 61c35e3... cb0f929... M	test/testvotequorum1.c
> :100644 100644 c6ef137... f0ee165... M	tools/corosync-quorumtool.c
>  include/corosync/ipc_votequorum.h |    7 +++++--
>  include/corosync/votequorum.h     |    7 +++++--
>  man/votequorum_getinfo.3          |    8 +++++---
>  services/votequorum.c             |    9 +++++++++
>  test/testvotequorum1.c            |    7 +++++++
>  tools/corosync-quorumtool.c       |    3 +++
>  6 files changed, 34 insertions(+), 7 deletions(-)
> 
> diff --git a/include/corosync/ipc_votequorum.h b/include/corosync/ipc_votequorum.h
> index 26ebced..e17aeb6 100644
> --- a/include/corosync/ipc_votequorum.h
> +++ b/include/corosync/ipc_votequorum.h
> @@ -102,8 +102,11 @@ struct res_lib_votequorum_status {
>  	struct qb_ipc_response_header header __attribute__((aligned(8)));
>  };
>  
> -#define VOTEQUORUM_INFO_FLAG_TWONODE    1
> -#define VOTEQUORUM_INFO_FLAG_QUORATE    2
> +#define VOTEQUORUM_INFO_FLAG_TWONODE	        1
> +#define VOTEQUORUM_INFO_FLAG_QUORATE	        2
> +#define VOTEQUORUM_INFO_WAIT_FOR_ALL	        4
> +#define VOTEQUORUM_INFO_LAST_MAN_STANDING       8
> +#define VOTEQUORUM_INFO_AUTO_TIE_BREAKER       16
>  
>  struct res_lib_votequorum_getinfo {
>  	struct qb_ipc_response_header header __attribute__((aligned(8)));
> diff --git a/include/corosync/votequorum.h b/include/corosync/votequorum.h
> index b52cad0..8e1cb84 100644
> --- a/include/corosync/votequorum.h
> +++ b/include/corosync/votequorum.h
> @@ -44,8 +44,11 @@ typedef uint64_t votequorum_handle_t;
>  
>  #define VOTEQUORUM_MAX_QDISK_NAME_LEN 255
>  
> -#define VOTEQUORUM_INFO_FLAG_TWONODE    1
> -#define VOTEQUORUM_INFO_FLAG_QUORATE    2
> +#define VOTEQUORUM_INFO_FLAG_TWONODE            1
> +#define VOTEQUORUM_INFO_FLAG_QUORATE            2
> +#define VOTEQUORUM_INFO_WAIT_FOR_ALL            4
> +#define VOTEQUORUM_INFO_LAST_MAN_STANDING       8
> +#define VOTEQUORUM_INFO_AUTO_TIE_BREAKER       16
>  
>  #define VOTEQUORUM_NODEID_US 0
>  #define VOTEQUORUM_NODEID_QDEVICE -1
> diff --git a/man/votequorum_getinfo.3 b/man/votequorum_getinfo.3
> index e6fce8b..213e8a0 100644
> --- a/man/votequorum_getinfo.3
> +++ b/man/votequorum_getinfo.3
> @@ -62,9 +62,11 @@ struct votequorum_info {
>  	unsigned int flags;
>  };
>  
> -#define VOTEQUORUM_INFO_FLAG_DIRTY      1
> -#define VOTEQUORUM_INFO_FLAG_TWONODE    2
> -#define VOTEQUORUM_INFO_FLAG_QUORATE    4
> +#define VOTEQUORUM_INFO_FLAG_TWONODE            1
> +#define VOTEQUORUM_INFO_FLAG_QUORATE            2
> +#define VOTEQUORUM_INFO_WAIT_FOR_ALL            4
> +#define VOTEQUORUM_INFO_LAST_MAN_STANDING       8
> +#define VOTEQUORUM_INFO_AUTO_TIE_BREAKER       16
>  
>  .ta
>  .fi
> diff --git a/services/votequorum.c b/services/votequorum.c
> index 62dca5b..550cde5 100644
> --- a/services/votequorum.c
> +++ b/services/votequorum.c
> @@ -1279,6 +1279,15 @@ static void message_handler_req_lib_votequorum_getinfo (void *conn, const void *
>  		if (cluster_is_quorate) {
>  			res_lib_votequorum_getinfo.flags |= VOTEQUORUM_INFO_FLAG_QUORATE;
>  		}
> +		if (wait_for_all) {
> +			res_lib_votequorum_getinfo.flags |= VOTEQUORUM_INFO_WAIT_FOR_ALL;
> +		}
> +		if (last_man_standing) {
> +			res_lib_votequorum_getinfo.flags |= VOTEQUORUM_INFO_LAST_MAN_STANDING;
> +		}
> +		if (auto_tie_breaker) {
> +			res_lib_votequorum_getinfo.flags |= VOTEQUORUM_INFO_AUTO_TIE_BREAKER;
> +		}
>  	} else {
>  		error = CS_ERR_NOT_EXIST;
>  	}
> diff --git a/test/testvotequorum1.c b/test/testvotequorum1.c
> index 61c35e3..cb0f929 100644
> --- a/test/testvotequorum1.c
> +++ b/test/testvotequorum1.c
> @@ -130,6 +130,10 @@ int main(int argc, char *argv[])
>  		printf("flags            ");
>  		if (info.flags & VOTEQUORUM_INFO_FLAG_TWONODE) printf("2Node ");
>  		if (info.flags & VOTEQUORUM_INFO_FLAG_QUORATE) printf("Quorate ");
> +		if (info.flags & VOTEQUORUM_INFO_WAIT_FOR_ALL) printf("WaitForAll ");
> +		if (info.flags & VOTEQUORUM_INFO_LAST_MAN_STANDING) printf("LastManStanding ");
> +		if (info.flags & VOTEQUORUM_INFO_AUTO_TIE_BREAKER) printf("AutoTieBreaker ");
> +
>  		printf("\n");
>  	}
>  
> @@ -155,6 +159,9 @@ int main(int argc, char *argv[])
>  			printf("flags            ");
>  			if (info.flags & VOTEQUORUM_INFO_FLAG_TWONODE) printf("2Node ");
>  			if (info.flags & VOTEQUORUM_INFO_FLAG_QUORATE) printf("Quorate ");
> +			if (info.flags & VOTEQUORUM_INFO_WAIT_FOR_ALL) printf("WaitForAll ");
> +			if (info.flags & VOTEQUORUM_INFO_LAST_MAN_STANDING) printf("LastManStanding ");
> +			if (info.flags & VOTEQUORUM_INFO_AUTO_TIE_BREAKER) printf("AutoTieBreaker ");
>  			printf("\n");
>  		}
>  	}
> diff --git a/tools/corosync-quorumtool.c b/tools/corosync-quorumtool.c
> index c6ef137..f0ee165 100644
> --- a/tools/corosync-quorumtool.c
> +++ b/tools/corosync-quorumtool.c
> @@ -320,6 +320,9 @@ static int display_quorum_data(int is_quorate, int loop)
>  		printf("Flags:            ");
>  		if (info.flags & VOTEQUORUM_INFO_FLAG_TWONODE) printf("2Node ");
>  		if (info.flags & VOTEQUORUM_INFO_FLAG_QUORATE) printf("Quorate ");
> +		if (info.flags & VOTEQUORUM_INFO_WAIT_FOR_ALL) printf("WaitForAll ");
> +		if (info.flags & VOTEQUORUM_INFO_LAST_MAN_STANDING) printf("LastManStanding ");
> +		if (info.flags & VOTEQUORUM_INFO_AUTO_TIE_BREAKER) printf("AutoTieBreaker ");
>  		printf("\n");
>  	} else {
>  		fprintf(stderr, "votequorum_getinfo FAILED: %d\n", err);

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux