HFuse: ls fails in HelloFS

Hello, I've installed the HFuse package from hackage and am playing with the HelloFS example in the System/Posix/HFuse directory. The problem that I encounter is that listing the directory doesn't work: % ghc --make HelloFS.hs [1 of 1] Compiling Main ( HelloFS.hs, HelloFS.o ) Linking HelloFS ... % mkdir bla % ./HelloFS bla % cd bla % cat hello Hello World, HFuse! % ls ls: cannot open directory .: Function not implemented Here's the relevant output from strace: open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x80000) = -1 ENOSYS (Function not implemented) write(2, "ls: ", 4ls: ) = 4 write(2, "cannot open directory .", 23cannot open directory .) = 23 write(2, ": Function not implemented", 26: Function not implemented) = 26 Some system information: - Debian unstable - Linux 2.6.24 - Fuse 2.7.3 - GHC 6.8.2 - HFuse 0.1 Any ideas? Thanks, Georg

Excerpts from Georg Neis's message of Fri Mar 14 06:38:02 -0500 2008:
Hello,
I've installed the HFuse package from hackage and am playing with the HelloFS example in the System/Posix/HFuse directory.
As far as I know, the package uploaded onto hackage is merely a cabal-ised version of the old(er) HFuse which I don't believe has been maintained in quite a while. The only recent work I know of on the project is that of Will Thompsons'. A darcs repository can be located here: http://www.willthompson.co.uk/darcs/hfuse/ I've tested it on 6.8 and it works fine (Will has 6.6 I believe,) and the HelloFS example should work, but it is still under development (notably I believe him mentioning that the BindFS example has a deadlock issue at the moment.) Testing out that version might yield better results. I would recommend contacting him on the matter, since he seems to be the only person in this project currently. Sorry I couldn't have been more help. -- "It was in the days of the rains that their prayers went up, not from the fingering of knotted prayer cords or the spinning of prayer wheels, but from the great pray-machine in the monastery of Ratri, goddess of the Night." Roger Zelazny

On 15/03/08 03:10, Austin Seipp wrote:
I've tested it on 6.8 and it works fine (Will has 6.6 I believe,) and the HelloFS example should work, but it is still under development (notably I believe him mentioning that the BindFS example has a deadlock issue at the moment.) Testing out that version might yield better results.
(I recently fixed a couple of deadlocks, but not in that branch yet.)
I would recommend contacting him on the matter, since he seems to be the only person in this project currently. Sorry I couldn't have been more help.
Taru Karttunen has been doing some work on it recently, too. I'm hoping to merge my work with his at darcs.haskell.org/hfuse in the next few days. -- Will

Austin Seipp wrote:
The only recent work I know of on the project is that of Will Thompsons'. A darcs repository can be located here:
This one is working. Thanks a lot, Austin and Will! Georg

I just merged my work with Taru Karttunen's; you probably want to % darcs get http://code.haskell.org/hfuse/ The API is a tad different to the one in my old repository; I had some kind of pointless MVar state threading in my branch which I wrote on a whim but which isn't particularly useful, so I left it out. Taru has ByteString-ized reading from files, which is a win. Currently the module's name is HFuse. Presumably it really belongs under System somewhere; System.Posix.Fuse maybe? What do folks think? Are there any guidelines for picking a namespace? -- Will

Excerpts from Will Thompson's message of Sun Mar 16 08:37:00 -0500 2008:
Currently the module's name is HFuse. Presumably it really belongs under System somewhere; System.Posix.Fuse maybe? What do folks think? Are there any guidelines for picking a namespace?
I don't think there's any sort of doc on picking a namespace or how to logically name your package modules (would likely be worth writing); for something like this, I would say something under System.Posix.* would be the most appropriate. -- "It was in the days of the rains that their prayers went up, not from the fingering of knotted prayer cords or the spinning of prayer wheels, but from the great pray-machine in the monastery of Ratri, goddess of the Night." Roger Zelazny

On Mar 19, 2008, at 2:12 , Austin Seipp wrote:
Excerpts from Will Thompson's message of Sun Mar 16 08:37:00 -0500 2008:
Currently the module's name is HFuse. Presumably it really belongs under System somewhere; System.Posix.Fuse maybe? What do folks think? Are there any guidelines for picking a namespace?
I don't think there's any sort of doc on picking a namespace or how to logically name your package modules (would likely be worth writing); for something like this, I would say something under System.Posix.* would be the most appropriate.
Erm, "POSIX" does not mean "Linux and sufficiently similar systems". FUSE is supported by open source Unixlikes, not by POSIX compliant systems in general. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

On 2008.03.19 02:43:27 -0400, "Brandon S. Allbery KF8NH"
On Mar 19, 2008, at 2:12 , Austin Seipp wrote:
Excerpts from Will Thompson's message of Sun Mar 16 08:37:00 -0500 2008:
Currently the module's name is HFuse. Presumably it really belongs under System somewhere; System.Posix.Fuse maybe? What do folks think? Are there any guidelines for picking a namespace?
I don't think there's any sort of doc on picking a namespace or how to logically name your package modules (would likely be worth writing); for something like this, I would say something under System.Posix.* would be the most appropriate.
Erm, "POSIX" does not mean "Linux and sufficiently similar systems". FUSE is supported by open source Unixlikes, not by POSIX compliant systems in general.
-- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com
Not sure that's a useful distinction to make. Wikipedia says "FUSE is available for Linux, FreeBSD, NetBSD (as PUFFS), OpenSolaris and Mac OS X (as MacFUSE)." Linux, the BSDs, and Solaris are all pretty POSIX compliant, where they have not actually been officially certified by POSIX; OS X Leopard is surprisingly enough, certified - http://www.apple.com/macosx/technology/unix.html says "Leopard is an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads. Since Leopard can compile and run all your existing UNIX code, you can deploy it in environments that demand full conformance — complete with hooks to maintain compatibility with existing software." Since there's no Filesystem.* hierarchy, what's wrong with System.Posix.FUSE.*? I know of no non-Posix systems that run FUSE... -- gwern enigma main Warfare DREC Intiso cards kilderkin Crypto Waihopai Oscor

On Mar 19, 2008, at 15:56 , gwern0@gmail.com wrote:
Not sure that's a useful distinction to make. Wikipedia says "FUSE is available for Linux, FreeBSD, NetBSD (as PUFFS), OpenSolaris and Mac OS X (as MacFUSE)."
AIX? HP/UX? Older Solaris (which I have a bunch of here, and ghc is a right pain to get working on them because "all the world's a Linux")? POSIX was not invented for Linux/*BSD and systems that choose to emulate them. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

mad.one:
Excerpts from Will Thompson's message of Sun Mar 16 08:37:00 -0500 2008:
Currently the module's name is HFuse. Presumably it really belongs under System somewhere; System.Posix.Fuse maybe? What do folks think? Are there any guidelines for picking a namespace?
I don't think there's any sort of doc on picking a namespace or how to logically name your package modules (would likely be worth writing); for something like this, I would say something under System.Posix.* would be the most appropriate.
Ah, but there is! http://haskell.org/haskellwiki/Hierarchical_module_names Enjoy! -- Don (grumbler of packages that use uncommon top level names)
participants (7)
-
Austin Seipp
-
Brandon S. Allbery KF8NH
-
Don Stewart
-
Georg Neis
-
gwern0@gmail.com
-
Jason Dusek
-
Will Thompson