(I don't know specifics, but this should be close enough, based on 
journaling on linux)

Journaling is a file-system feature whereby every change to the file 
system is kept in a journal. So say you create a new file named BOB, there 
will be the file named BOB, the pointers that say where BOB is etc, but 
there will also be a file named 'JOURNAL' which contains a line:

2004-10-24 13:43:56.982 CREATE FILE 'BOB' <data-in-file>
2004-10-24 13:45:59.102 MODIFY FILE 'BOB' <diff-between-old-and-new>
2004-10-24 13:47:12.134 DELETE FILE 'BOB'

The reason for this is because while you think there is a file named BOB, 
that file probably only exists in memory to start with and hasn't been 
flushed down to the disk. If the machine crashes, anything that hadn't 
been flushed is lost and the disk is often left in a slightly broken 
state (thus the tool fsck (file system check) on non-journaling systems). 
With a journal, instead of running something like fsck and fixing the 
problems by deleting anything not quite correct, the operating system can 
replay the journal from the last known flush point.

It's a classic programming problem. Talking to resources is slow, so you 
create a cache above the resource. However, now the resource and your 
cache get out of sync with each other and you have a journal which is in 
the fastest part of the resource (aka the disk) and is the only part kept 
up to date all the time. Whenever you flush to disk, you also reset the 
journal.

I would usually not bother to turn the journaling on until the first day I 
have a crash and feel I've lost the data. Bear in mind, that a crash for 
an external drive can be as simple as the cable being pulled out (or maybe 
the power cable). That said, the cost, (assuming Apple's code is mature 
and non-buggy) is pretty low for journalling (from a user perspective). 
It's better to be safe than sorry.

You may find that it's less desirable for lots of small files, or lots of 
large files; it depends on the file-system implementation in question.

That's the brain dump :) Probably lots of corrections needed as this is on 
the edge of my expertise area.

Hen

On Mon, 25 Oct 2004, John Robinson wrote:

> I have a question that the folks in the real know will have an answer for. 
> When I use TechTools Pro to optimize the hard drive I first have to turn off 
> "Journaling".  Once done I then turn it back on.
>
> What is Journaling?
>
> Also, when I mount a firewire drive the Journaling is turned off by default, 
> so, once it is optimized is it better to turn "on" the journaling for the 
> firewire drive?
>
> Thanks, just trying to understand what I am doing at the instruction of the 
> utility software
>
> John R.
>
>
>
> | The next meeting of the Louisville Computer Society will
> | be October 26. The LCS Web page is <http://www.kymac.org>.
> | List posting address: <mailto:macgroup at erdos.math.louisville.edu>
> | List Web page: <http://erdos.math.louisville.edu/macgroup>
>


| The next meeting of the Louisville Computer Society will
| be October 26. The LCS Web page is <http://www.kymac.org>.
| List posting address: <mailto:macgroup at erdos.math.louisville.edu>
| List Web page: <http://erdos.math.louisville.edu/macgroup>


Reply via email to