From owner-cvs-src@FreeBSD.ORG Sat May 21 19:45:57 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 132BE16A4CE; Sat, 21 May 2005 19:45:57 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E928543D1D; Sat, 21 May 2005 19:45:56 +0000 (GMT) (envelope-from kientzle@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j4LJjuSP072019; Sat, 21 May 2005 19:45:56 GMT (envelope-from kientzle@repoman.freebsd.org) Received: (from kientzle@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j4LJjuQN072018; Sat, 21 May 2005 19:45:56 GMT (envelope-from kientzle) Message-Id: <200505211945.j4LJjuQN072018@repoman.freebsd.org> From: Tim Kientzle Date: Sat, 21 May 2005 19:45:56 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/lib/libarchive Makefile archive_platform.h archive_read_extract.c configure.ac.in X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 May 2005 19:45:57 -0000 kientzle 2005-05-21 19:45:56 UTC FreeBSD src repository Modified files: lib/libarchive Makefile archive_platform.h archive_read_extract.c configure.ac.in Log: Start to address the race issue between restoring a file's contents and restoring the metadata. In particular, the metadata-restore functions now all accept a file descriptor and a pathname. If the file descriptor is set and the platform supports the appropriate syscall, restore the metadata through the file descriptor. Otherwise, restore it through the pathname. This is complicated by varying syscall support (FreeBSD has an fchmod(2) but no fchflags(2), for example) and because non-file entries don't have an fd to use in restoring attributes (for example, mknod(2) doesn't return a file handle). MFC after: 14 days Revision Changes Path 1.35 +1 -1 src/lib/libarchive/Makefile 1.15 +13 -0 src/lib/libarchive/archive_platform.h 1.40 +188 -103 src/lib/libarchive/archive_read_extract.c 1.5 +3 -2 src/lib/libarchive/configure.ac.in