<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-04 15:41 GMT+08:00 Liu Yuan <span dir="ltr"><<a href="mailto:namei.unix@gmail.com" target="_blank">namei.unix@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tue, Apr 29, 2014 at 10:53:41AM +0800, Robin Dong wrote:<br>
> From: Robin Dong <<a href="mailto:sanbai@taobao.com">sanbai@taobao.com</a>><br>
><br>
> Add new configure option '--enable-diskvnodes' so we can<br>
> start sheep cluster by using disk as vnodes.<br>
><br>
> Signed-off-by: Robin Dong <<a href="mailto:sanbai@taobao.com">sanbai@taobao.com</a>><br>
> ---<br>
>  <a href="http://configure.ac" target="_blank">configure.ac</a>             | 10 ++++++++++<br>
>  include/internal_proto.h |  1 +<br>
>  sheep/config.c           |  9 ++++++++-<br>
>  sheep/sheep.c            |  6 ++++++<br>
>  4 files changed, 25 insertions(+), 1 deletion(-)<br>
><br>
> diff --git a/<a href="http://configure.ac" target="_blank">configure.ac</a> b/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
> index a3abb7b..7e6691f 100644<br>
> --- a/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
> +++ b/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
> @@ -255,6 +255,12 @@ AC_ARG_ENABLE([nfs],<br>
>       [ enable_nfs="no" ],)<br>
>  AM_CONDITIONAL(BUILD_NFS, test x$enable_nfs = xyes)<br>
><br>
> +AC_ARG_ENABLE([diskvnodes],<br>
> +     [ --enable-diskvnodes : enable disk as vnodes (default no) ],,<br>
> +     [ enable_diskvnodes="no" ],)<br>
> +AM_CONDITIONAL(BUILD_DISKVNODES, test x$enable_diskvnodes = xyes)<br>
> +<br>
> +<br>
>  CP=cp<br>
>  OS_LDL="-ldl"<br>
>  case "$host_os" in<br>
> @@ -367,6 +373,10 @@ if test "x${enable_nfs}" = xyes; then<br>
>       PACKAGE_FEATURES="$PACKAGE_FEATURES nfs"<br>
>  fi<br>
><br>
> +if test "x${enable_diskvnodes}" = xyes; then<br>
> +     AC_DEFINE_UNQUOTED(HAVE_DISKVNODES, 1, [have diskvnodes])<br>
> +fi<br>
> +<br>
>  # extra warnings<br>
>  EXTRA_WARNINGS=""<br>
><br>
> diff --git a/include/internal_proto.h b/include/internal_proto.h<br>
> index 0eb7227..7db3769 100644<br>
> --- a/include/internal_proto.h<br>
> +++ b/include/internal_proto.h<br>
> @@ -172,6 +172,7 @@ struct cluster_info {<br>
>       uint8_t nr_copies;<br>
>       uint8_t copy_policy;<br>
>       enum sd_status status : 8;<br>
> +     uint8_t disk_as_vnode;<br>
>       uint32_t __pad;<br>
<br>
</div></div>why not use 8 bytes in __pad?<br></blockquote><div><br></div><div>Because there is a hole after "enum sd_status status : 8", so add "uint8 disk_as_vnode" here will not change the size of struct cluster_info. </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Yuan<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>--<br>Best Regard<br>Robin Dong
</div></div>