summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2025-02-20 08:14:43 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:29:42 +0200
commit739499e146320eec6dc3ae27f993e22955c0e932 (patch)
tree19ce1c2d506998ef818733705fcdba2d755ef621 /kernel
parentf5302f67865fd6b1febf49e9edd21af2f82fbd3e (diff)
affs: generate OFS sequence numbers starting at 1
[ Upstream commit e4cf8ec4de4e13f156c1d61977d282d90c221085 ] If I write a file to an OFS floppy image, and try to read it back on an emulated Amiga running Workbench 1.3, the Amiga reports a disk error trying to read the file. (That is, it's unable to read it _at all_, even to copy it to the NIL: device. It isn't a matter of getting the wrong data and being unable to parse the file format.) This is because the 'sequence number' field in the OFS data block header is supposed to be based at 1, but affs writes it based at 0. All three locations changed by this patch were setting the sequence number to a variable 'bidx' which was previously obtained by dividing a file position by bsize, so bidx will naturally use 0 for the first block. Therefore all three should add 1 to that value before writing it into the sequence number field. With this change, the Amiga successfully reads the file. For data block reference: https://wiki.osdev.org/FFS_(Amiga) Signed-off-by: Simon Tatham <anakin@pobox.com> Signed-off-by: David Sterba <dsterba@suse.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions