Whops, somehow I completely forgot about this. On Tue, 20 Sep 2016 09:09:59 -0500 Eric Blake <ebl...@redhat.com> wrote:
> On 09/20/2016 04:37 AM, Tomáš Golembiovský wrote: > > [meta-comment]: Your series came through without any threading (you sent > three threads, instead of patch 1 and 2 being marked In-Reply-To the 0/2 > cover letter). Thanks for the comment. Unfortunately it was my email client interfering. It should be better next time. > > When --offset is set the apparent device size has to be adjusted > > accordingly. Otherwise client may request read/write beyond the file end > > which would fail. > > > > Signed-off-by: Tomáš Golembiovský <tgole...@redhat.com> > > --- > > qemu-nbd.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/qemu-nbd.c b/qemu-nbd.c > > index 99297a5..629bce1 100644 > > --- a/qemu-nbd.c > > +++ b/qemu-nbd.c > > @@ -901,6 +901,13 @@ int main(int argc, char **argv) > > exit(EXIT_FAILURE); > > } > > Additional context: > > off_t dev_offset = 0; > > off_t fd_size; > > > > > + if (dev_offset >= fd_size) { > > + error_report("Offset (%lu) has to be smaller than the image size > > (%lu)", > > + dev_offset, fd_size); > > Whoops, this fails to compile on 32-bit platforms. %lu is not > necessarily synonymous with off_t values. After some digging I figured off_t is in fact signed type. That makes the formatting wrong everywhere. Unfortunately I didn't find any good definition of the type. Any suggestion what format flag should I use? Or should I just use a temporary variable of known size for that? Thanks, Tomas -- Tomáš Golembiovský <tgole...@redhat.com>