[k3b] [Bug 397732] K3B: data project: when burning wrong size of written data is displayed
Thomas Schmitt
bugzilla_noreply at kde.org
Sat Mar 16 11:35:49 GMT 2019
https://bugs.kde.org/show_bug.cgi?id=397732
--- Comment #6 from Thomas Schmitt <scdbackup at gmx.net> ---
Hi,
Armin Mohring wrote:
> I am using Manjaro with k3b version 18.12.3.
> Now the written data size is reported correctly.
> Solved!
If some code change in K3B caused this improvement, then i fail to see it
in https://github.com/KDE/k3b/commits since summer 2018.
It might have been about a KDE change outside of K3B.
Back in august, i wanted to learn how k3bgrowisofswriter.cpp starts
growisofs and connects to its output channels. But i could not find
the implementation of this call:
if( !d->process.start( KProcess::MergedChannels ) ) {
I expect that in the end the system call pipe(2) is employed.
Its man page gives a glimpse of an idea what might have happened:
O_DIRECT (since Linux 3.4)
Create a pipe that performs I/O in "packet" mode.
[...]
* If a read(2) specifies a buffer size that is smaller than the
next packet, then the requested number of bytes are read, and
the excess bytes in the packet are discarded.
But as said, i got lost in the C++ jungle and could not confirm that
pipe(2) was used with flag O_DIRECT. Class GrowisofsWriter in
k3bgrowisofswriter.h has no member named "process". So "d->process" and
its member ".start()" are probably inherited from other classes.
Have a nice day :)
Thomas
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the k3b
mailing list