[PATCH 8/8] fs: Add ubifs support

Alexander Aring alex.aring at gmail.com
Tue Aug 6 14:16:16 EDT 2013


Hi Sascha,

I take only a fast first look, it's a nice pretty huge patch :-)

On Tue, Aug 06, 2013 at 03:07:08PM +0200, Sascha Hauer wrote:
> This adds ubifs support from u-boot-2013.07. This is taken
> mostly as-is, only the necessary adjustments to attach to the
> barebox fs layer have been made.
> 
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
>  fs/Kconfig             |    1 +
>  fs/Makefile            |    1 +
>  fs/ubifs/Kconfig       |   17 +
>  fs/ubifs/Makefile      |    4 +
>  fs/ubifs/budget.c      |  113 ++
>  fs/ubifs/crc16.c       |   60 ++
>  fs/ubifs/crc16.h       |   29 +
>  fs/ubifs/debug.c       |  156 +++
>  fs/ubifs/debug.h       |  392 +++++++
>  fs/ubifs/io.c          |  316 ++++++
>  fs/ubifs/key.h         |  557 ++++++++++
>  fs/ubifs/log.c         |  104 ++
>  fs/ubifs/lprops.c      |  842 +++++++++++++++
>  fs/ubifs/lpt.c         | 1105 +++++++++++++++++++
>  fs/ubifs/lpt_commit.c  |  171 +++
>  fs/ubifs/master.c      |  341 ++++++
>  fs/ubifs/misc.h        |  311 ++++++
>  fs/ubifs/orphan.c      |  318 ++++++
>  fs/ubifs/recovery.c    | 1225 +++++++++++++++++++++
>  fs/ubifs/replay.c      | 1070 +++++++++++++++++++
>  fs/ubifs/sb.c          |  346 ++++++
>  fs/ubifs/scan.c        |  362 +++++++
>  fs/ubifs/super.c       |  907 ++++++++++++++++
>  fs/ubifs/tnc.c         | 2767 ++++++++++++++++++++++++++++++++++++++++++++++++
>  fs/ubifs/tnc_misc.c    |  435 ++++++++
>  fs/ubifs/ubifs-media.h |  775 ++++++++++++++
>  fs/ubifs/ubifs.c       |  654 ++++++++++++
>  fs/ubifs/ubifs.h       | 2151 +++++++++++++++++++++++++++++++++++++
>  28 files changed, 15530 insertions(+)
>  create mode 100644 fs/ubifs/Kconfig
>  create mode 100644 fs/ubifs/Makefile
>  create mode 100644 fs/ubifs/budget.c
>  create mode 100644 fs/ubifs/crc16.c
>  create mode 100644 fs/ubifs/crc16.h
>  create mode 100644 fs/ubifs/debug.c
>  create mode 100644 fs/ubifs/debug.h
>  create mode 100644 fs/ubifs/io.c
>  create mode 100644 fs/ubifs/key.h
>  create mode 100644 fs/ubifs/log.c
>  create mode 100644 fs/ubifs/lprops.c
>  create mode 100644 fs/ubifs/lpt.c
>  create mode 100644 fs/ubifs/lpt_commit.c
>  create mode 100644 fs/ubifs/master.c
>  create mode 100644 fs/ubifs/misc.h
>  create mode 100644 fs/ubifs/orphan.c
>  create mode 100644 fs/ubifs/recovery.c
>  create mode 100644 fs/ubifs/replay.c
>  create mode 100644 fs/ubifs/sb.c
>  create mode 100644 fs/ubifs/scan.c
>  create mode 100644 fs/ubifs/super.c
>  create mode 100644 fs/ubifs/tnc.c
>  create mode 100644 fs/ubifs/tnc_misc.c
>  create mode 100644 fs/ubifs/ubifs-media.h
>  create mode 100644 fs/ubifs/ubifs.c
>  create mode 100644 fs/ubifs/ubifs.h
> 
> diff --git a/fs/Kconfig b/fs/Kconfig
> index 21d3434..be4797f 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -42,6 +42,7 @@ config FS_NFS
>  	prompt "nfs support"
>  
>  source fs/fat/Kconfig
> +source fs/ubifs/Kconfig
>  
>  config PARTITION_NEED_MTD
>  	bool
> diff --git a/fs/Makefile b/fs/Makefile
> index cc59da7..bd02d94 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -5,6 +5,7 @@ obj-y			+= devfs-core.o
>  obj-$(CONFIG_FS_DEVFS)	+= devfs.o
>  obj-$(CONFIG_FS_FAT)	+= fat/
>  obj-y	+= fs.o
> +obj-$(CONFIG_FS_UBIFS)	+= ubifs/
>  obj-$(CONFIG_FS_TFTP)	+= tftp.o
>  obj-$(CONFIG_FS_OMAP4_USBBOOT)	+= omap4_usbbootfs.o
>  obj-$(CONFIG_FS_NFS)	+= nfs.o
> diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
> new file mode 100644
> index 0000000..76612fd
> --- /dev/null
> +++ b/fs/ubifs/Kconfig
> @@ -0,0 +1,17 @@
> +menuconfig FS_UBIFS
> +	bool

select UBI here?
We use sometimes the ubi_read function.

> +	prompt "ubifs support"
> +
> +if FS_UBIFS
> +
> +config FS_UBIFS_COMPRESSION_LZO
> +	bool
> +	select LZO_DECOMPRESS
> +	prompt "LZO compression support"
> +
> +config FS_UBIFS_COMPRESSION_ZLIB
> +	bool
> +	select ZLIB
> +	prompt "ZLIB compression support"
> +
> +endif

Is this for a full compressed ubi volume? I know that in ubifs exists
some extended attributes to enable compression for a special file. How
barebox deal with that? I think barebox hasn't a support for xattr yet. :(

But I think it's only for some small files kernel, env, etc... so it doesn't
matter.

- Alex



More information about the barebox mailing list