artagnon / phoenixfs Goto Github PK
View Code? Open in Web Editor NEW๐ฅ a versioning filesystem inspired by git
License: MIT License
๐ฅ a versioning filesystem inspired by git
License: MIT License
dana@hithlum:/fs$ git clone git://github.com/artagnon/phoenixfs.git/fs$ cd phoenixfs/
Cloning into phoenixfs...
remote: Counting objects: 453, done.
remote: Compressing objects: 100% (198/198), done.
remote: Total 453 (delta 293), reused 405 (delta 249)
Receiving objects: 100% (453/453), 137.69 KiB, done.
Resolving deltas: 100% (293/293), done.
dana@hithlum:
dana@hithlum:/fs/phoenixfs$ git show | head -1/fs/phoenixfs$ make
commit 0404ac7
dana@hithlum:
CC common.o
CC main.o
CC fuse.o
CC buffer.o
CC compress.o
CC pack.o
CC sha1.o
CC diff.o
CC btree.o
CC crc32.o
CC fstree.o
CC persist.o
CC delta.o
CC loose.o
CC xdiff/xdiffi.o
CC xdiff/xprepare.o
CC xdiff/xutils.o
CC xdiff/xemit.o
gcc -g -O0 -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -c -o xdiff/xmerge.o xdiff/xmerge.c
gcc -g -O0 -Wall -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -c -o xdiff/xpatience.o xdiff/xpatience.c
rm -f xdiff/lib.a && ar rcs xdiff/lib.a xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o xdiff/xmerge.o xdiff/xpatience.o
CC block-sha1/sha1.o
rm -f block-sha1/lib.a && ar rcs block-sha1/lib.a block-sha1/sha1.o
LINK phoenixfs
dana@hithlum:~/fs/phoenixfs$ cd /tmp
dana@hithlum:/tmp$ mkdir gitdir mountp
dana@hithlum:/tmp$ ~/fs/phoenixfs/phoenixfs mount gitdir mountp
Segmentation fault
dana@hithlum:/tmp$ strace ~/fs/phoenixfs/phoenixfs mount gitdir mountp 2> strace.out
Segmentation fault
dana@hithlum:/tmp$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"
dana@hithlum:/tmp$ uname -a
Linux hithlum 3.0.0-24-generic #40-Ubuntu SMP Tue Jul 24 15:38:25 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
dana@hithlum:/tmp$ dpkg -l|grep fuse
ii fuse-utils 2.8.4-1.4ubuntu1 Filesystem in USErspace (utilities)
ii gvfs-fuse 1.10.0-0ubuntu1.1 userspace virtual filesystem - fuse server
ii libfuse-dev 2.8.4-1.4ubuntu1 Filesystem in USErspace (development files)
ii libfuse2 2.8.4-1.4ubuntu1 Filesystem in USErspace library
dana@hithlum:/tmp$ tail -20 strace.out
lstat("/tmp/mountp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
lstat("/tmp/mountp", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
access("/tmp/mountp", R_OK|W_OK|X_OK) = 0
mkdir("/tmp/gitdir/.git", 0700) = -1 EEXIST (File exists)
lstat("/tmp/gitdir/.git", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
access("/tmp/gitdir/.git", R_OK|W_OK|X_OK) = 0
mkdir("/tmp/gitdir/.git/loose", 0700) = -1 EEXIST (File exists)
lstat("/tmp/gitdir/.git/loose", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
access("/tmp/gitdir/.git/loose", R_OK|W_OK|X_OK) = 0
open("/tmp/phoenixfs.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
fstat(3, {st_mode=S_IFREG|0664, st_size=426, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208e3f6000
fstat(3, {st_mode=S_IFREG|0664, st_size=426, ...}) = 0
lseek(3, 426, SEEK_SET) = 426
write(3, "l. 640: phoenixfs_fuse:: fsback"..., 71) = 71
close(3) = 0
munmap(0x7f208e3f6000, 4096) = 0
access("/tmp/gitdir/.git/fstree", F_OK) = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
dana@hithlum:/tmp$
Here's the output when i cd /tmp create the gitdir and mountp directories and run
phoenixfs mount gitdir mountp
anandjeyahar@anandjeyahar-Rev-1-0:tmp $ phoenixfs mount gitdir mountp
FUSE library version: 2.8.6
nullpath_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.17
flags=0x0000047b
max_readahead=0x00020000
INIT: 7.12
flags=0x00000011
max_readahead=0x00020000
max_write=0x00020000
unique: 1, success, outsize: 40
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
unique: 2, success, outsize: 120
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 47
LOOKUP /.Trash
getattr /.Trash
unique: 3, error: -2 (No such file or directory), outsize: 16
unique: 4, opcode: LOOKUP (1), nodeid: 1, insize: 52
LOOKUP /.Trash-1000
getattr /.Trash-1000
unique: 4, error: -2 (No such file or directory), outsize: 16
This is a ubuntu system with the latest updates. Let me know if there's anything else i can help in pinning down the issue.
I have to run, but here are the gross commands:
cd /tmp/mountp
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz
tar zxvf perl-5.16.1.tar.gz
...
perl-5.16.1/deb.c
perl-5.16.1/dist/
perl-5.16.1/djgpp/
perl-5.16.1/doio.c
perl-5.16.1/doop.c
perl-5.16.1/dosish.h
perl-5.16.1/dquote_static.c
tar: perl-5.16.1/dquote_static.c: Cannot utime: Software caused connection abort
perl-5.16.1/dump.c
tar: perl-5.16.1/dump.c: Cannot open: Transport endpoint is not connected
perl-5.16.1/embed.fnc
tar: perl-5.16.1/embed.fnc: Cannot open: Transport endpoint is not connected
perl-5.16.1/embed.h
...
unique: 10682, opcode: WRITE (16), nodeid: 35, insize: 4176
write[38] 4096 bytes to 0 flags: 0x88801
write[38] 4096 bytes to 0
unique: 10682, success, outsize: 24
unique: 10683, opcode: WRITE (16), nodeid: 35, insize: 600
write[38] 520 bytes to 4096 flags: 0x88801
write[38] 520 bytes to 4096
unique: 10683, success, outsize: 24
unique: 10684, opcode: GETATTR (3), nodeid: 35, insize: 56
*** glibc detected *** getattr /perl-5.16.1/dquote_static.c
unique: 10684, success, outsize: 120
unique: 10685, opcode: SETATTR (4), nodeid: 35, insize: 128
utime /perl-5.16.1/dquote_static.c 1346195394 1344015326
Aborted
dana@hithlum:/tmp$ ls -al /tmp/phoenixfs.log
-rw-rw-r-- 1 dana dana 429599 2012-08-28 16:09 /tmp/phoenixfs.log
dana@hithlum:/tmp$ tail -f /tmp/phoenixfs.log
l. 19: add_loose_entry:: 759b41f879aa951c198179d337eeba80174de1fa [24]
l. 373: write:: /perl-5.16.1/dquote_static.c
l. 89: split_basename:: path: /perl-5.16.1/dosish.h, dirname: /perl-5.16.1, filename: dosish.h
l. 149: find_dr:: found /perl-5.16.1
l. 373: write:: /perl-5.16.1/dquote_static.c
l. 315: fstree_insert_update_file:: missing vfr: dosish.h
l. 248: make_vfr:: dosish.h
l. 213: insert_vfr:: 000096CD
l. 37: getattr:: /tmp/gitdir/perl-5.16.1/dquote_static.c 0
l. 276: utime:: /perl-5.16.1/dquote_static.c
^C
dana@hithlum:/tmp$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/volumegrp01-volume02
96118540 79095380 12140524 87% /
udev 4074900 4 4074896 1% /dev
tmpfs 1634784 996 1633788 1% /run
none 5120 0 5120 0% /run/lock
none 4086952 956 4085996 1% /run/shm
/dev/sda1 235021 147139 75748 67% /boot
/dev/sda2 480618200 400919460 55284688 88% /other
/home/dana/.Private 96118540 79095380 12140524 87% /home/dana
df: `/tmp/mountp': Transport endpoint is not connected
dana@hithlum:/tmp$
Let me know if you need more, I'll check back tomorrow. :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.