updated python client and test fuse module

Justin Azoff JAzoff at uamail.albany.edu
Tue Jan 10 03:52:06 UTC 2006

I fixed a few bugs in the python client, and verified that it still 
works with cvs mogilefs..

I also managed to get a fuse module to work, it only supports listing a 
directory and reading files, but you can seamlessly read big files (ones 
broken up into chunks)

I was trying to get normal files to work, but you need to be able to get 
the size of a file, and I'm not sure what the correct way to do that is. 
  Large files on the other hand have the _big_info: file which tells you 
its size.

It mostly works, I tested it by uploading a divx movie, starting mplayer 
on it and seeking around - it plays perfectly.  It doesn't correctly 
handle multiple processes opening the same file, but that is only 
because I implemented caching in not the best way...

screen shot: :-)

justin at latitude:/tmp$ mogilefs_fuse.py mog &
[1] 29195
justin at latitude:/tmp$ ls -l mog
total 798519
-rwxr-xr-x  2 root root 796627508 Dec 31  1969 Resident Evil.avi
-rwxr-xr-x  2 root root  20965788 Dec 31  1969 divx_m.avi
-rwxr-xr-x  2 root root     89089 Dec 31  1969 song.mp3
justin at latitude:/tmp$ file mog/*
mog/Resident Evil.avi: RIFF (little-endian) data, AVI, 640 x 336, 23.98 
fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
mog/divx_m.avi:        RIFF (little-endian) data, AVI, 320 x 256, 25.00 
fps, video: DivX 5, audio: uncompressed PCM (mono, 44100 Hz)
mog/song.mp3:          MPEG ADTS, layer III, v2,  24 kBits, 16 kHz, Monaural
justin at latitude:/tmp$ time cmp mog/divx_m.avi ~/divx_m.avi
real    0m2.579s

They are both at


You'll have to edit the domain and trackers in mogilefs_fuse.py if you 
want to test it, should be obvious when it tries to connect to 
non-existent servers.


will upload a file in chunks, it should also be compatible with the 
large files that the perl mogtool uploads

- Justin

More information about the mogilefs mailing list