summaryrefslogtreecommitdiffstats
path: root/sbin/dump
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2007-02-27 07:28:17 +0000
committermckusick <mckusick@FreeBSD.org>2007-02-27 07:28:17 +0000
commit325fee4370b0488b1ada13dbf12773262a771371 (patch)
tree20cd12805896ba5ab8fa7782b644151d44cca80b /sbin/dump
parentb7672bad26dbe5a50937a2e258fe957b1bc19a8d (diff)
downloadFreeBSD-src-325fee4370b0488b1ada13dbf12773262a771371.zip
FreeBSD-src-325fee4370b0488b1ada13dbf12773262a771371.tar.gz
Fix an error in dumping large sparse files containing extended attributes.
Diffstat (limited to 'sbin/dump')
-rw-r--r--sbin/dump/traverse.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c
index cb170d1..d3415b7 100644
--- a/sbin/dump/traverse.c
+++ b/sbin/dump/traverse.c
@@ -688,7 +688,7 @@ ufs2_blksout(union dinode *dp, ufs2_daddr_t *blkp, int frags, ino_t ino,
else
spcl.c_addr[j - i] = 0;
spcl.c_count = count - i;
- if (last && !writingextdata)
+ if (last && count == blks && !writingextdata)
added = appendextdata(dp);
writeheader(ino);
bp = &blkp[i / tbperdb];
@@ -701,7 +701,7 @@ ufs2_blksout(union dinode *dp, ufs2_daddr_t *blkp, int frags, ino_t ino,
}
spcl.c_type = TS_ADDR;
spcl.c_count = 0;
- if (last && !writingextdata) {
+ if (last && count == blks && !writingextdata) {
writingextdata = 1;
writeextdata(dp, ino, added);
writingextdata = 0;
OpenPOWER on IntegriCloud