FreeBSD The Power to Serve

Fpart and fpsync

Contact: Ganael Laplanche <martymac@FreeBSD.org>

What is fpart ?

Fpart is a filesystem partitioner. It helps you sort file trees and pack them into bags ("partitions").

It uses FreeBSD’s fts(3) implementation (GNU/Linux builds can also use it as an option), which makes it crawl filesystems very fast.

A hook facility is provided to trigger actions on the partitions produced.

What is fpsync ?

Fpsync is a companion script that uses fpart under the hood to parallelize rsync(1) or cpio(1) jobs, making it a simple but powerful data migration tool. Those jobs can be run either locally or remotely (using SSH). Fpsync is often used by researchers and cloud providers where lots of data need to be moved and clusters are available to speed up transfers.

Q1 2022 Status

Both tools continued to evolve and saw several bugs fixed; see the changelog.

Also, a user reported a major bug regarding our fts(3) implementation, which ignores readdir(3) errors. I have reported the bug in our Bugzilla:

It should be merged soon (hopefully).

Last but not least, fpart has been referenced in the French Government’s 'SILL'.

Contributing

If you are interested in contributing, have a look at the TODO list.

Any contribution is welcome, more especially in the field of unit testing.


Last modified on: June 3, 2022 by Lorenzo Salvadore