Message ID | 20250326162230.3323199-1-Marco.Cavenati@eurecom.fr (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | migration: fix SEEK_CUR offset calculation in qio_channel_block_seek | expand |
On Wed, Mar 26, 2025 at 05:22:30PM +0100, Marco Cavenati wrote: > The SEEK_CUR case in qio_channel_block_seek was incorrectly using the > 'whence' parameter instead of the 'offset' parameter when calculating the > new position. > > Fixes: 65cf200a51ddc6d0a28ecceac30dc892233cddd7 ("migration: introduce a QIOChannel impl for BlockDriverState VMState") > > Signed-off-by: Marco Cavenati <Marco.Cavenati@eurecom.fr> > --- > migration/channel-block.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel
26.03.2025 19:22, Marco Cavenati wrote: > The SEEK_CUR case in qio_channel_block_seek was incorrectly using the > 'whence' parameter instead of the 'offset' parameter when calculating the > new position. > > Fixes: 65cf200a51ddc6d0a28ecceac30dc892233cddd7 ("migration: introduce a QIOChannel impl for BlockDriverState VMState") > > Signed-off-by: Marco Cavenati <Marco.Cavenati@eurecom.fr> > --- > migration/channel-block.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/migration/channel-block.c b/migration/channel-block.c > index fff8d87094..b0477f5b6d 100644 > --- a/migration/channel-block.c > +++ b/migration/channel-block.c > @@ -123,7 +123,7 @@ qio_channel_block_seek(QIOChannel *ioc, > bioc->offset = offset; > break; > case SEEK_CUR: > - bioc->offset += whence; > + bioc->offset += offset; > break; > case SEEK_END: > error_setg(errp, "Size of VMstate region is unknown"); Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> This is a (trivial) bugfix, I'd say it should be in 10.0. Will you guys send a pullreq for the block layer, or should I make a single-patch pullreq from the trivial tree? Thanks, /mjt
Michael Tokarev <mjt@tls.msk.ru> writes: > 26.03.2025 19:22, Marco Cavenati wrote: >> The SEEK_CUR case in qio_channel_block_seek was incorrectly using the >> 'whence' parameter instead of the 'offset' parameter when calculating the >> new position. >> >> Fixes: 65cf200a51ddc6d0a28ecceac30dc892233cddd7 ("migration: introduce a QIOChannel impl for BlockDriverState VMState") >> >> Signed-off-by: Marco Cavenati <Marco.Cavenati@eurecom.fr> >> --- >> migration/channel-block.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/migration/channel-block.c b/migration/channel-block.c >> index fff8d87094..b0477f5b6d 100644 >> --- a/migration/channel-block.c >> +++ b/migration/channel-block.c >> @@ -123,7 +123,7 @@ qio_channel_block_seek(QIOChannel *ioc, >> bioc->offset = offset; >> break; >> case SEEK_CUR: >> - bioc->offset += whence; >> + bioc->offset += offset; >> break; >> case SEEK_END: >> error_setg(errp, "Size of VMstate region is unknown"); > > Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> > > This is a (trivial) bugfix, I'd say it should be in 10.0. > Will you guys send a pullreq for the block layer, or should > I make a single-patch pullreq from the trivial tree? I'll take it. It's not entirely trivial as it shifts a value by 1 in mapped-ram migration. Fortunately, it's a value that doesn't need to be the same between migration source and destination. Thanks > > Thanks, > > /mjt
diff --git a/migration/channel-block.c b/migration/channel-block.c index fff8d87094..b0477f5b6d 100644 --- a/migration/channel-block.c +++ b/migration/channel-block.c @@ -123,7 +123,7 @@ qio_channel_block_seek(QIOChannel *ioc, bioc->offset = offset; break; case SEEK_CUR: - bioc->offset += whence; + bioc->offset += offset; break; case SEEK_END: error_setg(errp, "Size of VMstate region is unknown");
The SEEK_CUR case in qio_channel_block_seek was incorrectly using the 'whence' parameter instead of the 'offset' parameter when calculating the new position. Fixes: 65cf200a51ddc6d0a28ecceac30dc892233cddd7 ("migration: introduce a QIOChannel impl for BlockDriverState VMState") Signed-off-by: Marco Cavenati <Marco.Cavenati@eurecom.fr> --- migration/channel-block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)