[PATCH] tar --to-command
Ladislav Michl
Ladislav.Michl at seznam.cz
Sat Jun 26 22:35:09 UTC 2010
On Sat, Jun 26, 2010 at 06:24:06PM +0200, Denys Vlasenko wrote:
> On Friday 25 June 2010 15:11, Ladislav Michl wrote:
> > GNU tar handles this special way, ignoring write errors when piping to command.
>
> Thanks, fixed:
>
> http://git.busybox.net/busybox/commit/?id=d0a8a0d31243f2ac798531ced2cca45ddf1fea42
Seek optimization was dropped, but that's only minor performance issue, which
is indeed not worth doing. However sometning like this is needed to work with
copybuf <= 4kB ...
diff --git a/libbb/copyfd.c b/libbb/copyfd.c
index 2538d49..0a124bb 100644
--- a/libbb/copyfd.c
+++ b/libbb/copyfd.c
@@ -17,19 +17,19 @@ static off_t bb_full_fd_action(int src_fd, int dst_fd, off_t size)
{
int status = -1;
off_t total = 0;
+ bool continue_on_write_error = 0;
#if CONFIG_FEATURE_COPYBUF_KB <= 4
char buffer[CONFIG_FEATURE_COPYBUF_KB * 1024];
enum { buffer_size = sizeof(buffer) };
#else
char *buffer;
int buffer_size;
- bool continue_on_write_error = 0;
-
+#endif
if (size < 0) {
size = -size;
continue_on_write_error = 1;
}
-
+#if CONFIG_FEATURE_COPYBUF_KB > 4
if (size > 0 && size <= 4 * 1024)
goto use_small_buf;
/* We want page-aligned buffer, just in case kernel is clever
More information about the busybox
mailing list