[PATCH 1/2] Add support for UBIFS
David Oberhollenzer
david.oberhollenzer at sigma-star.at
Thu May 18 01:41:27 PDT 2017
On 05/17/2017 01:53 PM, Eryu Guan wrote:
> On Wed, May 17, 2017 at 11:55:29AM +0200, David Oberhollenzer wrote:
>> -g) group=$2 ; shift ;
>> GROUP_LIST="$GROUP_LIST ${group//,/ }"
>> diff --git a/common/config b/common/config
>> index 59041a39..6c58e888 100644
>> --- a/common/config
>> +++ b/common/config
>> @@ -336,6 +336,9 @@ _mount_opts()
>> # We need to specify the size at mount, use 1G by default
>> export MOUNT_OPTIONS="-o size=1G $TMPFS_MOUNT_OPTIONS"
>> ;;
>> + ubifs)
>> + export MOUNT_OPTIONS=$UBIFS_MOUNT_OPTIONS
>> + ;;
>> *)
>> ;;
>> esac
>> @@ -475,6 +478,10 @@ _check_device()
>> if [ ! -d "$dev" ]; then
>> _fatal "common/config: $name ($dev) is not a directory for overlay"
>> fi
>> + elif [ "$FSTYP" == "ubifs" ]; then
>> + if [ ! -c "$dev" ]; then
>> + _fatal "common/config: $name ($dev) is not a character device"
>> + fi
>> else
>> _fatal "common/config: $name ($dev) is not a block device or a network filesystem"
>
> This error message should be updated too. And turning this if-elif-fi
> block to a case switch on $FSTYP seems cleaner.
>
> And you need to setup MKFS_UBIFS_PROG and all other needed tools in
> common/config too, and check if the tools are available in common/rc and
> abort if the required tools are not met. e.g.
>
> [ "$MKFS_EXT4_PROG" = "" ] && _fatal "mkfs.ext4 not found"
>
mkfs.ubifs itself isn't needed as empty ubi volumes are formated when
mounting them with UBIFS.
I think it would make sense to add a check for ubiupdatevol to
_require_scratch_encryption (used in _scratch_mkfs_encrypted to
whipe an existing volume).
On 05/17/2017 08:45 PM, Eric Biggers wrote:
> On Wed, May 17, 2017 at 07:53:55PM +0800, Eryu Guan wrote:
>> As being pointed out in previous reviews, it'll be great if we can probe
>> ubifs from the char device if possible instead of adding new fs-specific
>> option, just as what we're doing at the end of common/config for other
>> local filesystems. But I'm not sure if blkid works for char device and
>> ubifs (probably not).
>>
>
> It seems to work fine without the -ubifs option:
>
> # blkid -o value -s TYPE /dev/ubi0_0
> ubifs
I can't really reproduce this on my end. Neither on my Debian test VM,
nor on the OpenSUSE system that I'm working on right now. I get no
output from blkid, neither before nor after mounting the ubi volume.
To be fair, the Debian version (and thus its blkid version) is rather
old (blkid 1.0.0 (12-Feb-2003)), but the one on OpenSUSE seems to be
fairly recent:
$ blkid -v
blkid from util-linux 2.28 (libblkid 2.28., 12-Apr-2016)
Would it make sense to patch the check in common/config instead,
to default to ubifs if FSTYP is not set and the target is a
character device? Or simply require on FSTYP to be set in the
config file?
Thanks,
David
More information about the linux-mtd
mailing list