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

Re: Description of the Journaling topology


From: Miguel Mendez <flynn@xxxxxxxxxxxxxxxxxx>
Date: Wed, 29 Dec 2004 10:54:11 +0100

On Tue, 28 Dec 2004 13:03:20 -0800 (PST)
Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx> wrote:

Hi Matt,

>     The concepts aren't new but my recollection is that most
>     journaling implementations are directly integrated into the
>     filesystem and this tends to limit their flexibility.  Making the
>     journaling a kernel layer and taking into account forward-looking
>     goals really opens up the possibilities.  Forward-looking is not
>     something that people are

All this work on the VFS layer looks very exciting and I agree with most
of what you've said, specially the "Solaris did it that way" comment. To
get to the point, I have a couple of questions about this
implementation.

Where will the log reside? As a special file in /, at the end of the
partition, in another section of the disk? I take a transparent
migration from normal UFS to journaled UFS will be provided, at least I
hope so :)

Are you going to do this as a "black box" or provide an API for
tuning/configuring? I had this idea of writing a journaling FS for
FreeBSD some time ago, even wrote some code and one of my ideas was to
provide a mechanism of hinting the FS with what you wanted to with the
file (IIRC VxFS has some of this functions). The idea was that you could
open any file and issue a set of ioctl calls saying e.g. I want RAW
access to this file, no buffer cache involved (this one I called direct
i/o), or I want that this file deleted in a secure way, or I want
that a kernel event is generated whenever an unauthorized user/program
attempts to access the file. Stuff like that.

A problem I found was that concurrent access to the logging system
exposes new problems you might not have taken into account when first
designing such subsystem, but I'm sure you've thought about that
already. What's your solution for a mutex-less concurrent access to the
log? Is it possible to do without mutexes at all?

Other stuff I wanted to implement, but isn't really related to logging,
was alternate streams (like NTFS has) and rich metadata, like BeFS had.
What do you think about that?

I remember someone (maybe you) talking about per cylinder group dirty
flags on UFS some time ago, to reduce fsck time. This could also be a
nice addition, although this is definitely FS-dependent code.

Like I've said, this looks very interesting and exciting area to work
in. :)

Cheers,
-- 
Miguel Mendez <flynn@xxxxxxxxxxxxxxxxxx>     | lea     gfx_lib(pc),a1
http://www.energyhq.es.eu.org                | moveq   #0,d0
PGP Key: 0xDC8514F1                          | move.l  4.w,a6
I reject all mail from hosts that use SORBS  | jsr     -552(a6)

Attachment: pgp00007.pgp
Description: PGP signature



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