History log of /dflybsd-src/sys/vfs/hammer/hammer_vfsops.c (Results 176 – 179 of 179)
Revision Date Author Comments
# 8cd0a023 19-Nov-2007 Matthew Dillon <dillon@dragonflybsd.org>

HAMMER 3/many - more core infrastructure.

* Add an in-memory B-Tree node abstraction
* Add an in-memory record abstraction.
* Put the B-Tree cursor code in its own source file.
* Fill in more of the

HAMMER 3/many - more core infrastructure.

* Add an in-memory B-Tree node abstraction
* Add an in-memory record abstraction.
* Put the B-Tree cursor code in its own source file.
* Fill in more of the VOP code.

* Do a major clean-up of all in-memory structures and some on-disk
structures. All the major in-memory structures now use similarly
named functions.

* Move inter-cluster link from a B-Tree leaf node to a B-Tree internal
node, giving us a left and right boundary to play with. This simplifies
the algorithms by quite a bit.
* Allow the B-Tree to be unbalanced by moving the sub-type from the B-Tree
node header to the B-Tree element structure.

* Revamp the I/O infrastructure, in particular allow B-Tree nodes to be
held passively.
* Implement a flexible B-Tree node cache. References into the B-Tree can
be cached by inodes. If the related buffer is flushed by the system, the
related cache pointers will be cleared.

show more ...


# 66325755 07-Nov-2007 Matthew Dillon <dillon@dragonflybsd.org>

HAMMER part 2/many.

* Implement most of the I/O infrastructure and internal HAMMER tracking
structures for volumes, super-clusters, clusters, and buffers.

* Flesh out the B-Tree code and add an i

HAMMER part 2/many.

* Implement most of the I/O infrastructure and internal HAMMER tracking
structures for volumes, super-clusters, clusters, and buffers.

* Flesh out the B-Tree code and add an iterator.

* Implement a good chunk of the vnops, but no modifying operations yet.

* Implement passive filesystem buffer tracking which allows a struct buf
to remain associated with internal HAMMER data structures and also
provides a reverse path whereby the filesystem buffer cache drives
garbage collection of internal HAMMER data structures. Use the augmented
bio_ops to facilitate this.

* Skeleton for transactions, spikes, and object allocation & management.

show more ...


# 27ea2398 02-Nov-2007 Matthew Dillon <dillon@dragonflybsd.org>

HAMMER 2/many - core mount and unmount code now works, the B-Tree search
properly locates the root inode (though the root is a degenerate leaf in
a newly formatted filesystem so it isn't much of a te

HAMMER 2/many - core mount and unmount code now works, the B-Tree search
properly locates the root inode (though the root is a degenerate leaf in
a newly formatted filesystem so it isn't much of a test).

Properly implement special cases for hammer_btree_cmp() for the handling
of the creation and deletion transaction ids. In particular a create_tid
for key1 indicates 'the most recent version if not deleted' and a delete_tid
for key2 indicates a record which has not yet been deleted.

show more ...


# 427e5fc6 01-Nov-2007 Matthew Dillon <dillon@dragonflybsd.org>

HAMMER part 1/many. This is a clear-my-plate commit.

* Skeleton VFS infrastructure. No VFS ops yet.
* Core B-Tree infrastructure - including the delete & rebalance code, but
not yet including th

HAMMER part 1/many. This is a clear-my-plate commit.

* Skeleton VFS infrastructure. No VFS ops yet.
* Core B-Tree infrastructure - including the delete & rebalance code, but
not yet including the cluster extension code.
* Core in-memory structures and related locking and tracking primitives.
* Core A-List (allocator) and buffer management infrastructure.

show more ...


12345678