clusters for files, and
its inevitable that we reach this condition when doing that if the
clusters are not after one another, so there is no reason to `abort`
here, execution continues and the new clusters are written to disk
correctly.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 9
These patches fix some bugs found when modifying files in vvfat.
First, there was a bug when writing to the second+ cluster of a file, it
will copy the cluster before it instead.
Another issue was modifying the clusters of a file and adding new
clusters, this showed 2 issues:
- If the new cluster
` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.
Signed-off-by: Amjad A
x2000 !< offset=0x2000`,
thus not fetching the next cluster.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..ab342f0743 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -2525,7
I noticed the issue in the commit message 'ffvat' should be 'vvfat',
I'll fix it in the next version.
On Thu, Mar 28, 2024 at 04:11:27AM +0800, Amjad Alsharafi wrote:
> When reading with `read_cluster` we get the `mapping` with
> `find_mapping_for_cluster` and th
Ping to the vvfat maintainers.
Ping again
On Apr 13 2024, at 5:51 pm, Amjad Alsharafi wrote:
> Ping to the vvfat maintainers.
>
x2000 !< offset=0x2000`,
thus not fetching the next cluster.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..ab342f0743 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -2525,7
v2:
Added iotests for `vvfat` driver along with a simple `fat16` module to run
the tests.
v1:
https://patchew.org/QEMU/20240327201231.31046-1-amjadsharaf...@gmail.com/
Fix the issue of writing to the middle of the file in vvfat
Amjad Alsharafi (5):
vvfat: Fix bug in writing to middle of
` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.
Signed-off-by: Amjad A
clusters for files, and
its inevitable that we reach this condition when doing that if the
clusters are not after one another, so there is no reason to `abort`
here, execution continues and the new clusters are written to disk
correctly.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 9
`vvfat` is a special format and not all tests (even generic) can run without
crashing.
So, added `unsupported_fmt: vvfat` to all failling tests.
Also added `vvfat` format into `meson.build`, vvfaat tests can be run on the
`block-thorough` suite.
Signed-off-by: Amjad Alsharafi
---
.gitlab
Added several tests to verify the implementation of the vvfat driver.
We needed a way to interact with it, so created a basic `fat16.py` driver that
handled writing correct sectors for us.
Signed-off-by: Amjad Alsharafi
---
tests/qemu-iotests/check | 2 +-
tests/qemu-iotests/fat16
, Amjad Alsharafi wrote:
> v2:
> Added iotests for `vvfat` driver along with a simple `fat16` module to run
> the tests.
>
> v1:
> https://patchew.org/QEMU/20240327201231.31046-1-amjadsharaf...@gmail.com/
> Fix the issue of writing to the middle of the file in vvfat
&
Can I get review for this patch?
Thanks,
Best regards,
Amjad
On Wed, Jun 12, 2024 at 08:43:21PM +0800, Amjad Alsharafi wrote:
> 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 th
On Aug 5 2024, at 6:22 pm, Kevin Wolf wrote:
> Am 20.07.2024 um 12:13 hat Amjad Alsharafi geschrieben:
>> When reading with `read_cluster` we get the `mapping` with
>> `find_mapping_for_cluster` and then we call `open_file` for this
>> mapping.
>> The issue appear
On Aug 11 2024, at 3:51 pm, Michael Tokarev wrote:
> 12.06.2024 15:43, Amjad Alsharafi wrote:
>> 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 cl
On Aug 11 2024, at 6:09 pm, Michael Tokarev wrote:
> 11.08.2024 12:52, Amjad Alsharafi wrote:
>
> Hi!
>
>> This actually has been reviewed and approved (last version was v6
>> here:
>> https://patchew.org/QEMU/cover.1721470238.git.amjadsharaf...@gmail.co
On Aug 11 2024, at 10:45 pm, Michael Tokarev wrote:
> The question here is whenever I should include whole series
> (5 patches) or just one? I picked up all 5 for now.
Yeah, we should include all of them (at least the first 4 are required
for the actual fixes), the last one is unit test for
On Fri, May 31, 2024 at 07:22:49PM +0200, Kevin Wolf wrote:
> Am 26.05.2024 um 11:56 hat Amjad Alsharafi geschrieben:
> > 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
> >
/
Fix the issue of writing to the middle of the file in vvfat
Amjad Alsharafi (4):
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
block/vvfat.c | 38
x2000 !< offset=0x2000`,
thus not fetching the next cluster.
Signed-off-by: Amjad Alsharafi
Reviewed-by: Kevin Wolf
Tested-by: Kevin Wolf
---
block/vvfat.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..19da009a5b 1006
` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.
Signed-off-by: Amjad A
clusters for files, and
its inevitable that we reach this condition when doing that if the
clusters are not after one another, so there is no reason to `abort`
here, execution continues and the new clusters are written to disk
correctly.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 12 +++
;dmg', 'vvfat']
g_fmt = p.add_argument_group(
' image format options',
'The following options set the IMGFMT environment variable. '
diff --git a/tests/qemu-iotests/fat16.py b/tests/qemu-iotests/fat16.py
new file mode 100644
index 00..
` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.
Signed-off-by: Amjad A
Added several tests to verify the implementation of the vvfat driver.
We needed a way to interact with it, so created a basic `fat16.py` driver that
handled writing correct sectors for us.
Signed-off-by: Amjad Alsharafi
---
tests/qemu-iotests/check | 2 +-
tests/qemu-iotests/fat16
`vvfat` is a special format and not all tests (even generic) can run without
crashing.
So, added `unsupported_fmt: vvfat` to all failling tests.
Also added `vvfat` format into `meson.build`, vvfaat tests can be run on the
`block-thorough` suite.
Signed-off-by: Amjad Alsharafi
---
.gitlab
clusters for files, and
its inevitable that we reach this condition when doing that if the
clusters are not after one another, so there is no reason to `abort`
here, execution continues and the new clusters are written to disk
correctly.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 9
We test the ability to create new files in the filesystem, this is done by
adding an entry in the desired directory list.
The file will also be created in the host filesystem with matching filename.
Signed-off-by: Amjad Alsharafi
---
tests/qemu-iotests/fat16.py| 124
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
x2000 !< offset=0x2000`,
thus not fetching the next cluster.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..ab342f0743 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -2525,7
On Mon, Jun 10, 2024 at 02:01:24PM +0200, Kevin Wolf wrote:
> Am 05.06.2024 um 02:58 hat Amjad Alsharafi geschrieben:
> > Added several tests to verify the implementation of the vvfat driver.
> >
> > We needed a way to interact with it, so created a basic `fat16.py` dri
On Mon, Jun 10, 2024 at 06:49:43PM +0200, Kevin Wolf wrote:
> Am 05.06.2024 um 02:58 hat Amjad Alsharafi geschrieben:
> > The field is marked as "the offset in the file (in clusters)", but it
> > was being used like this
> > `cluster_size*(nums)+mapping->inf
On Tue, Jun 11, 2024 at 04:30:53PM +0200, Kevin Wolf wrote:
> Am 11.06.2024 um 14:31 hat Amjad Alsharafi geschrieben:
> > On Mon, Jun 10, 2024 at 06:49:43PM +0200, Kevin Wolf wrote:
> > > Am 05.06.2024 um 02:58 hat Amjad Alsharafi geschrieben:
> > > > The field is mar
x2000 !< offset=0x2000`,
thus not fetching the next cluster.
Signed-off-by: Amjad Alsharafi
Reviewed-by: Kevin Wolf
Tested-by: Kevin Wolf
---
block/vvfat.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..19da009a5b 1006
:
https://patchew.org/QEMU/20240327201231.31046-1-amjadsharaf...@gmail.com/
Fix the issue of writing to the middle of the file in vvfat
Amjad Alsharafi (5):
vvfat: Fix bug in writing to middle of file
vvfat: Fix usage of `info.file.offset`
vvfat: Fix wrong checks for cluster mappings
The field is marked as "the offset in the file (in clusters)", but it
was being used like this
`cluster_size*(nums)+mapping->info.file.offset`, which is incorrect.
Signed-off-by: Amjad Alsharafi
---
block/vvfat.c | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
_index` for the
first mapping, but since `first_mapping_index` is only used here,
another approach is to just check manually for the
`mapping->first_mapping_index != -1` since we know that this is the
value for the only entry where `offset == 0` (i.e. first mapping).
Signed-off-by: Amjad
Added several tests to verify the implementation of the vvfat driver.
We needed a way to interact with it, so created a basic `fat16.py` driver
that handled writing correct sectors for us.
Added `vvfat` to the non-generic formats, as its not a normal image format.
Signed-off-by: Amjad Alsharafi
` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.
Signed-off-by: Amjad A
On Wed, Jun 12, 2024 at 08:43:26PM +0800, Amjad Alsharafi wrote:
> Added several tests to verify the implementation of the vvfat driver.
>
> We needed a way to interact with it, so created a basic `fat16.py` driver
> that handled writing correct sectors for us.
>
> Added
On Thu, Jul 18, 2024 at 05:20:36PM +0200, Kevin Wolf wrote:
> Am 12.06.2024 um 14:43 hat Amjad Alsharafi geschrieben:
> > When reading with `read_cluster` we get the `mapping` with
> > `find_mapping_for_cluster` and then we call `open_file` for this
> > mapping.
> > Th
On Jul 19 2024, at 8:20 am, Amjad Alsharafi wrote:
> On Thu, Jul 18, 2024 at 05:20:36PM +0200, Kevin Wolf wrote:
>> Am 12.06.2024 um 14:43 hat Amjad Alsharafi geschrieben:
>> > When reading with `read_cluster` we get the `mapping` with
>> > `find_mapping_fo
The field is marked as "the offset in the file (in clusters)", but it
was being used like this
`cluster_size*(nums)+mapping->info.file.offset`, which is incorrect.
Signed-off-by: Amjad Alsharafi
Reviewed-by: Kevin Wolf
---
block/vvfat.c | 11 +++
1 file changed, 7 ins
x2000 !< offset=0x2000`,
thus not fetching the next cluster.
Signed-off-by: Amjad Alsharafi
Reviewed-by: Kevin Wolf
Tested-by: Kevin Wolf
---
block/vvfat.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..19da009a5b 1006
vvfat
Amjad Alsharafi (5):
vvfat: Fix bug in writing to middle of file
vvfat: Fix usage of `info.file.offset`
vvfat: Fix wrong checks for cluster mappings invariant
vvfat: Fix reading files with non-continuous clusters
iotests: Add `vvfat` tests
block/vvfat.c | 34
Added several tests to verify the implementation of the vvfat driver.
We needed a way to interact with it, so created a basic `fat16.py` driver
that handled writing correct sectors for us.
Added `vvfat` to the non-generic formats, as its not a normal image format.
Signed-off-by: Amjad Alsharafi
` (that didn't open anything) we
will get the offset into the file with
`s->cluster_size*(cluster_num-s->current_mapping->begin)`, which will
give us `0x2000 * (504-500)`, which is out of bound for this mapping and
will produce some issues.
Signed-off-by: Amjad Alsharafi
---
bloc
_index` for the
first mapping, but since `first_mapping_index` is only used here,
another approach is to just check manually for the
`mapping->first_mapping_index != -1` since we know that this is the
value for the only entry where `offset == 0` (i.e. first mapping).
Signed-off-by: Amjad Alsharafi
50 matches
Mail list logo