qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] vvfat: Fix write bugs for large files and add iotests
@ 2024-05-26  9:56 Amjad Alsharafi
  2024-05-26  9:56 ` [PATCH v3 1/6] vvfat: Fix bug in writing to middle of file Amjad Alsharafi
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Amjad Alsharafi @ 2024-05-26  9:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hanna Reitz, Kevin Wolf, open list:vvfat, Amjad Alsharafi

These patches fix some bugs found when modifying files in vvfat.
First, there was a bug when writing to the cluster 2 or above of a file, it
will copy the cluster before it instead, so, when writing to cluster=2, the
content of cluster=1 will be copied into disk instead in its place.

Another issue was modifying the clusters of a file and adding new
clusters, this showed 2 issues:
- If the new cluster is not immediately after the last cluster, it will
cause issues when reading from this file in the future.
- Generally, the usage of info.file.offset was incorrect, and the
system would crash on abort() when the file is modified and a new
cluster was added.

Also, added some iotests for vvfat, covering the this fix and also
general behavior such as reading, writing, and creating files on the filesystem.
Including tests for reading/writing the first cluster which
would pass even before this patch.

v3:
  Added test for creating new files in vvfat.

v2:
  Added iotests for `vvfat` driver along with a simple `fat16` module to run the tests.

v1:
  https://patchew.org/QEMU/20240327201231.31046-1-amjadsharafi10@gmail.com/
  Fix the issue of writing to the middle of the file in vvfat

Amjad Alsharafi (6):
  vvfat: Fix bug in writing to middle of file
  vvfat: Fix usage of `info.file.offset`
  vvfat: Fix reading files with non-continuous clusters
  iotests: Add `vvfat` tests
  iotests: Filter out `vvfat` fmt from failing tests
  iotests: Add `create_file` test for `vvfat` driver

 .gitlab-ci.d/buildtest.yml                    |   1 +
 block/vvfat.c                                 |  32 +-
 tests/qemu-iotests/001                        |   1 +
 tests/qemu-iotests/002                        |   1 +
 tests/qemu-iotests/003                        |   1 +
 tests/qemu-iotests/005                        |   1 +
 tests/qemu-iotests/008                        |   1 +
 tests/qemu-iotests/009                        |   1 +
 tests/qemu-iotests/010                        |   1 +
 tests/qemu-iotests/011                        |   1 +
 tests/qemu-iotests/012                        |   1 +
 tests/qemu-iotests/021                        |   1 +
 tests/qemu-iotests/032                        |   1 +
 tests/qemu-iotests/033                        |   1 +
 tests/qemu-iotests/052                        |   1 +
 tests/qemu-iotests/094                        |   1 +
 tests/qemu-iotests/120                        |   2 +-
 tests/qemu-iotests/140                        |   1 +
 tests/qemu-iotests/145                        |   1 +
 tests/qemu-iotests/157                        |   1 +
 tests/qemu-iotests/159                        |   2 +-
 tests/qemu-iotests/170                        |   2 +-
 tests/qemu-iotests/192                        |   1 +
 tests/qemu-iotests/197                        |   2 +-
 tests/qemu-iotests/208                        |   2 +-
 tests/qemu-iotests/215                        |   2 +-
 tests/qemu-iotests/236                        |   2 +-
 tests/qemu-iotests/251                        |   1 +
 tests/qemu-iotests/307                        |   2 +-
 tests/qemu-iotests/308                        |   2 +-
 tests/qemu-iotests/check                      |   2 +-
 tests/qemu-iotests/fat16.py                   | 619 ++++++++++++++++++
 tests/qemu-iotests/meson.build                |   3 +-
 .../tests/export-incoming-iothread            |   2 +-
 tests/qemu-iotests/tests/fuse-allow-other     |   1 +
 .../tests/mirror-ready-cancel-error           |   2 +-
 tests/qemu-iotests/tests/regression-vhdx-log  |   1 +
 tests/qemu-iotests/tests/vvfat                | 419 ++++++++++++
 tests/qemu-iotests/tests/vvfat.out            |   5 +
 39 files changed, 1098 insertions(+), 26 deletions(-)
 create mode 100644 tests/qemu-iotests/fat16.py
 create mode 100755 tests/qemu-iotests/tests/vvfat
 create mode 100755 tests/qemu-iotests/tests/vvfat.out

-- 
2.45.0



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-06-05  0:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-26  9:56 [PATCH v3 0/6] vvfat: Fix write bugs for large files and add iotests Amjad Alsharafi
2024-05-26  9:56 ` [PATCH v3 1/6] vvfat: Fix bug in writing to middle of file Amjad Alsharafi
2024-05-31 16:15   ` Kevin Wolf
2024-05-26  9:56 ` [PATCH v3 2/6] vvfat: Fix usage of `info.file.offset` Amjad Alsharafi
2024-05-26  9:56 ` [PATCH v3 3/6] vvfat: Fix reading files with non-continuous clusters Amjad Alsharafi
2024-05-26  9:56 ` [PATCH v3 4/6] iotests: Add `vvfat` tests Amjad Alsharafi
2024-05-26  9:56 ` [PATCH v3 5/6] iotests: Filter out `vvfat` fmt from failing tests Amjad Alsharafi
2024-05-31 17:29   ` Kevin Wolf
2024-05-26  9:56 ` [PATCH v3 6/6] iotests: Add `create_file` test for `vvfat` driver Amjad Alsharafi
2024-05-31 17:22 ` [PATCH v3 0/6] vvfat: Fix write bugs for large files and add iotests Kevin Wolf
2024-06-05  0:38   ` Amjad Alsharafi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).