Directory | Tags | Index | LinkIt | Submit   | Help
    Monday, 23 January 2017 - anonymous
Login/Register to vote and to have access to more features

You are here: Root > By License > Open Source > MIT

View the dependency graph for this library

Common Lisp User Space File System
Created by smo on: Mon, 28 Nov 2011 19:55:04 GMT, Last modification: Mon, 28 Nov 2011 19:55:04 GMT

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
Mailing list
Version0.7 -
OS compatibility
ASDF installableYes
Official Download
Mirrored Download
Source code repository


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.


A sample session:
(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!" 
    (clufs:close stream)) 
  (print (clufs:directory clufs)) ; => ((my-test-dir)) 
  (print (clufs:directory clufs '(my-test-dir))) ; => ((my-test-dir file)) 
  (clufs:delete-file clufs '(my-test-dir file)) 
  (clufs:delete-dir clufs '(my-test-dir)))


MIT | Common Lisp | ASDF installable | I/O | Data structures

0 Notes and 0 comments

0 Notes

You must be logged to add a note


You must be logged to add a comment