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
http://www.albany.edu/~ja6447/mogilefs.py
http://www.albany.edu/~ja6447/mogilefs_fuse.py
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.
c=mogilefs.Client('fuse',['yourtracker:7001'])
c.send_bigfile('foo.avi','/path/to/foo.avi')
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