diff --git a/cdrskin/cdrfifo.c b/cdrskin/cdrfifo.c index 26d28db..19f727d 100644 --- a/cdrskin/cdrfifo.c +++ b/cdrskin/cdrfifo.c @@ -28,7 +28,20 @@ #ifndef Cdrfifo_standalonE /* for burn_os_alloc_buffer() */ #include "../libburn/libburn.h" -#define Libburn_has_open_trac_srC 1 + +/* ts B91124: + DISABLED, because this spoils multi-track burning by slowing down first + track and stalling before the second track begins. Obviously a problem + with chained input and waiting for full O_DRIECT suitable read chunks. + DO NOT ENABLE before the wait code in this source file is fixed. + That long, ./configure option --enable-track-src-odirect must not + get into effect in libburn. NO -DLibburn_read_o_direcT either. + + For extra safety, O_DIRECT has been banned in libburn/sg-linux.c too. + + # def ine Libburn_has_open_trac_srC 1 +*/ + #endif #include "cdrfifo.h" diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index c47ab80..ec4f0e7 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2019.10.26.143001" +#define Cdrskin_timestamP "2019.11.25.094931" diff --git a/configure.ac b/configure.ac index a783a77..aa20c00 100644 --- a/configure.ac +++ b/configure.ac @@ -218,11 +218,12 @@ CFLAGS="$STATVFS_DEF $CFLAGS" dnl ts A91122 AC_ARG_ENABLE(track-src-odirect, -[ --enable-track-src-odirect Enable use of O_DIRECT with track input, default=no], +[ --enable-track-src-odirect Banned for now: (Enable use of O_DIRECT with track input, default=no)], , enable_track_src_odirect=no) if test x$enable_track_src_odirect = xyes; then - LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT" - echo "enabled use of O_DIRECT with track input" +# LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT" +# echo "enabled use of O_DIRECT with track input" + echo "REFUSED to enable use of O_DIRECT with track input because of cdrskin multi-track bug" else LIBBURN_O_DIRECT_DEF= echo "disabled use of O_DIRECT with track input" diff --git a/libburn/sg-linux.c b/libburn/sg-linux.c index 10cdd3c..f665ec8 100644 --- a/libburn/sg-linux.c +++ b/libburn/sg-linux.c @@ -111,6 +111,15 @@ Hint: You should also look into sg-freebsd-port.c, which is a younger and /** PORTING : ------- OS dependent headers and definitions ------ */ +#ifdef Libburn_read_o_direcT +/* ts B91124: + DISABLED, because this spoils multi-track burning of cdrskin by a hard to + fix bug in cdrskin/cdrfifo.c + DO NOT ENABLE before the wait code in that source file is fixed. +*/ +#undef Libburn_read_o_direcT +#endif + #ifdef Libburn_read_o_direcT # ifndef _GNU_SOURCE