On 02/08/19 15:35, Jeremie Courreges-Anglas wrote:
I think it's fair to give the user a chance to understand why
scan_ffs(8) won't help in this case.
ok?
--- scan_ffs.8.~1.16.~ Mon Mar 24 00:28:46 2008
+++ scan_ffs.8 Fri Feb 8 21:31:10 2019
@@ -136,6 +136,7 @@ you out of a jam when they happen.
.Sh SEE ALSO
.Xr disklabel 8
.Sh BUGS
-It is not perfect, and could do a lot more things with date/time information
+It is not perfect, does not support FFS2 filesystems,
+and could do a lot more things with date/time information
in the superblocks it finds, but this program has saved more than one butt,
more than once.
Scan_ffs checks for the the magic number of the superblock.
--- scan_ffs.c 23 Nov 2015 19:19:30 -0000 1.21
+++ scan_ffs.c 9 Feb 2019 02:13:48 -0000
@@ -67,7 +67,8 @@ ufsscan(int fd, daddr_t beg, daddr_t end
for (n = 0; n < (SBSIZE * SBCOUNT); n += 512){
sb = (struct fs*)(&buf[n]);
- if (sb->fs_magic == FS_MAGIC) {
+ if (sb->fs_magic == FS_UFS1_MAGIC ||
+ sb->fs_magic == FS_UFS2_MAGIC) {
if (flags & FLAG_VERBOSE)
printf("block %lld id %x,%x
size %d\n",
(long long)(blk + (n/512)),
sb->fs_magic == FS_UFS2_MAGIC) {
fixes it.