From: Ian Campbell <ian.campbell@citrix.com>
To: Chunyan Liu <cyliu@suse.com>, xen-devel@lists.xen.org
Cc: george.dunlap@eu.citrix.com, wei.liu2@citrix.com,
jfehlig@suse.com, Ian.Jackson@eu.citrix.com, jgross@suse.com
Subject: Re: [PATCH V7 2/7] libxl_read_file_contents: add new entry to read sysfs file
Date: Fri, 2 Oct 2015 14:25:11 +0100 [thread overview]
Message-ID: <1443792311.11707.112.camel@citrix.com> (raw)
In-Reply-To: <1443147102-6471-3-git-send-email-cyliu@suse.com>
On Fri, 2015-09-25 at 10:11 +0800, Chunyan Liu wrote:
> Sysfs file has size=4096 but actual file content is less than that.
> Current libxl_read_file_contents will treat it as error when file size
> and actual file content differs, so reading sysfs file content with
> this function always fails.
>
> Add a new entry libxl_read_sysfs_file_contents to handle sysfs file
> specially. It would be used in later pvusb work.
>
> Signed-off-by: Chunyan Liu <cyliu@suse.com>
> Reviewed-by: Wei Liu <wei.liu2@citrix.com>
I'm afraid I have one issue with this patch, sorry.
> @@ -4015,6 +4015,8 @@ void libxl__bitmap_copy_best_effort(libxl__gc *gc, libxl_bitmap *dptr,
>
> int libxl__count_physical_sockets(libxl__gc *gc, int *sockets);
> #endif
> +_hidden int libxl_read_sysfs_file_contents(libxl_ctx *ctx, const char *filename,
> + void **data_r, int *datalen_r);
As an internal function this should be called libxl__foo (double
underscore) and take a libxl__gc *gc not libxl_ctx *ctx.
This will require some other subtle adjustments which I'll outline below.
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
> index bfc9699..72f8f4f 100644
> --- a/tools/libxl/libxl_utils.c
> +++ b/tools/libxl/libxl_utils.c
> @@ -322,8 +322,10 @@ out:
> return rc;
> }
>
> -int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
> - void **data_r, int *datalen_r) {
> +static int libxl_read_file_contents_core(libxl_ctx *ctx, const char *filename,
Being static this can now get a shorter name. Perhaps just
read_file_contents_core (or even drop the _core). It should also take a gc
instead of a ctx, since it will be used by both internal and external
facing wrappers.
> + void **data_r, int *datalen_r,
> + bool tolerate_shrinking_file)
> +{
> GC_INIT(ctx);
Having changed the function to take a gc you will instead want to do this
GC_INIT(ctx) in the libxl_read_file_contents public interface wrapper,
which will then give you the gc to pass here.
You will likewise need to do the GC_FREE in that wrapper too instead of
here.
@@ -396,6 +413,19 @@ int libxl_read_file_contents(libxl_ctx *ctx, const
> char *filename,
> return e;
> }
>
> +int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
> + void **data_r, int *datalen_r)
> +{
> + return libxl_read_file_contents_core(ctx, filename, data_r,
> datalen_r, 0);
As above this will need the GC_INIT and GC_FREE stuff doing here.
libxl_cpupool_info() looks like a good template to follow.
> +}
> +
> +int libxl_read_sysfs_file_contents(libxl_ctx *ctx, const char *filename,
> + void **data_r, int *datalen_r)
> +{
> + return libxl_read_file_contents_core(ctx, filename, data_r,
> datalen_r, 1);
While this should take a gc and can just pass it on.
Ian.
next prev parent reply other threads:[~2015-10-02 13:25 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-25 2:11 [PATCH V7 0/7] xen pvusb toolstack work Chunyan Liu
2015-09-25 2:11 ` [PATCH V7 1/7] libxl: export some functions for pvusb use Chunyan Liu
2015-09-25 2:11 ` [PATCH V7 2/7] libxl_read_file_contents: add new entry to read sysfs file Chunyan Liu
2015-09-30 11:22 ` George Dunlap
2015-10-02 13:25 ` Ian Campbell [this message]
2015-09-25 2:11 ` [PATCH V7 3/7] libxl: add pvusb API Chunyan Liu
2015-09-30 17:55 ` George Dunlap
2015-10-02 13:31 ` Ian Campbell
2015-10-09 8:12 ` Chun Yan Liu
2015-10-12 7:19 ` Chun Yan Liu
2015-10-12 13:46 ` George Dunlap
2015-10-13 1:46 ` Chun Yan Liu
2015-10-13 13:15 ` George Dunlap
2015-10-13 13:19 ` George Dunlap
2015-10-13 13:30 ` Ian Campbell
2015-10-14 2:29 ` Chun Yan Liu
2015-10-08 14:41 ` Ian Jackson
2015-10-08 14:54 ` Ian Campbell
2015-10-08 15:16 ` Ian Jackson
2015-10-12 7:00 ` Chun Yan Liu
2015-09-25 2:11 ` [PATCH V7 4/7] libxl: add libxl_device_usb_assignable_list API Chunyan Liu
2015-10-01 11:32 ` George Dunlap
2015-09-25 2:11 ` [PATCH V7 5/7] xl: add pvusb commands Chunyan Liu
2015-10-01 17:02 ` George Dunlap
2015-10-02 13:35 ` Ian Campbell
2015-10-02 15:17 ` George Dunlap
2015-10-02 15:29 ` Ian Campbell
2015-10-09 7:15 ` Chun Yan Liu
2015-09-25 2:11 ` [PATCH V7 6/7] xl: add usb-assignable-list command Chunyan Liu
2015-10-06 16:55 ` George Dunlap
2015-10-07 8:40 ` Ian Campbell
2015-10-07 9:55 ` Juergen Gross
2015-10-07 10:08 ` Ian Campbell
2015-10-07 10:10 ` George Dunlap
2015-10-07 10:15 ` George Dunlap
2015-10-07 10:35 ` Christiane Groß
2015-10-07 11:09 ` Ian Campbell
2015-10-07 11:20 ` George Dunlap
2015-10-07 11:25 ` Juergen Gross
2015-10-07 11:32 ` George Dunlap
2015-10-07 11:37 ` Ian Campbell
2015-10-07 11:39 ` Juergen Gross
2015-10-07 11:43 ` Ian Campbell
2015-10-07 11:39 ` Ian Campbell
2015-10-07 11:49 ` Juergen Gross
2015-10-07 11:55 ` Ian Campbell
2015-10-07 12:05 ` Juergen Gross
2015-10-07 12:51 ` Ian Campbell
2015-10-07 13:21 ` George Dunlap
2015-10-07 13:54 ` Juergen Gross
2015-10-07 14:05 ` Ian Campbell
2015-10-07 14:26 ` Juergen Gross
2015-10-07 14:35 ` George Dunlap
2015-10-07 14:47 ` Juergen Gross
2015-10-07 15:03 ` George Dunlap
2015-10-07 15:13 ` Juergen Gross
2015-10-07 14:10 ` George Dunlap
2015-09-25 2:11 ` [PATCH V7 7/7] domcreate: support pvusb in configuration file Chunyan Liu
2015-10-07 15:06 ` George Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1443792311.11707.112.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=cyliu@suse.com \
--cc=george.dunlap@eu.citrix.com \
--cc=jfehlig@suse.com \
--cc=jgross@suse.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.