Bug 165950 - [ffs] SU+J and fsck problem
Summary: [ffs] SU+J and fsck problem
Status: Closed Unable to Reproduce
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 9.0-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-fs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-11 21:30 UTC by jb.1234abcd
Modified: 2015-07-02 20:37 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jb.1234abcd 2012-03-11 21:30:13 UTC
FB9.0-RELEASE; no updates or recompilation.

In multi-user mode:
$ mount
/dev/ada0s2a on / (ufs, local, journaled soft-updates)
The fs was in normal state (no known problem, clean shutdown),

Booted by choice in single-user mode.

# mount
/dev/ada0s2a on / (ufs, local, read-only)

# fsck -F
** /dev/ada0s2a

USE JOURNAL? [yn] y

** SU+J recovering /dev/ada0s2a
** Reading 33554432 byte journal from inode 4.

RECOVER? [yn] y

** ...
** Processing journal entries.

WRITE CHANGES? [yn] y

** 208 journal records in 13312 bytes for 50% utilization
** Freed 0 inodes (0 dirs) 6 blocks, and 0 frags.

***** FILE SYSTEM MARKED CLEAN ****

# fsck -F
** /dev/ada0s2a

USE JOURNAL? [yn] n

** Skipping journal, falling through to full fsck

** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
INCORRECT BLOCK COUNT I=114700 (8 should be 0) 
CORRECT? [yn] n

INCORRECT BLOCK COUNT I=196081 (32 should be 8) 
CORRECT? [yn] n

INCORRECT BLOCK COUNT I=474381 (32 should be 8) 
CORRECT? [yn] n

** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLOCK COUNTS(S) WRONG IN SUPERBLK
SALVAGE? [yn] n

SUMMARY INFORMATION BAD
SALVAGE? [yn] n

BLK(S) MISSING IN BIT MAPS
SALVAGE? [yn] n

266075 files, 939314 used, 1896628 free (2724 frags, 236738 blocks, 0.1%
fragmentation)

***** FILE SYSTEM MARKED DIRTY *****

***** FILE SYSTEM WAS MODIFIED *****

***** PLEASE RERUN FSCK *****

# fsck -F
** /dev/ada0s2a

USE JOURNAL? [yn] y

** SU+J recovering /dev/ada0s2a
Journal timestamp does not match fs mount time
** Skipping journal, falling through to full fsck 

** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
INCORRECT BLOCK COUNT I=114700 (8 should be 0) 
CORRECT? [yn] y

INCORRECT BLOCK COUNT I=196081 (32 should be 8) 
CORRECT? [yn] y

INCORRECT BLOCK COUNT I=474381 (32 should be 8) 
CORRECT? [yn] y

** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLOCK COUNTS(S) WRONG IN SUPERBLK
SALVAGE? [yn] y

SUMMARY INFORMATION BAD
SALVAGE? [yn] y

BLK(S) MISSING IN BIT MAPS
SALVAGE? [yn] y

266075 files, 939314 used, 1896629 free (2725 frags, 236738 blocks, 0.1%
fragmentation)

***** FILE SYSTEM MARKED CLEAN *****

***** FILE SYSTEM WAS MODIFIED *****

#

Summary:
1. # fsck -F          ## recovery done with J

2. # fsck -F          ## no recovery; fs marked dirty; time stamp modified
     Why during this step there were incorrect block counts reported if the fs
     was recovered and marked clean in step 1 ?
     Despite the fact that choice of no recovery was made, the fs was marked
     dirty (based on false assumption above ?, and time stamp ?)

3. # fsck -F          ## forced skipped Journal
     Same question as in step 2,
     based on which it accepted the choice of recovery ...
     Note:
     after step 2:
       1896628 free and 2724 frags in
       266075 files, 939314 used, 1896620 free (2724 frags, 236738 blocks, ...
     after step 3:
       1896629 free and 2725 frags in
       266075 files, 939314 used, 1896629 free (2725 frags, 236738 blocks, ...

Questions:
- is the fsck working properly with SU+J fs ?
  Note:
  fsck(8)
    -F ...
    -B ...
       It is recommended that you perform foreground fsck on your systems
       periodically and whenever you encounter file-system-related panics.

How-To-Repeat: I re-run the same tests today (2 days later).

Summary:
1. # fsck -F          ## recovery done with J (as in step 1 previously)
2. # fsck -F          ## no errors (like those in step 2 previously);
                         fs marked clean

** /dev/ada0s2a

USE JOURNAL? [yn] y

** SU+J recovering /dev/ada0s2a
Journal timestamp does not match fs mount time
** Skipping journal, falling through to full fsck 

** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
   Phase 2 thru 5

***** FILE SYSTEM MARKED CLEAN *****
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2012-03-12 01:00:07 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-fs

Over to maintainer(s).
Comment 2 jb.1234abcd 2012-10-30 10:01:43 UTC
Request to close by submitter.
I have not seen more of this behavior since reporting it.
jb