All of lore.kernel.org
 help / color / mirror / Atom feed
* [ZUFS news] pmfs: Announcing PMFS2, PMFS derived ZUFS file system
@ 2019-12-05 18:10 Boaz Harrosh
  0 siblings, 0 replies; only message in thread
From: Boaz Harrosh @ 2019-12-05 18:10 UTC (permalink / raw)
  To: Shachar Sharon, Sagi Manole, Amit Golander, linux-fsdevel

Hi FS Folks

I'm glad to point you to a new open-source (GPLv2) ZUFS based filesystem named pmfs2.
It currently demonstrates 90% of the IO performance possible under ZUFS.
(Meta Data is still sloooow)

PMFS2 takes its core code from the open-source Kernel filesystem on Github *pmfs*
(https://github.com/linux-pmfs/pmfs) fills in some glue code from toyfs and demonstrates
a very good IO performance.
(Reads better then writes because block-allocator does not yet scale)

Fine it all on Github:
	https://github.com/sagimnl/pmfs2

Please start with the README file (url above). This code is part of the *zus* user-mode server
build system. And also read the documentation in the netapp/zufs-zus project.

Currently the main code taken from *pmfs* is in btree.c which gives a very good structure
of an inode's blocks allocation. It is very similar to a radix-tree with natural sizes similar
to the Intel mmu (4K, 2M, 1G ...) so the max needed tree hight is 5. The original support of
2M blocks and 1G blocks is also supported in the original code. The support is still there but
is not wired into higher layers yet.

Data files, Directories, Inode-Table, xattrs, are all inode-btree structures. So the IT
is extensible just as a normal file.

The Directory structure within the inode-btree linear space is a flat link-list taken from toyfs
and therefor does not scale well on big Directories. Its on a TODO. Perhaps port the ext4
directory btree+ structure. (Original pmfs had the linear ext2 directories so it was just the
same)

otherwise this code is pretty small and simple. But can be a good place to start your next
ZUFS project

[license]
The code as *pmfs* is GPLv2. Therefor it is its own git tree that needs to be cloned within
the zufs-zus project directory structure. Then the user may compile and load it on her own
machine.
ANY changes please send via the Github system and it will be reviewed and pulled into the next
release.

Cheers
Boaz, Shachar & Sagi

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-12-05 18:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-05 18:10 [ZUFS news] pmfs: Announcing PMFS2, PMFS derived ZUFS file system Boaz Harrosh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.