

| |||||||
|
You are here: Root > By License > Open Source > MIT
A simple file based file system. Use mkfs and mount to take clufs file system into use. Use it with mkdir, create, open and close to read and write files. Open returns a stream to file in clufs file system.
| Web site | http://sourceforge.net/projects/clufs/ |
| Mailing list | |
| Version | 0.7 - |
| Maturity | Experimental |
| OS compatibility | |
| ASDF installable | Yes |
| Official Download | http://sourceforge.net/projects/clufs/files/clufs_0.7.tgz |
| Mirrored Download | |
| Source code repository | https://clufs.svn.sourceforge.net/svnroot/clufs |
clufs is a simple user space file system written in Common Lisp. It is intended to be used from Common Lisp but maybe could be later integrated to for example FUSE to be used as a real file system also. clufs could be used to pack set of files to a single file but probably this will be a just some kind of hack without actual goal.
(clufs:mkfs "test.clufs") ; creates file test.clufs and journal file test.wal
(clufs:with-clufs (clufs "test.clufs")
(clufs:mkdir clufs '(my-test-dir))
(clufs:sync clufs) ; there is no sync thread or daemon yet
(clufs:create clufs '(my-test-dir file))
(clufs:directory clufs '(my-test-dir))
(clufs:sync clufs)
(let ((stream (clufs:open clufs '(my-test-dir file))))
(prin1 "Hello World!" stream)
(clufs:sync clufs)
(file-position stream 0)
(print (read stream)) ; => "Hello World!"
(terpri)
(clufs:close stream))
(print (clufs:directory clufs)) ; => ((my-test-dir))
(terpri)
(print (clufs:directory clufs '(my-test-dir))) ; => ((my-test-dir file))
(terpri)
(clufs:delete-file clufs '(my-test-dir file))
(clufs:delete-dir clufs '(my-test-dir)))
MIT | Common Lisp | ASDF installable | I/O | Data structures
You must be logged to add a note
You must be logged to add a comment