linux/fs/udf
Fabian Frederick 70f16cef06 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>
2017-01-20 12:21:41 +01:00
..
balloc.c udf: Factor out code for creating indirect extent 2015-12-23 18:04:52 +01:00
dir.c block,fs: untangle fs.h and blk_types.h 2016-11-01 09:43:26 -06:00
directory.c block,fs: untangle fs.h and blk_types.h 2016-11-01 09:43:26 -06:00
ecma_167.h udf: use __packed instead of __attribute__ ((packed)) 2017-01-10 11:29:11 +01:00
file.c fs: Give dentry to inode_change_ok() instead of inode 2016-09-22 10:56:19 +02:00
ialloc.c fs: Replace current_fs_time() with current_time() 2016-09-27 21:06:22 -04:00
inode.c udf: check partition reference in udf_read_inode() 2017-01-10 11:59:21 +01:00
Kconfig udf: Update Kconfig description 2015-01-05 11:04:37 +01:00
lowlevel.c udf: atomically read inode size 2017-01-10 11:57:34 +01:00
Makefile switch udf to simple_fsync() 2009-06-11 21:36:13 -04:00
misc.c udf: remove empty condition 2017-01-10 11:37:31 +01:00
namei.c udf: Make stat on symlink report symlink length as st_size 2017-01-05 07:52:57 +01:00
osta_udf.h udf: use __packed instead of __attribute__ ((packed)) 2017-01-10 11:29:11 +01:00
partition.c udf: Use correct partition reference number for metadata 2016-05-19 13:00:35 +02:00
super.c udf: allow implicit blocksize specification during mount 2017-01-20 12:21:41 +01:00
symlink.c udf: Make stat on symlink report symlink length as st_size 2017-01-05 07:52:57 +01:00
truncate.c udf: remove redundant buffer_head.h includes 2015-03-14 07:54:02 +01:00
udf_i.h fs: cleanup slight list_entry abuse 2015-06-23 18:01:59 -04:00
udf_sb.h udf: Use correct partition reference number for metadata 2016-05-19 13:00:35 +02:00
udfdecl.h udf: Make stat on symlink report symlink length as st_size 2017-01-05 07:52:57 +01:00
udfend.h Remove struct typedefs from fs/udf/ecma_167.h et al. 2009-04-02 12:29:47 +02:00
udftime.c udf: remove redundant sys_tz declaration 2014-09-29 13:45:12 +02:00
unicode.c udf: Fix conversion of 'dstring' fields to UTF8 2016-04-25 15:18:50 +02:00