]> git.karo-electronics.de Git - karo-tx-linux.git/commit
udf: allow implicit blocksize specification during mount
authorFabian Frederick <fabf@skynet.be>
Wed, 18 Jan 2017 18:39:35 +0000 (19:39 +0100)
committerJan Kara <jack@suse.cz>
Fri, 20 Jan 2017 11:21:41 +0000 (12:21 +0100)
commit70f16cef06b5bf72d50b8016e1188995eddc073a
tree3ce4492971a2d06aa84381634dba1593691a52ad
parent1d82a56bc5bf820b7c65d8130b44c0bc101b546c
udf: allow implicit blocksize specification during mount

udf_fill_super() used udf_parse_options() to flag UDF_FLAG_BLOCKSIZE_SET
when blocksize was specified otherwise used 512 bytes
(bdev_logical_block_size) and 2048 bytes (UDF_DEFAULT_BLOCKSIZE)
IOW both 1024 and 4096 specifications were required or resulted in

"mount: wrong fs type, bad option, bad superblock on /dev/loop1"

This patch loops through different block values but also updates
udf_load_vrs() to return -EINVAL instead of 0 when udf_check_vsd()
fails (and uopt->novrs = 0).
The later being the reason for the RFC; we have that case when mounting
a 4kb blocksize against other values but maybe VRS is not mandatory
there ?

Tested with 512, 1024, 2048 and 4096 blocksize

Reported-by: Jan Kara <jack@suse.com>
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/super.c