From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] sandbox: restore ability to access host fs through standard commands
Date: Wed, 11 Jun 2014 09:45:01 -0600 [thread overview]
Message-ID: <5398797D.2050508@wwwdotorg.org> (raw)
In-Reply-To: <5397CD37.2050607@atmel.com>
On 06/10/2014 09:29 PM, Josh Wu wrote:
> On 6/11/2014 6:43 AM, Stephen Warren wrote:
>> Commit 95fac6ab4589 "sandbox: Use os functions to read host device tree"
>> removed the ability for get_device_and_partition() to handle the "host"
>> device type, and redirect accesses to it to the host filesystem. This
>> broke some unit tests that use this feature. So, revert that change. The
>> code added back by this patch is slightly different to pacify checkpatch.
>>
>> However, we're then left with "host" being both:
>> - A pseudo device that accesses the hosts real filesystem.
>> - An emulated block device, which accesses "sectors" inside a file stored
>> on the host.
>>
>> In order to resolve this discrepancy, rename the pseudo device from host
>> to hostfs, and adjust the unit-tests for this change.
>> diff --git a/disk/part.c b/disk/part.c
>> + /*
>> + * Special-case a psuedo block device "hostfs", to allow access
>> to the
>> + * host's own filesystem.
>> + */
>
> Do we need to change the sb ls help message from 'host' to 'hostfs' as
> well?
Yes.
>> + if (0 == strcmp(ifname, "hostfs")) {
>> + *dev_desc = NULL;
>> + info->start = = 0;
>
> a typo. one additional '='.
Indeed. I guess I forgot to recompile after fixing checkpatch:-/
>> diff --git a/test/command_ut.c b/test/command_ut.c
>> @@ -165,12 +165,12 @@ static int do_ut_cmd(cmd_tbl_t *cmdtp, int flag,
>> int argc, char * const argv[])
>> #ifdef CONFIG_SANDBOX
>> /* File existence */
>> - HUSH_TEST(e, "-e host -
>> creating_this_file_breaks_uboot_unit_test", n);
>> - run_command("sb save host -
>> creating_this_file_breaks_uboot_unit_test 0 1", 0);
>> - HUSH_TEST(e, "-e host -
>> creating_this_file_breaks_uboot_unit_test", y);
>> + HUSH_TEST(e, "-e hostfs -
>> creating_this_file_breaks_uboot_unit_test", n);
>
> There still has a odd behavior:
> at first, when we run 'sb load host 0 200000 /home/env.sh', it will show
> '** Bad device host 0 **'
> but after use 'sb bind 0 test.img', then above command can work well.
"sb load" works fine for me on *hostfs*:
=> sb ls hostfs - /boot
...
176764 memtest86+.bin
...
=> sb load hostfs - 0 /boot/memtest86+.bin
176764 bytes read in 29 ms (5.8 MiB/s)
I'm not sure if "sb load" on "host" is expected to work; "host" is an
emulated block device that works just like any other block device, i.e.
without using the "sb" comamnd, so I'd expect it to be used with plain
old ls/fatls/extls, load/fatload/ext2load/, ...
> IMHO, we need use 'host' and 'hostfs' for different usage. suck like:
> 'host' interface means host block device that we use 'sb bind'.
> 'hostfs' interface means host file system
That's what this patch should provide.
prev parent reply other threads:[~2014-06-11 15:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-10 22:43 [U-Boot] [PATCH] sandbox: restore ability to access host fs through standard commands Stephen Warren
2014-06-11 3:29 ` Josh Wu
2014-06-11 15:45 ` Stephen Warren [this message]
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=5398797D.2050508@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.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