diff options
author | mckusick <mckusick@FreeBSD.org> | 2002-11-27 02:18:58 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2002-11-27 02:18:58 +0000 |
commit | 9251693096205ec24c8f8eec7bd9f516b3bb70e5 (patch) | |
tree | d1928be6bf74e88babe007808d7eaa98444918f3 /sbin/dump/main.c | |
parent | 4b6c4bf70dda32c0c61b5380253299edaff0df5b (diff) | |
download | FreeBSD-src-9251693096205ec24c8f8eec7bd9f516b3bb70e5.zip FreeBSD-src-9251693096205ec24c8f8eec7bd9f516b3bb70e5.tar.gz |
Create a new 32-bit fs_flags word in the superblock. Add code to move
the old 8-bit fs_old_flags to the new location the first time that the
filesystem is mounted by a new kernel. One of the unused flags in
fs_old_flags is used to indicate that the flags have been moved.
Leave the fs_old_flags word intact so that it will work properly if
used on an old kernel.
Change the fs_sblockloc superblock location field to be in units
of bytes instead of in units of filesystem fragments. The old units
did not work properly when the fragment size exceeeded the superblock
size (8192). Update old fs_sblockloc values at the same time that
the flags are moved.
Suggested by: BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk>
Sponsored by: DARPA & NAI Labs.
Diffstat (limited to 'sbin/dump/main.c')
-rw-r--r-- | sbin/dump/main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sbin/dump/main.c b/sbin/dump/main.c index f4f108b..bc45eae 100644 --- a/sbin/dump/main.c +++ b/sbin/dump/main.c @@ -350,8 +350,7 @@ main(int argc, char *argv[]) bread(sblock_try[i] >> dev_bshift, (char *) sblock, SBLOCKSIZE); if ((sblock->fs_magic == FS_UFS1_MAGIC || (sblock->fs_magic == FS_UFS2_MAGIC && - sblock->fs_sblockloc == - numfrags(sblock, sblock_try[i]))) && + sblock->fs_sblockloc == sblock_try[i])) && sblock->fs_bsize <= MAXBSIZE && sblock->fs_bsize >= sizeof(struct fs)) break; |