Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Apr 2019 21:35:36 +0100
From:      Igor Mozolevsky <igor@hybrid-lab.co.uk>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Hackers freeBSD <freebsd-hackers@freebsd.org>
Subject:   Re: bhyve VM stopped to boot after moving virtio disks
Message-ID:  <CADWvR2jXx3A8YdQ=Jwc36Z=%2BVzye78FEtmhPdp%2BtkOHcOqKKPA@mail.gmail.com>
In-Reply-To: <de0f2df8b187e0f556ac6c259c338a4e0832071f.camel@freebsd.org>
References:  <alpine.BSF.2.20.1904192255290.97274@puchar.net> <2006ff8da153bbe5e7f620da9260ee1518bd248f.camel@freebsd.org> <alpine.BSF.2.20.1904201729190.99712@puchar.net> <b0d23ad4b9f442a1a7342306443b855407f0765c.camel@freebsd.org> <CADWvR2iR2THrrx7yK%2BguWKn_Zydnb%2BSFgD5FHFhVk-XeAzyZHQ@mail.gmail.com> <de0f2df8b187e0f556ac6c259c338a4e0832071f.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 20 Apr 2019 at 19:29, Ian Lepore wrote:
>
> On Sat, 2019-04-20 at 18:45 +0100, Igor Mozolevsky wrote:
> > On Sat, 20 Apr 2019 at 18:00, Ian Lepore wrote:
> >
> > <snip>
> > > dd absolutely will fail to copy the last block of the source if it
> > > isn't exactly the blocksize and you didn't specify conv=sync, and
> > > it
> > > will return a zero status when doing so.  It appears you've
> > > convinced
> > > yourself otherwise, but for anyone else reading this thread, be
> > > aware:
> > > conv=sync is required to copy the last part of the source if it's
> > > smaller than the blocksize.
> >
> >
> > Isn't that contrary to the POSIX Spec? Reading the manual [1], it is
> > implied (from STDERR part of the main section) that dd will read and
> > write partial blocks, cf. truncated blocks?..
> >
> > 1. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/dd.html
> >
> >
>
> Damn, why do people trim away the entire useful context of an email
> thread when replying?  I almost don't want to reply to this because at
> this point all the useful info is gone.

I only trimmed because you were appearing to be speaking generally and
not specifically, so the trimmed part was superfluous.


> In any case, in retrospect, what I said was wrong.  Using conv=sync is
> important when the output is a device that has fixed block sizes where
> you cannot write a partial block.  When the destination is a file where
> short writes work correctly, it will copy the entire source correctly.


Thanks for clarifying, I was starting to think I misread the POSIX
standard when implementing a local version of dd.


-- 
Igor M.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADWvR2jXx3A8YdQ=Jwc36Z=%2BVzye78FEtmhPdp%2BtkOHcOqKKPA>