Hello community, here is the log from the commit of package dvd+rw-tools checked in at Thu Apr 13 15:09:19 CEST 2006. -------- --- dvd+rw-tools/dvd+rw-tools.changes 2006-04-04 14:41:34.000000000 +0200 +++ STABLE/dvd+rw-tools/dvd+rw-tools.changes 2006-04-12 11:31:55.000000000 +0200 @@ -0,0 +1,6 @@ +------------------------------------------------------------------- +Wed Apr 12 11:29:38 CEST 2006 - adrian@suse.de + +- fix dvd burning from NFS located files (by okir, #149905) + +------------------------------------------------------------------- New: ---- growisofs-directio-limit.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dvd+rw-tools.spec ++++++ --- /var/tmp/diff_new_pack.JdkWtd/_old 2006-04-13 15:08:38.000000000 +0200 +++ /var/tmp/diff_new_pack.JdkWtd/_new 2006-04-13 15:08:38.000000000 +0200 @@ -16,12 +16,13 @@ Group: Productivity/Multimedia/CD/Record Autoreqprov: on Version: 6.1 -Release: 9 +Release: 12 Source: dvd+rw-tools-%{version}.tar.bz2 URL: http://fy.chalmers.se/~appro/linux/DVD+RW/ Summary: Collection of Tools for Mastering DVD+RW/+R Media BuildRoot: %{_tmppath}/%{name}-%{version}-build Patch1: rpm_opt_flags.diff +Patch2: growisofs-directio-limit.diff Patch4: utf8ize.patch Patch5: expand-memlock Patch6: pthread-stacksize @@ -36,6 +37,7 @@ %prep %setup -q %patch1 +%patch2 %patch4 %patch5 -p1 %patch6 -p1 @@ -63,6 +65,8 @@ /usr/bin/rpl8 %changelog -n dvd+rw-tools +* Wed Apr 12 2006 - adrian@suse.de +- fix dvd burning from NFS located files (by okir, #149905) * Tue Apr 04 2006 - rw@suse.de - don't set thread stacksize below PTHREAD_STACK_MIN (#160312) * Sat Feb 18 2006 - ak@suse.de ++++++ growisofs-directio-limit.diff ++++++ --- growisofs.c +++ growisofs.c @@ -506,6 +506,7 @@ static pwrite64_t pwrite64_method = pwri */ static char *the_buffer; static unsigned int the_buffer_size=DEFAULT_BUF_SIZE_MB*1024*1024; +static unsigned int directio_chunk = 4 * 1024 * 1024; /* * Synchronization objects @@ -1968,10 +1969,15 @@ int builtin_dd (int infd,int outfd,off64 highest_ecc_block = off/DVD_BLOCK; assert (highest_ecc_block==2); /* Fill the_buffer up to the_buffer_size */ - while ((n=read (infd,the_buffer+off,the_buffer_size-off)) > 0) - { off += n; - if (off == the_buffer_size) + while (off < the_buffer_size) { + unsigned int to_read = the_buffer_size - off; + + if (to_read > directio_chunk) + to_read = directio_chunk; + + if ((n = read(infd, the_buffer+off, to_read)) <= 0) break; + off += n; } if (n<0) goto out; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...