Any update?

Should /I/ create a second bug report and attach it to util-linux? (or
are you going to do the honors?) Thought I saw the current BTS can have a
report shared amoung multiple packages...



The algorithm that comes to mind for this problem:

Pass 0: (/etc/init.d/checkroot.sh)
        Check /; if / is to be mounted read-only, inhibit precautionary
checks (this would require an extended option for the lower-level fsck
implementations); otherwise allow precautionary checks.

Pass 1a: (/etc/init.d/checkfs.sh)
        For each spindle: Check all filesystems, but inhibiting
precautionary checks.

Pass 1b: (/etc/init.d/checkfs.sh)
        For each spindle that had all filesystems clean (lower-level fsck
exited with return code 0), recheck filesystems to be mounted read-write
allowing precautionary checks until one precautionary check is done or
all filesystems have been checked.

Pass 2: (delayed task, queued by init scripts, but post-boot)
        Scan all read-only filesystems, allowing precautionary checks in
background.


Two concerns. First, what is the significance of return codes >=4 from a
low-level fsck? If these merely mean filesystem was altered in a way that
invalidates kernel structures, isn't this non-problematic in the case of
a filesystem that is mounted read-only? (a later remount rw would flush
those, right?)

Second, in what is listed above as "Pass 1b", the low-level fsck needs to
make the decision of which filesystem to check if multiple are candidates
for precautionary checking and it must scan all filesystems on the
spindle. If a system is restarted very infrequently and fsck always goes
for the first candidate (perhaps the one with lowest pass number), the
situation could arise that earlier filesystems might *always* consume the
precautionary check, and later filesystems might starve. Alas, only the
low-level fscks will have information on the last time a filesystem was
checked (I would use greatest time since last check divided by check
interval, followed by amount over maximum mount count at first thought).


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         e...@gremlin.m5p.com PGP F6B23DE0         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
2477\___\_|_/DC21 03A0 5D61 985B <-PGP-> F2BE 6526 ABD2 F6B2\_|_/___/3DE0





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to