Re: growisofs failing on some iso files
Honza Horak <[email protected]>
| Newsgroups | gmane.comp.audio.cd-record |
|---|---|
| Message-ID | <[email protected]> |
On 04/13/2012 02:00 PM, Thomas Schmitt wrote:
> Please verify that the readable size is really not aligned to 32 KiB.
>
> I introduced non-alignment only a year ago with version 1.0.6.
> So if yours is older, then the readable size will be aligned.
I think it's all right, if I understood what your meant by "readable size":
$ isoinfo -d -dev=/dev/sr0 | grep 'Volume size'
Volume size is: 138421
The above is valid for DVD burned with cdrskin-1.1.8-1.fc16.x86_64.
> But i wonder how your observation matches these lines in growisofs_mmc.cpp
> if not your patch is applied:
>
> if (dao_blocks!=0 && (lba+nbl)>dao_blocks)
> nbl = dao_blocks-lba;
>
> while (1)
> { cmd[0] = wrvfy?0x2E:0x2A; // WRITE [AND VERIFY] (10)
> cmd[2] = (lba>>24)&0xff; // Logical Block Addrss
> cmd[3] = (lba>>16)&0xff;
> cmd[4] = (lba>>8)&0xff;
> cmd[5] = lba&0xff;
> cmd[7] = (nbl>>8)&0xff;
> cmd[8] = nbl&0xff;
> cmd[9] = 0;
This write command itself is correct, but the "size of data in buffer"
is passed incorrectly -- see the following patch, it fixes the problem
at least on my testing data and seems much more rational than the
previous one.
diff -up dvd+rw-tools-7.1/growisofs_mmc.cpp.lastshort
dvd+rw-tools-7.1/growisofs_mmc.cpp
--- dvd+rw-tools-7.1/growisofs_mmc.cpp.lastshort 2012-04-13
18:09:31.047641524 +0200
+++ dvd+rw-tools-7.1/growisofs_mmc.cpp 2012-04-13 18:09:34.451763587 +0200
@@ -540,7 +540,7 @@ ssize_t poor_mans_pwrite64 (int fd,const
// own higher HZ value and disrespects the user-land one.
// Sending them down as milliseconds is just safer...
//
- if (!(errcode=cmd.transport (WRITE,(void *)buff,size)))
+ if (!(errcode=cmd.transport (WRITE,(void *)buff,nbl*2048)))
break;
//--- WRITE failed ---//
Have a nice weekend,
Honza
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]