Where to start?

Eric Anderson anderson at freebsd.org
Tue Jan 23 14:18:24 UTC 2007


On 01/23/07 04:10, Oliver Fromme wrote:
> Vasil Dimov wrote:
>  > [discussion moved from freebsd-hackers@ to freebsd-geom@]
>  > Oliver Fromme wrote:
>  > > Vasil Dimov wrote:
>  > > > Mike Silbersack wrote:
>  > > > > Soeren Straarup wrote:
>  > > > > [...]
>  > > > > > I'm looking for a project.
>  > > > > [...]
>  > > > > I'd like to see the ability to run gjournal without reformatting.
>  > > > > If you could create a dummy file inside the filesystem, then use
>  > > > > that area for the journal, it might be possible.  I'm sure that
>  > > > > would let a lot more people see if journalling is right for them.
>  > > > 
>  > > > I am not sure about gjournal internals but what if a system crash
>  > > > occurs in the middle of a transaction and the fs gets corrupted and
>  > > > the data, necessary to fix it is in the journal, but you cannot
>  > > > access the journal because the file, which contains the journal,
>  > > > is on a corrupted fs?
>  > > 
>  > > I think you should still be able to mount the file system
>  > > read-only, even if it's not "clean", so there's no problem
>  > > locating the journal file.  Particularly, note that the
>  > > journal file should probably be located in the root of the
>  > > file system, and it will have a constant size and should
>  > > be allocated from the start (i.e. it never grows nor
>  > > changes allocation), which means there is no way that its
>  > > meta data could be damaged.
>  > [...]
>  > 
>  > With gjournal not only the metadata is journaled but also the actual
>  > data (e.g. files' contents). So writes to the journal file (which is a
>  > "regular file" on the FS) should bypass the journaling stuff. Otherwise
>  > they will get journaled themselves and it will end up in an endless
>  > loop.
> 
> Right.  That's a point I forgot.  The journal file would
> be required to have its data be exempt from being journaled.
> That's probably not trivial to implement, I'm afraid (but
> I could be wrong).
> 
>  > This thing still looks to me like roping your chest to your leg (instead
>  > of to an unmovable object) in order to avoid falling, but I might be
>  > wrong...
> 
> True, it's certainly not a clean nor efficient solution.
> But Mike has a valid point that it would enable people to
> turn on journaling on existing file systems, without the
> need for repartitioning or adding a disk.  It would be a
> nice way to _quickly_ set up journaling, for testing
> purposes, or simply for curiosity.

Why not disable swap, use the swap partition as the new journaling 
device, and then enable vn-backed swap for the system?


> BTW, I think in Solaris you can also add journaling to an
> existing UFS partition on the fly, without the need for
> newfs or adding space.  (Provided that there is enough
> free space inside the existing file system, of course.)

Sure - many journaling fs have that ability.  There's been several 
attempts in the past to add journaling to our UFS2, without completion.


Eric





More information about the freebsd-geom mailing list