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. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot