예제 #1
0
파일: cmd_zfs.c 프로젝트: JamesAng/ub
static int do_zfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
	const char *filename = "/";
	int part;
	block_dev_desc_t *dev_desc;
	disk_partition_t info;
	struct device_s vdev;

	if (argc < 2)
		return cmd_usage(cmdtp);

	if (argc == 4)
		filename = argv[3];

	part = get_device_and_partition(argv[1], argv[2], &dev_desc, &info, 1);
	if (part < 0)
		return 1;

	zfs_set_blk_dev(dev_desc, &info);
	vdev.part_length = info.size;

	zfs_ls(&vdev, filename,
		   zfs_print);

	return 0;
}
예제 #2
0
파일: zfs.c 프로젝트: lundman/u-boot
static int do_zfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
	const char *filename = "/@/";
	int part;
	struct blk_desc *dev_desc;
	disk_partition_t info;
	struct zfs_device_s vdev;

	if (argc < 2)
		return cmd_usage(cmdtp);

	if (argc == 4)
		filename = argv[3];
	else
		printf("zfsls %s %s %s\n", argv[1], argv[2], filename);

	part = blk_get_device_part_str(argv[1], argv[2], &dev_desc, &info, 1);
	if (part < 0)
		return 1;

	zfs_set_blk_dev(&vdev, dev_desc, &info);
	zfs_ls(&vdev, filename,
		zfs_print, NULL);

	return 0;
}
예제 #3
0
static int do_zfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
    const char *filename = "/";
    int dev;
    unsigned long part = 1;
    char *ep;
    int part_length;
    struct device_s vdev;

    if (argc < 3)
        return cmd_usage(cmdtp);

    dev = (int)simple_strtoul(argv[2], &ep, 16);
    zfs_dev_desc = get_dev(argv[1], dev);

    if (zfs_dev_desc == NULL) {
        printf("\n** Block device %s %d not supported\n", argv[1], dev);
        return 1;
    }

    if (*ep) {
        if (*ep != ':') {
            puts("\n** Invalid boot device, use `dev[:part]' **\n");
            return 1;
        }
        part = simple_strtoul(++ep, NULL, 16);
    }

    if (argc == 4)
        filename = argv[3];

    part_length = zfs_set_blk_dev(zfs_dev_desc, part);
    if (part_length == 0) {
        printf("** Bad partition - %s %d:%lu **\n", argv[1], dev, part);
        return 1;
    }

    vdev.part_length = part_length;

    zfs_ls(&vdev, filename,
           zfs_print);

    return 0;
}