Giter Site home page Giter Site logo

friendfs's Introduction

PREREQ:
The fuserl c driver has to be installed. You can find it here:
http://fuserl.googlecode.com/files/fuserldrv-2.0.3.tar.gz

If you are have root just follow the instructions and install it in the
default location. If you are not root or want to install the c driver
someplace else you need to update
lib/fuserl-2.0.5/src/fuserl.appSrc. The thing you need to change is
fuserldrvprefix from auto_detect to the path where you have the fuserl
c driver installed:

i.e. 
{env,[{fuserldrvprefix,"/home/lukas/fuserlcdrv/"}]}

INSTALL:
Just doing a make should be enough to install the system

make 

STARTING FRIENDFS:

First you need to configure friendfs
copy friendfs/doc/friendfs.conf.example to a good place

Set FRIENDFS_CONF to the path to the updated config file
If you put it as /etc/friendfs.conf or $HOME/.friendfs.conf
you dont need to set the FRIENDFS_CONF.

You then can start and connect to the erlang VM using the command:

scripts/friendfsctl start

USING FRIENDFS:

You wont have any fun without a mount point where you can put your
files. You create a mountpoint with:

scripts/friendfsctl mount <mountpoint> <options>

<options> is fs=<filesystem>

remember that /dir/to/mount/to has to exist before you can mount you
new friendfs filesystem into it!

You connect to the erlang VM by issuing this command:

scripts/friendfsctl shell

If you have any question rtfs!

friendfs's People

Contributors

garazdawi avatar petterl avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

friendfs's Issues

Build doesn't work

Building friendfs according to instructions in README does not work:

~/friendfs$ make && make check_environment
make[1]: Entering directory `~/friendfs/lib/fuserl-2.0.5/src'
Compiling and loading fuserl.erl
Compiling and loading fuserlcodec.erl
Compiling and loading fuserlportable.erl
Compiling and loading fuserlsrv.erl
Compiling fuserl.app
make[1]: Leaving directory `~/friendfs/lib/fuserl-2.0.5/src'
make[1]: Entering directory `~/friendfs/lib/friendfs-0.1.0/src'
Compiling and loading ffs_fat.erl
./ffs_fat.erl:471: Warning: function get_path_to_inode/2 is unused
./ffs_fat.erl:473: Warning: function get_path_to_inode/3 is unused
./ffs_fat.erl:482: Warning: function path_parse/4 is unused
Compiling and loading ffs_filesystem.erl
Compiling and loading ffs_filesystem_sup.erl
Compiling and loading ffs_lib.erl
./ffs_lib.erl:44: Warning: function path_split/1 is unused
./ffs_lib.erl:47: Warning: function path_split/2 is unused
./ffs_lib.erl:56: Warning: function urlunsplit/1 is unused
./ffs_lib.erl:63: Warning: function urlunsplit_path/1 is unused
./ffs_lib.erl:206: Warning: function new_store/0 is unused
./ffs_lib.erl:208: Warning: function put_value/3 is unused
./ffs_lib.erl:210: Warning: function get_value/2 is unused
Compiling and loading ffs_mountpoint.erl
./ffs_mountpoint.erl:623: Warning: function to_unix/1 is unused
./ffs_mountpoint.erl:626: Warning: variable 'Gid' is unused
./ffs_mountpoint.erl:626: Warning: variable 'Uid' is unused
./ffs_mountpoint.erl:627: Warning: variable 'Atime' is unused
./ffs_mountpoint.erl:627: Warning: variable 'Mtime' is unused
./ffs_mountpoint.erl:628: Warning: variable 'Ctime' is unused
./ffs_mountpoint.erl:629: Warning: variable 'Size' is unused
Compiling and loading ffs_mountpoint_sup.erl
Compiling and loading ffs_storage_file.erl
./ffs_storage_file.erl:90: Warning: variable 'Offset' is unused
./ffs_storage_file.erl:141: Warning: function get_files_n_dirs/3 is unused
./ffs_storage_file.erl:146: Warning: variable 'RecAcc' is unused
Compiling and loading ffs_storage_mem.erl
Compiling and loading ffs_storage_mgr.erl
Compiling and loading ffs_storage_sup.erl
Compiling and loading filesystem.erl
Compiling and loading friendfs.erl
Compiling and loading friendfs_sup.erl
Compiling and loading ffs_config.erl
Compiling friendfs.app
rm ffs_config.erl
make[1]: Leaving directory `~/friendfs/lib/friendfs-0.1.0/src'
make[1]: Entering directory `~/friendfs/lib/fuserl-2.0.5/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `~/friendfs/lib/fuserl-2.0.5/src'
make[1]: Entering directory `~/friendfs/lib/friendfs-0.1.0/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `~/friendfs/lib/friendfs-0.1.0/src'
ln -s /vobs/otp/otp_delivery/sles10_32/erts-.o
cc   erts-.o   -o erts-
cc: erts-.o: No such file or directory
cc: no input files
make: *** [erts-] Error 1
rm erts-.o

Running the system afterwards yields:

~/friendfs$ scripts/friendfsctl start
scripts/friendfsctl: line 10: ./bin/start_friendfs: No such file or directory

Unmount/crash when mountpoint on NFS

If fuserl crashes/unmounts and the mountpoint is on a NFS the following error messages are displayed and the mountpoint folder is then unuable without a reboot.

umount: /home/qluclar/private/friendfs/ffs: block devices not permitted on fs
umount: /home/qluclar/private/friendfs/ffs: block devices not permitted on fs

=SUPERVISOR REPORT==== 14-Oct-2009::10:17:53 ===
Supervisor: {local,ffs_mountpoint_sup}
Context: child_terminated
Reason: {bad_return_value,not_implemented}
Offender: [{pid,<0.86.0>},
{name,"ffs/"},
{mfa,{ffs_mountpoint,start_link,["ffs/","fs=home"]}},
{restart_type,permanent},
{shutdown,10000},
{child_type,worker}]

fuse: failed to access mountpoint ffs/: Transport endpoint is not connected

=CRASH REPORT==== 14-Oct-2009::10:17:53 ===
crasher:
initial call: fuserlsrv:init/1
pid: <0.88.0>
registered_name: []
exception exit: driver_aborted
in function gen_server:init_it/6
ancestors: [ffs_mountpoint_sup,friendfs_sup,<0.61.0>]
messages: []
links: [<0.68.0>,#Port<0.929>]
dictionary: []
trap_exit: true
status: running
heap_size: 377
stack_size: 24
reductions: 261
neighbours:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.