History log of /dflybsd-src/sys/vfs/hammer/hammer_io.c (Results 126 – 128 of 128)
Revision Date Author Comments
# a89aec1b 20-Nov-2007 Matthew Dillon <dillon@dragonflybsd.org>

HAMMER 4/many - more core infrastructure

* Add reserved areas for a boot area and a memory log.

* Add merged scan operations which are the core procedures used to execute
most filesystem operatio

HAMMER 4/many - more core infrastructure

* Add reserved areas for a boot area and a memory log.

* Add merged scan operations which are the core procedures used to execute
most filesystem operations. These functions will access both the
in-memory tree of unsynchronized information and the on-disk topology
to generate a 'merged' result.

Amoung other things this allows the filesystem to hold operations in a
memory cache without actually having to mess with the HAMMER topology
on-disk. The on-disk topology is then updated in a deferred manner.
Disk I/O is entirely avoided for self contained operations which create,
write, and delete related files quickly enough.

* Add unmount sequencing, make mount and df work again.

* Test the reference counting and flushing system on most primary
structures.

* Test basic buffer cache interactions, reading, writing, and lazy
synchronization.

* Start tying VNOPS into the infrastructure. open/close/read/write works
now via the in-memory cache (none of it is synched to the disk topology
yet!). readdir doesn't yet work... the 32 bit cookies are not large
enough.

show more ...


# 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 ...


123456