mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Alexander Aring <alex.aring@gmail.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 3/4] environment: Add function to load envfs from buffer
Date: Thu, 20 Feb 2014 16:16:05 +0100	[thread overview]
Message-ID: <20140220151601.GA1171@x61s.Speedport_W_921V_1_24_000> (raw)
In-Reply-To: <1392904169-786-3-git-send-email-s.hauer@pengutronix.de>

Hi Sascha,

some little (maybe interesting) note, but all patches in this series
looks fine for me. :-)

On Thu, Feb 20, 2014 at 02:49:28PM +0100, Sascha Hauer wrote:
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>  common/environment.c | 181 +++++++++++++++++++++++++++++++++------------------
>  include/envfs.h      |   1 +
>  2 files changed, 117 insertions(+), 65 deletions(-)
> 
> diff --git a/common/environment.c b/common/environment.c
> index 695baf7..19fb027 100644
> --- a/common/environment.c
> +++ b/common/environment.c
> @@ -218,78 +218,52 @@ out1:
>  }
>  EXPORT_SYMBOL(envfs_save);
>  
> -/**
> - * Restore the last environment into the current one
> - * @param[in] filename from where to restore
> - * @param[in] dir where to store the last content
> - * @return 0 on success, anything else in case of failure
> - *
> - * Note: This function will also be used on the host! See note in the header
> - * of this file.
> - */
> -int envfs_load(const char *filename, const char *dir, unsigned flags)
> +static int envfs_check_super(struct envfs_super *super, size_t *size)
>  {
> -	struct envfs_super super;
> -	void *buf = NULL, *buf_free = NULL;
> -	int envfd;
> -	int fd, ret = 0;
> -	char *str, *tmp;
> -	int headerlen_full;
> -	unsigned long size;
> -	/* for envfs < 1.0 */
> -	struct envfs_inode_end inode_end_dummy;
> -
> -	inode_end_dummy.mode = ENVFS_32(S_IRWXU | S_IRWXG | S_IRWXO);
> -	inode_end_dummy.magic = ENVFS_32(ENVFS_INODE_END_MAGIC);
> -
> -	envfd = open(filename, O_RDONLY);
> -	if (envfd < 0) {
> -		printf("Open %s %s\n", filename, errno_str());
> -		return -1;
> +	if (ENVFS_32(super->magic) != ENVFS_MAGIC) {
> +		printf("envfs: wrong magic\n");
> +		return -EIO;

In this case only on big endians machines:
if (super->magic != ENVFS_32(ENVFS_MAGIC))

is faster than:
if (ENVFS_32(super->magic) != ENVFS_MAGIC)

It's save (I suppose) ca. 4 instruktions... so it doesn't matter
to change it.

Regards
Alex

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2014-02-20 15:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-20 13:49 [PATCH 1/4] filetype: Add detection for barebox environment Sascha Hauer
2014-02-20 13:49 ` [PATCH 2/4] environment: constify arguments Sascha Hauer
2014-02-20 13:49 ` [PATCH 3/4] environment: Add function to load envfs from buffer Sascha Hauer
2014-02-20 15:16   ` Alexander Aring [this message]
2014-02-22 18:28     ` Sascha Hauer
2014-02-22 19:40       ` Alexander Aring
2014-02-20 13:49 ` [PATCH 4/4] defaultenv: Align defaultenv array Sascha Hauer

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=20140220151601.GA1171@x61s.Speedport_W_921V_1_24_000 \
    --to=alex.aring@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=s.hauer@pengutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox