|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Added function prototypes to libxl_utils.h and function definitions to libxl_utils.c for the logical 'or'-ing and logical 'and'-ing of two bitmaps
Please edit the subject line to be more concise. Something like:
libxl: provide libxl_bitmap_{and,or}
On Thu, Apr 09, 2015 at 07:51:28PM -0600, Linda Jacobson wrote:
> Linda Jacobson
You need to properly sign off this patch. See
http://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
> ---
> tools/libxl/libxl_utils.c | 51
> +++++++++++++++++++++++++++++++++++++++++++++
> tools/libxl/libxl_utils.h | 6 ++++++
> tools/libxl/libxlu_disk_l.c | 8 ++-----
> tools/libxl/libxlu_disk_l.h | 6 +-----
The changes to libxlu_disk_* are not necessary. Presumably this is due
to you have different version of bison / flex installed.
I guess you used "git commit -a" to commit all the changes, right?
To avoid committing unrelated changes, you can use
$ git add libxl_utils.c
$ git add libxl_utils.h
$ git commit -s
to only commit changes to libxl_utils.{c,h}.
(the "-s" for git commit will nicely generate a Signed-off-by line for
you, provided you have configured your name and email properly in git)
> 4 files changed, 60 insertions(+), 11 deletions(-)
>
> diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> index 9053b27..5b1fab8 100644
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -691,6 +691,57 @@ void libxl_bitmap_reset(libxl_bitmap *bitmap, int bit)
> bitmap->map[bit / 8] &= ~(1 << (bit & 7));
> }
>
> +int libxl_bitmap_or(libxl_ctx *ctx, libxl_bitmap *or_map,
> + libxl_bitmap *map1, libxl_bitmap *map2)
> +{
> + uint32_t size;
> + int rc;
> + int bit;
> +
> + GC_INIT(ctx);
> +/* if bitmaps aren't the same size, or should be size of larger bit map
> +*/
The indentation of this comment needs to be fixed.
> + size = max(map1->size, map2->size);
> + rc = libxl_bitmap_alloc(ctx, or_map, size);
> + if (rc)
> + goto out;
Add a blank line here.
> + for (bit = 0; bit < (size * 8); bit++)
> + {
Please move the `{' to the end of last line.
> + if (libxl_bitmap_test(map1, bit))
> + libxl_bitmap_set(or_map, bit);
> + else if (libxl_bitmap_test(map2, bit))
> + libxl_bitmap_set(or_map, bit);
> + }
Add a blank line here.
> +out:
> + GC_FREE;
> + return rc;
> +}
> +
> +int libxl_bitmap_and(libxl_ctx *ctx, libxl_bitmap *and_map,
> + libxl_bitmap *map1, libxl_bitmap *map2)
> +{
> + uint32_t size;
> + int rc;
> + int bit;
> +
> + GC_INIT(ctx);
> +/* if bitmaps aren't same size, 'and' should be size of smaller bit map
> +*/
Fix indentation please.
> + size = min(map1->size, map2->size);
> + rc = libxl_bitmap_alloc(ctx, and_map, size);
> + if (rc)
> + goto out;
Add blank line.
> + for (bit = 0; bit < (size * 8); bit++)
> + {
Move `{' up.
> + if (libxl_bitmap_test (map1, bit) &&
> + libxl_bitmap_test (map2, bit) )
^
extraneous space
> + libxl_bitmap_set (and_map, bit);
> + }
Add a blank line.
> +out:
> + GC_FREE;
> + return rc;
> + }
> +
> int libxl_bitmap_count_set(const libxl_bitmap *bitmap)
> {
> int i, nr_set_bits = 0;
> diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
> index 68b5580..1ba2b44 100644
> --- a/tools/libxl/libxl_utils.h
> +++ b/tools/libxl/libxl_utils.h
> @@ -91,6 +91,12 @@ void libxl_bitmap_set(libxl_bitmap *bitmap, int bit);
> void libxl_bitmap_reset(libxl_bitmap *bitmap, int bit);
> int libxl_bitmap_count_set(const libxl_bitmap *bitmap);
> char *libxl_bitmap_to_hex_string(libxl_ctx *ctx, const libxl_bitmap *bitmap);
> +/* or, and and xor functions for two bitmaps
> + */
> +int libxl_bitmap_or(libxl_ctx *ctx, libxl_bitmap *new_bitmap,
or_bitmap
Use the same name you used in actual function.
> + libxl_bitmap *bitmap1, libxl_bitmap *bitmap2);
> +int libxl_bitmap_and(libxl_ctx *ctx, libxl_bitmap *new_bitmap,
and_bitmap
> + libxl_bitmap *bitmap1, libxl_bitmap *bitmap2);
> static inline void libxl_bitmap_set_any(libxl_bitmap *bitmap)
> {
> memset(bitmap->map, -1, bitmap->size);
The rest (changes to libxlu_disk_l.*) should not be committed.
Wei.
> diff --git a/tools/libxl/libxlu_disk_l.c b/tools/libxl/libxlu_disk_l.c
> index beea7f9..2c6e8e3 100644
> --- a/tools/libxl/libxlu_disk_l.c
> +++ b/tools/libxl/libxlu_disk_l.c
> @@ -1011,10 +1011,6 @@ int xlu__disk_yyget_lineno (yyscan_t yyscanner );
>
> void xlu__disk_yyset_lineno (int line_number ,yyscan_t yyscanner );
>
> -int xlu__disk_yyget_column (yyscan_t yyscanner );
> -
> -void xlu__disk_yyset_column (int column_no ,yyscan_t yyscanner );
> -
> /* Macros after this point can all be overridden by user definitions in
> * section 1.
> */
> @@ -1159,7 +1155,7 @@ YY_DECL
>
> /*----- the scanner rules which do the parsing -----*/
>
> -#line 1163 "libxlu_disk_l.c"
> +#line 1159 "libxlu_disk_l.c"
>
> if ( !yyg->yy_init )
> {
> @@ -1502,7 +1498,7 @@ YY_RULE_SETUP
> #line 259 "libxlu_disk_l.l"
> YY_FATAL_ERROR( "flex scanner jammed" );
> YY_BREAK
> -#line 1506 "libxlu_disk_l.c"
> +#line 1502 "libxlu_disk_l.c"
> case YY_STATE_EOF(INITIAL):
> case YY_STATE_EOF(LEXERR):
> yyterminate();
> diff --git a/tools/libxl/libxlu_disk_l.h b/tools/libxl/libxlu_disk_l.h
> index f615582..08f60e5 100644
> --- a/tools/libxl/libxlu_disk_l.h
> +++ b/tools/libxl/libxlu_disk_l.h
> @@ -280,10 +280,6 @@ int xlu__disk_yyget_lineno (yyscan_t yyscanner );
>
> void xlu__disk_yyset_lineno (int line_number ,yyscan_t yyscanner );
>
> -int xlu__disk_yyget_column (yyscan_t yyscanner );
> -
> -void xlu__disk_yyset_column (int column_no ,yyscan_t yyscanner );
> -
> /* Macros after this point can all be overridden by user definitions in
> * section 1.
> */
> @@ -350,6 +346,6 @@ extern int xlu__disk_yylex (yyscan_t yyscanner);
>
> #line 259 "libxlu_disk_l.l"
>
> -#line 354 "libxlu_disk_l.h"
> +#line 350 "libxlu_disk_l.h"
> #undef xlu__disk_yyIN_HEADER
> #endif /* xlu__disk_yyHEADER_H */
> --
> 1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |