aboutsummaryrefslogtreecommitdiff
path: root/sysutils/cpdup/files/patch-cpdup.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/cpdup/files/patch-cpdup.c')
-rw-r--r--sysutils/cpdup/files/patch-cpdup.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sysutils/cpdup/files/patch-cpdup.c b/sysutils/cpdup/files/patch-cpdup.c
new file mode 100644
index 000000000000..aa5c1fca53ea
--- /dev/null
+++ b/sysutils/cpdup/files/patch-cpdup.c
@@ -0,0 +1,17 @@
+
+$FreeBSD$
+
+--- cpdup.c.orig
++++ cpdup.c
+@@ -321,6 +321,11 @@
+
+ if (lstat(spath, &st1) != 0)
+ return(0);
++#ifdef SF_SNAPSHOT
++ /* skip snapshot files: we cannot handle files larger than file system */
++ if (st1.st_flags & SF_SNAPSHOT)
++ return(0);
++#endif
+ st2.st_mode = 0; /* in case lstat fails */
+ st2.st_flags = 0; /* in case lstat fails */
+ if (dpath && lstat(dpath, &st2) == 0)