diff options
| author | Kirk McKusick <mckusick@FreeBSD.org> | 2002-11-30 23:28:22 +0000 |
|---|---|---|
| committer | Kirk McKusick <mckusick@FreeBSD.org> | 2002-11-30 23:28:22 +0000 |
| commit | be5b1425313f9bcfdd3d8441c107c05f7f85c2c7 (patch) | |
| tree | 4b0746221f2c925a0aca6c639d6343e89e3de7c0 | |
| parent | 01e7d8319d5afb5ed0fe184f9c24260377773cb9 (diff) | |
Notes
| -rw-r--r-- | sbin/dump/traverse.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index 612f97016eae..b618cdfe91bd 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -401,6 +401,14 @@ dumpino(union dinode *dp, ino_t ino) dumpmap(dumpinomap, TS_BITS, ino); } CLRINO(ino, dumpinomap); + /* + * Zero out the size of a snapshot so that it will be dumped + * as a zero length file. + */ + if ((DIP(dp, di_flags) & SF_SNAPSHOT) != 0) { + DIP(dp, di_size) = 0; + DIP(dp, di_flags) &= ~SF_SNAPSHOT; + } if (sblock->fs_magic == FS_UFS1_MAGIC) { spcl.c_mode = dp->dp1.di_mode; spcl.c_size = dp->dp1.di_size; @@ -442,7 +450,6 @@ dumpino(union dinode *dp, ino_t ino) /* * Check for short symbolic link. */ -#ifdef FS_44INODEFMT if (DIP(dp, di_size) > 0 && DIP(dp, di_size) < sblock->fs_maxsymlinklen) { spcl.c_addr[0] = 1; @@ -458,7 +465,6 @@ dumpino(union dinode *dp, ino_t ino) writerec(buf, 0); return; } -#endif /* FALLTHROUGH */ case S_IFDIR: |
