-
Notifications
You must be signed in to change notification settings - Fork 0
Haskell bindings for libnfs (NFS client library)
License
redlicha/hnfs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# hnfs - Haskell bindings for the libnfs NFS client library ## Overview ### Library Hnfs provides Haskell bindings for the libnfs NFS client library which is developed at https://github.com/sahlberg/libnfs . These bindings use the c2hs tool and were first and foremost created as an exercise in learning Haskell. The interface is not yet considered stable (see TODO), and neither is the code - use at your own risk. Hnfs exposes both the synchronous and the asynchronous interface of libnfs but eschews its "raw" API. The nfs_url API is also omitted for the time being. ### hnfs-tester Hnfs comes with hnfs-tester, a test tool based on Tasty to exercise the code against an existing NFS export. Usage: hnfs-tester --server 127.0.0.1 --export /srv/test/ hnfs-tester *SHOULD NOT* be run against an NFS export that is used in production as it could lead to data loss. ## Installation Notes * Get libnfs from https://github.com/aredlich/libnfs as it contains a few modifications which are not pushed upstream yet. * The version numbers listed in hnfs.cabal are based on the system hnfs is developed on; older versions might work as well - YMMV. * c2hs 0.16.6 from cabal currently does not work and older versions don't support `offsetof' which is needed by Nfs.chs yet. Getting it from https://github.com/haskell/c2hs fixes it (at the time of writing: commit 4ac173844, still identifies itself as 0.16.6). ## Known Issues * The asynchronous tests succeed but print the following to stderr: "hnfs-tester: ioManagerDie: write: Bad file descriptor" . This seems to be caused by https://ghc.haskell.org/trac/ghc/ticket/5443 . ## TODO * Improve documentation - currently mostly stubs. * Revisit error handling - use exceptions instead of / together with Either? * Make tests more fine grained * More tests * Split library up into Nfs.Base, Nfs.Sync and Nfs.Async? ## License Just as libnfs, hnfs and hnfs-tester is available under LGPL v2.1 - see the LICENSE file. ## Contact Feedback is very welcome - feel free to contact me with questions / suggestions / bug reports via mail or github's tools (pull requests and issue tracker).
About
Haskell bindings for libnfs (NFS client library)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published