git: hammer2 - pfsmount -> clustermount separation part 2
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Jun 14 17:51:59 PDT 2013
commit a5913bdf3d73105a543cea7bc1b55768ddd56541
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Jun 14 17:44:25 2013 -0700
hammer2 - pfsmount -> clustermount separation part 2
* Further separate the high-level VNOPS/inode (hammer2_pfsmount) layer
from the lower level device (hammer2_mount, hammer2_chain) layer.
* Remove hmp fields from hammer2_trans and hammer2_inode.
* Add hammer2_cluster to the pfsmount as degenerate case for now. This
will be used to list all devices backing the PFS mount, pertaining to
the copies mechanism.
* Run all logical (file) buffer cache operations through the device buffer
cache. Remove previous direct-mapped shortcuts and disable BMAP for now.
Basically the issue here is that with multiple devices backing a HAMMER2
mount, the normal file buffer cache 'cached disk offset' operations used
to shortcut I/O just won't work. We can add the shortcut back in later
for single-backing-device mounts but for now separate them out entirely
and bcopy() between them.
* This will also make it easier for the GSOC H2 file compression project.
* Restore some of the lost performance by using the newly implemented
cluster_readcb() buffer cache function.
Summary of changes:
sys/sys/dmsg.h | 3 +-
sys/vfs/hammer2/hammer2.h | 56 ++++--
sys/vfs/hammer2/hammer2_ccms.c | 7 +
sys/vfs/hammer2/hammer2_ccms.h | 1 +
sys/vfs/hammer2/hammer2_chain.c | 172 ++++++++++++++--
sys/vfs/hammer2/hammer2_flush.c | 26 +--
sys/vfs/hammer2/hammer2_freemap.c | 39 ++--
sys/vfs/hammer2/hammer2_inode.c | 26 +--
sys/vfs/hammer2/hammer2_ioctl.c | 39 ++--
sys/vfs/hammer2/hammer2_vfsops.c | 196 +++++++++---------
sys/vfs/hammer2/hammer2_vnops.c | 412 ++++++++++++++++++--------------------
11 files changed, 557 insertions(+), 420 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a5913bdf3d73105a543cea7bc1b55768ddd56541
--
DragonFly BSD source repository
More information about the Commits
mailing list