diff options
-rw-r--r-- | sbin/dump/traverse.c | 10 | ||||
-rw-r--r-- | sbin/fsirand/fsirand.c | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index 332bc273..08e5e23 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -63,6 +63,12 @@ union dinode { #define DIP(dp, field) \ ((sblock->fs_magic == FS_UFS1_MAGIC) ? \ (dp)->dp1.field : (dp)->dp2.field) +#define DIP_SET(dp, field, val) do {\ + if (sblock->fs_magic == FS_UFS1_MAGIC) \ + (dp)->dp1.field = (val); \ + else \ + (dp)->dp2.field = (val); \ + } while (0) #define HASDUMPEDFILE 0x1 #define HASSUBDIRS 0x2 @@ -446,8 +452,8 @@ dumpino(union dinode *dp, ino_t ino) * as a zero length file. */ if ((DIP(dp, di_flags) & SF_SNAPSHOT) != 0) { - DIP(dp, di_size) = 0; - DIP(dp, di_flags) &= ~SF_SNAPSHOT; + DIP_SET(dp, di_size, 0); + DIP_SET(dp, di_flags, DIP(dp, di_flags) & ~SF_SNAPSHOT); } if (sblock->fs_magic == FS_UFS1_MAGIC) { spcl.c_mode = dp->dp1.di_mode; diff --git a/sbin/fsirand/fsirand.c b/sbin/fsirand/fsirand.c index 7b6274f..defdf52 100644 --- a/sbin/fsirand/fsirand.c +++ b/sbin/fsirand/fsirand.c @@ -274,9 +274,10 @@ fsirand(char *device) inumber, sblock->fs_magic == FS_UFS1_MAGIC ? (quad_t)dp1->di_gen : dp2->di_gen); + else if (sblock->fs_magic == FS_UFS1_MAGIC) + dp1->di_gen = random(); else - (sblock->fs_magic == FS_UFS1_MAGIC ? - dp1->di_gen : dp2->di_gen) = random(); + dp2->di_gen = random(); } } |