=== Fpart and fpsync

Links: +
link:https://www.fpart.org[Project site and documentation] URL: link:https://www.fpart.org[https://www.fpart.org] +
link:https://github.com/martymac/fpart[Development] URL: link:https://github.com/martymac/fpart[https://github.com/martymac/fpart] +
link:https://www.freshports.org/sysutils/fpart[Port] URL: link:https://www.freshports.org/sysutils/fpart[https://www.freshports.org/sysutils/fpart]

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 link:https://www.fpart.org/links/[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 link:https://www.fpart.org/changelog/[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:

link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262038[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262038]

It should be merged soon (hopefully).

Last but not least, fpart has been link:https://sill.etalab.gouv.fr/fr/software?id=229[referenced in the French Government's 'SILL'].

==== Contributing

If you are interested in contributing, have a look at the link:https://github.com/martymac/fpart/blob/master/TODO[TODO list].

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