All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 2/4] ubifs: Add functions for generic fs use
Date: Tue, 25 Aug 2015 13:02:28 +0200	[thread overview]
Message-ID: <55DC4B44.3080306@denx.de> (raw)
In-Reply-To: <1440266693-15664-3-git-send-email-hdegoede@redhat.com>

Hello Hans,

Am 22.08.2015 um 20:04 schrieb Hans de Goede:
> Implement the necessary functions for implementing generic fs support
> for ubifs.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>   fs/ubifs/ubifs.c      | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++
>   include/ubifs_uboot.h |  4 ++++
>   2 files changed, 66 insertions(+)

Reviewed-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
>
> diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
> index 5af861c..89f1f2a 100644
> --- a/fs/ubifs/ubifs.c
> +++ b/fs/ubifs/ubifs.c
> @@ -568,6 +568,22 @@ static unsigned long ubifs_findfile(struct super_block *sb, char *filename)
>   	return 0;
>   }
>
> +int ubifs_set_blk_dev(block_dev_desc_t *rbdd, disk_partition_t *info)
> +{
> +	/* Check that ubifs is mounted and that we are not being a blkdev */
> +	if (!ubifs_mounted) {
> +		printf("UBIFS not mounted, use ubifsmount to mount volume first!\n");
> +		return -1;
> +	}
> +
> +	if (rbdd) {
> +		printf("UBIFS cannot be used with normal block devices\n");
> +		return -1;
> +	}
> +
> +	return 0;
> +}
> +
>   int ubifs_ls(const char *filename)
>   {
>   	struct ubifs_info *c = ubifs_sb->s_fs_info;
> @@ -616,6 +632,48 @@ out:
>   	return ret;
>   }
>
> +int ubifs_exists(const char *filename)
> +{
> +	struct ubifs_info *c = ubifs_sb->s_fs_info;
> +	unsigned long inum;
> +
> +	c->ubi = ubi_open_volume(c->vi.ubi_num, c->vi.vol_id, UBI_READONLY);
> +	inum = ubifs_findfile(ubifs_sb, (char *)filename);
> +	ubi_close_volume(c->ubi);
> +
> +	return inum != 0;
> +}
> +
> +int ubifs_size(const char *filename, loff_t *size)
> +{
> +	struct ubifs_info *c = ubifs_sb->s_fs_info;
> +	unsigned long inum;
> +	struct inode *inode;
> +	int err = 0;
> +
> +	c->ubi = ubi_open_volume(c->vi.ubi_num, c->vi.vol_id, UBI_READONLY);
> +
> +	inum = ubifs_findfile(ubifs_sb, (char *)filename);
> +	if (!inum) {
> +		err = -1;
> +		goto out;
> +	}
> +
> +	inode = ubifs_iget(ubifs_sb, inum);
> +	if (IS_ERR(inode)) {
> +		printf("%s: Error reading inode %ld!\n", __func__, inum);
> +		err = PTR_ERR(inode);
> +		goto out;
> +	}
> +
> +	*size = inode->i_size;
> +
> +	ubifs_iput(inode);
> +out:
> +	ubi_close_volume(c->ubi);
> +	return err;
> +}
> +
>   /*
>    * ubifsload...
>    */
> @@ -873,6 +931,10 @@ out:
>   	return err;
>   }
>
> +void ubifs_close(void)
> +{
> +}
> +
>   /* Compat wrappers for common/cmd_ubifs.c */
>   int ubifs_load(char *filename, u32 addr, u32 size)
>   {
> diff --git a/include/ubifs_uboot.h b/include/ubifs_uboot.h
> index d10a909..c600e38 100644
> --- a/include/ubifs_uboot.h
> +++ b/include/ubifs_uboot.h
> @@ -22,8 +22,12 @@ int uboot_ubifs_mount(char *vol_name);
>   void uboot_ubifs_umount(void);
>   int ubifs_load(char *filename, u32 addr, u32 size);
>
> +int ubifs_set_blk_dev(block_dev_desc_t *rbdd, disk_partition_t *info);
>   int ubifs_ls(const char *dir_name);
> +int ubifs_exists(const char *filename);
> +int ubifs_size(const char *filename, loff_t *size);
>   int ubifs_read(const char *filename, void *buf, loff_t offset,
>   	       loff_t size, loff_t *actread);
> +void ubifs_close(void);
>
>   #endif /* __UBIFS_UBOOT_H__ */
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

  reply	other threads:[~2015-08-25 11:02 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-22 18:04 [U-Boot] [PATCH v2 0/4] distro_bootcmd: Add support for booting from ubifs Hans de Goede
2015-08-22 18:04 ` [U-Boot] [PATCH v2 1/4] ubifs: Modify ubifs u-boot wrapper function prototypes for generic fs use Hans de Goede
2015-08-25 11:00   ` Heiko Schocher
2015-08-25 11:32     ` Hans de Goede
2015-08-28 14:52       ` Tom Rini
2015-08-28 15:33         ` Heiko Schocher
2015-08-31 16:08         ` Hans de Goede
2015-09-01  3:46           ` Heiko Schocher
2015-09-01 10:57             ` Heiko Schocher
2015-08-22 18:04 ` [U-Boot] [PATCH v2 2/4] ubifs: Add functions " Hans de Goede
2015-08-25 11:02   ` Heiko Schocher [this message]
2015-09-01 19:57   ` Stephen Warren
2015-09-01 20:01     ` Michael Trimarchi
2015-09-14 17:29     ` Hans de Goede
2015-08-22 18:04 ` [U-Boot] [PATCH v2 3/4] ubifs: Add generic fs support Hans de Goede
2015-08-25 11:20   ` Heiko Schocher
2015-09-01 20:03   ` Stephen Warren
2015-09-14 17:35     ` Hans de Goede
2015-09-21 18:11       ` Stephen Warren
2015-08-22 18:04 ` [U-Boot] [PATCH v2 4/4] distro_bootcmd: Add support for booting from ubifs Hans de Goede
2015-09-01 20:13   ` Stephen Warren
2015-09-14 17:48     ` Hans de Goede
2015-08-24 16:57 ` [U-Boot] [PATCH v2 0/4] " Scott Wood
2015-08-25  7:15   ` Hans de Goede
2015-08-25  7:31     ` Heiko Schocher

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=55DC4B44.3080306@denx.de \
    --to=hs@denx.de \
    --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 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.