Searched hist:"70 f19f5869c5accfd9f371c099f21c71516591b2" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/fs/udf/ |
H A D | inode.c | diff 70f19f5869c5accfd9f371c099f21c71516591b2 Tue Jul 07 13:06:05 CDT 2015 Steven J. Magnani <steve.magnani@digidescorp.com> udf: Don't corrupt unalloc spacetable when writing it
For a UDF filesystem configured with an Unallocated Space Table, a filesystem operation that triggers an update to the table results in on-disk corruption that prevents remounting:
udf_read_tagged: tag version 0x0000 != 0x0002 || 0x0003, block 274
For example: 1. Create a filesystem $ mkudffs --media-type=hd --blocksize=512 --lvid=BUGTEST \ --vid=BUGTEST --fsid=BUGTEST --space=unalloctable \ /dev/mmcblk0
2. Mount it # mount /dev/mmcblk0 /mnt
3. Create a file $ echo "No corruption, please" > /mnt/new.file
4. Umount # umount /mnt
5. Attempt remount # mount /dev/mmcblk0 /mnt
This appears to be a longstanding bug caused by zero-initialization of the Unallocated Space Entry block buffer and only partial repopulation of required fields before writing to disk.
Commit 0adfb339fd64 ("udf: Fix unalloc space handling in udf_update_inode") addressed one such field, but several others are required.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Jan Kara <jack@suse.com>
|