[Bug 233006] [regression] bsdtar aborts creation of archive on ENOENT
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Nov 5 21:36:46 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233006
Bug ID: 233006
Summary: [regression] bsdtar aborts creation of archive on
ENOENT
Product: Base System
Version: 11.2-STABLE
Hardware: Any
OS: Any
Status: New
Keywords: regression
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: bugs at FreeBSD.org
Reporter: eugen at freebsd.org
CC: mm at FreeBSD.org
Flags: mfc-stable11?, mfc-stable12?
I use nightly periodic job to make an archive by means of tar(1) for a
directory with large set of subdirectories (over 2500) containing two sets of
files: always present RRD databases and frequently created/removed temporary
files. The process of their creation/removal never stops and presence/absence
of temporary files it not important for resulting archieve.
Recently I've found that bsdtar (used as tar for 11.2) aborts archive creation
if it finds that a file disappeared in-process. Plus, it emits strang messages
in this case:
tar: db/parxomenko/71a/.newdata: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors.
: tar format cannot archive socket: tar format cannot archive socket: tar
format cannot archive socket: tar format cannot archive socket
There are no sockets nor file system object types other than regular files or
directories in this tree.
The problem lies in the contrib/libarchive/libarchive/archive_read_disk_posix.c
file, function next_entry() that returns ARCHIVE_FAILED in case of failure of
tree_current_lstat() even for ENOENT case. It should tolerate ENOENT and
continue with execution as it the file in question was not seen at all or found
empty.
GNU tar responds with "File removed before we read it" message and continues.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list