Date: Mon, 24 Apr 2006 13:41:51 +0400 (MSD) From: Dmitry Morozovsky <marck@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/96252: [patch] sysutils/cpdup can not handle snapshot files Message-ID: <200604240941.k3O9fpOa027568@woozle.rinet.ru> Resent-Message-ID: <200604240950.k3O9oFOm030317@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 96252 >Category: ports >Synopsis: [patch] sysutils/cpdup can not handle snapshot files >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Apr 24 09:50:15 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Dmitry Morozovsky >Release: FreeBSD 6-STABLE i386 >Organization: Cronyx Plus LLC (RiNet ISP) >Environment: System: FreeBSD 6-STABLE >Description: sysutils/cpdup, while being great utility for file systems copy, can not properly handle files with holes, hence is never able to copy snapshot files (wee, on a comparable file systems). The following patch sould fix this by simply skipping inodes with snapshot flag set. >How-To-Repeat: >Fix: #/bin/sh echo c - files mkdir -p files > /dev/null 2>&1 echo x - files/patch-cpdup.c sed 's/^X//' >files/patch-cpdup.c << 'END-of-files/patch-cpdup.c' X X$FreeBSD$ X X--- cpdup.c.orig X+++ cpdup.c X@@ -321,6 +321,11 @@ X X if (lstat(spath, &st1) != 0) X return(0); X+#ifdef SF_SNAPSHOT X+ /* skip snapshot files: we cannot handle files larger than file system */ X+ if (st1.st_flags & SF_SNAPSHOT) X+ return(0); X+#endif X st2.st_mode = 0; /* in case lstat fails */ X st2.st_flags = 0; /* in case lstat fails */ X if (dpath && lstat(dpath, &st2) == 0) END-of-files/patch-cpdup.c patch << 'END-of-Makefile-Patch' Index: Makefile =================================================================== RCS file: /home/ncvs/ports/sysutils/cpdup/Makefile,v retrieving revision 1.11 diff -u -u -r1.11 Makefile --- Makefile 11 Dec 2004 17:49:48 -0000 1.11 +++ Makefile 24 Apr 2006 09:26:34 -0000 @@ -7,6 +7,7 @@ PORTNAME= cpdup PORTVERSION= 1.05 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= http://apollo.backplane.com/FreeBSDPorts/ #MASTER_SITE_SUBDIR= cp END-of-Makefile-Patch exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200604240941.k3O9fpOa027568>