DragonFly BSD
DragonFly kernel List (threaded) for 2004-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: UFS2 (was Re: Junior kernel hacking)

From: Joerg Sonnenberger <joerg@xxxxxxxxxxxxxxxxx>
Date: Wed, 14 Jan 2004 17:15:06 +0100

CCed to kernel@

On Wed, Jan 14, 2004 at 10:59:45AM -0500, David Rhodus wrote:
> Joerg Sonnenberger wrote:
> >I don't thing we want that / need that. For the moment porting the
> >"mount of unclean softdep fs" would be enough. I'm not sure, but
> >providing additional hooks to free blocks from userspace and perhaps
> >some more could be enough to implement 'background' fsck. IMO having
> >being able to mount the fs is the most important feature, the rest can
> >wait.
> >
> >Joerg
> > 
> >
> I don't understand anything you just said. :-)
> You awake yet ? heheh :-)

Well awake yes, enough sleep no. Basically the snapshots are most important
for background fsck and backups. The later is of lesser interest ATM, but
the former hurds. FreeBSD 5's FFS contains some code to recalculate certain
counters of an unclean softdep fs. If we have this code in our tree, it is
possible to reliably mount such an unclean fs w/o negative side effects. The
only reason for the background fsck is find and clean unused inodes and
blocks, but this is not time-critical as long as enough space is free.

The interesting question is what is needed by fsck to find this inodes and
blocks and free them. I thought about a message queue between the fs code
and fsck to give fsck informations about deletion / addition of inodes/links
and the ability to set active block bitmaps. E.g. whenever a background fs
is running and a block is released and reallocated, fsck is informed. This
should be enough to find this unused inodes and blocks and call the normal
kernel-level free routine.


> -DR

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]