HAMMER update 23-Mar-08

Previous thread: Jail uname spoofing / misc by Chris Turner on Sunday, March 23, 2008 - 12:36 pm. (8 messages)

Next thread: Reminder - Google Summer of Code student applications starting by Justin C. Sherrill on Sunday, March 23, 2008 - 11:18 pm. (1 message)
To: <kernel@...>
Date: Sunday, March 23, 2008 - 10:57 pm

Here's an update on the HAMMER work!

Current status:

* Passes all standard filesystem stress tests and buildworld will
run with a HAMMER /usr/obj. Large histories are able to accumulate
without effecting performance.

* Pruning and reblocking code is in and partially tested, but now needs
more stringent testing.

* Full historical access appears to be working but needs testing.
Note that a sync is still needed to flush dirty cached data prior
to acquiring a timestamp for the 'snapshot' to be set in stone.
(dirty data cached in-memory has no historical tags and must be
committed to physical disk before it can be accessed historically).

Current bugs:

* There is one known bug in the standard operations code paths
that results in an assertion in HAMMER's I/O subsystem.

* There are probably bugs in the reblocking and/or pruning code. More
likely in the reblocking code.

There are two big-ticket and several little-ticket items left. HAMMER
will officially go Alpha when the big-ticket items are done, and beta
when we get a few of the little-ticket items done.

Big ticket items left:

* UNDO (crash recovery) code. Currently it writes out undo records but
they are not yet sequenced, buffer writes are not yet ordered, and
there is no mount-time recovery code yet.

This is the last item needed before HAMMER can go operational.

* Filesystem full handling. Currently no space is reserved for dirty
cached data so it is possible to create/write files and for HAMMER
to not have sufficient space left on-disk to flush it.

Little ticket items:

* Automated reblocking (currently these functions are manually
initialized via the hammer utility).

* I/O clustering and preliminary BMAP op when writing out large files.

* CRC checking (CRC fields are reserved but not entirely generated yet
and not yet checke...

To: <kernel@...>
Date: Monday, March 24, 2008 - 9:19 pm

Wouldn't making timestamp queries (at least from userland) enforce a
sync on the volume in question be useful here?
--
Thomas E. Spanjaard
tgen@netphreax.net

To: <kernel@...>
Date: Monday, March 24, 2008 - 10:38 am

Hi Matt,
That's good to know things are going so well. Got a question. If memory serves
me right, initially there was also going to be a thing called ANVIL, I can't
remember what it was supposed to do and whether its still in your design.
Could you elaborate a little?

Thanks,
Petr

Previous thread: Jail uname spoofing / misc by Chris Turner on Sunday, March 23, 2008 - 12:36 pm. (8 messages)

Next thread: Reminder - Google Summer of Code student applications starting by Justin C. Sherrill on Sunday, March 23, 2008 - 11:18 pm. (1 message)