<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2310922504104016093</id><updated>2011-07-07T14:06:20.785-07:00</updated><category term='hammerfs dragonflybsd linux epfl'/><title type='text'>Porting the HAMMER File System to Linux</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-1294634362189802719</id><published>2009-06-09T18:18:00.000-07:00</published><updated>2009-06-09T18:19:45.380-07:00</updated><title type='text'>10 Seconds of Fame</title><content type='html'>This blog is actually linked to by the &lt;a href="http://en.wikipedia.org/wiki/HAMMER"&gt;Wikipedia article on the HAMMER File System&lt;/a&gt;, and it wasn't me. That's actually very cool, thank you :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-1294634362189802719?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/1294634362189802719/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/06/10-seconds-of-fame.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/1294634362189802719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/1294634362189802719'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/06/10-seconds-of-fame.html' title='10 Seconds of Fame'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-572051296059653788</id><published>2009-05-11T02:49:00.001-07:00</published><updated>2009-05-11T02:55:17.661-07:00</updated><title type='text'>Error-Driven Development</title><content type='html'>1. Compile&lt;br /&gt;2. Fix errors&lt;br /&gt;3. Goto 1&lt;br /&gt;&lt;br /&gt;I like it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;daniel@daniel:~/linux-2.6.29.1$ make ARCH=um 2&gt;&amp;amp;1 | grep 'error: ' | sed -e 's/.*error: //g' | sort | uniq        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;'EFTYPE' undeclared (first use in this function)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;'FREAD' undeclared (first use in this function)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;'FSCRED' undeclared (first use in this function)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;'FWRITE' undeclared (first use in this function)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;'LK_EXCLUSIVE' undeclared (first use in this function)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;'LK_RETRY' undeclared (first use in this function)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-572051296059653788?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/572051296059653788/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/05/error-driven-development.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/572051296059653788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/572051296059653788'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/05/error-driven-development.html' title='Error-Driven Development'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-3606420843964542948</id><published>2009-04-12T08:12:00.000-07:00</published><updated>2009-04-12T08:41:05.422-07:00</updated><title type='text'>hammerread.c + FUSE = Read HAMMER Filesystem on Linux</title><content type='html'>I hacked together a &lt;a href="http://fuse.sourceforge.net/"&gt;FUSE&lt;/a&gt; module using &lt;a href="http://hammerfs-ftw.blogspot.com/2009/04/hammerreadc-ported-to-linux.html"&gt;hammerread.c&lt;/a&gt;, so you can now mount a HAMMER device in read-only mode on Linux. I haven't done any extensive testing, yet, so things are probably still very flaky. You can get the FUSE module from here: &lt;a href="http://hammerfs.googlepages.com/fusehammer-0.1.tar.gz"&gt;fusehammer-0.1.tar.gz&lt;/a&gt; and test with &lt;a href="http://hammerfs.googlepages.com/hammerdisk.raw.bz2"&gt;hammerdisk.raw.bz2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here's a walkthrough:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~$ wget http://hammerfs.googlepages.com/fusehammer-0.1.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~$ tar zxf fusehammer-0.1.tar.gz &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~$ cd fusehammer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ make&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ ./fusehammer&lt;br /&gt;HAMMER filesystem for FUSE (readonly)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Usage: ./fusehammer &amp;lt;dev&amp;gt; &amp;lt;mount_point&amp;gt; [&amp;lt;FUSE library options&amp;gt;]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ mkdir mnt&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ ./fusehammer ../hammerdisk.raw mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ ls -l mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;total 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;drwxr-xr-x 0 root root  0 1970-01-01 01:00 a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-rw-r--r-- 0 root root 12 1970-01-01 01:00 test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ cat mnt/test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Hello&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;World&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/fusehammer$ fusermount -u mnt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that the file attributes are wrong (mtime, ctime ..). I need to investigate that.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-3606420843964542948?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/3606420843964542948/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/hammerreadc-fuse-read-hammer-filesystem.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3606420843964542948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3606420843964542948'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/hammerreadc-fuse-read-hammer-filesystem.html' title='hammerread.c + FUSE = Read HAMMER Filesystem on Linux'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-6942338457985307850</id><published>2009-04-12T05:33:00.000-07:00</published><updated>2009-04-12T07:06:31.928-07:00</updated><title type='text'>POSIX File System Test Suite</title><content type='html'>Just found this: &lt;a href="http://ntfs3g.org/pjd-fstest.html"&gt;POSIX File System Test Suite&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;"The list of system calls tested is: chmod, chown, link, mkdir, mkfifo,  open, rename, rmdir, symlink, truncate, unlink. There are currently 3601 regression tests"&lt;/blockquote&gt;Sounds cool, maybe something to look into at a later date.&lt;br /&gt;&lt;br /&gt;In an unrelated matter, I read Amit Singh's (MacFUSE fame) blog on &lt;a href="http://www.osxbook.com/blog/2008/12/16/more-user-space-file-system-goodies/"&gt;AncientFS&lt;/a&gt;, where he mentions:&lt;br /&gt;&lt;blockquote&gt;"In future, it [the UnixFS layer] may also evolve into a "LinuxFS" layer that could make it even easier and faster to &lt;em&gt;systematically&lt;/em&gt; make Linux kernel-based file systems work on other platforms with very few code changes."&lt;/blockquote&gt;Now &lt;span style="font-style: italic;"&gt;that&lt;/span&gt; sounds interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-6942338457985307850?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/6942338457985307850/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/posix-file-system-test-suite.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/6942338457985307850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/6942338457985307850'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/posix-file-system-test-suite.html' title='POSIX File System Test Suite'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-4613350243380116645</id><published>2009-04-11T16:08:00.000-07:00</published><updated>2009-04-11T16:11:29.767-07:00</updated><title type='text'>#define student 04302402740280438773</title><content type='html'>#define student &lt;a href="http://www.blogger.com/profile/04302402740280438773"&gt;04302402740280438773&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;in &lt;a href="http://www.shiningsilence.com/dbsdlog/2009/03/25/3995.html"&gt;blag&lt;/a&gt; included from the intertubes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-4613350243380116645?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/4613350243380116645/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/define-student-04302402740280438773.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/4613350243380116645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/4613350243380116645'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/define-student-04302402740280438773.html' title='#define student 04302402740280438773'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-8799773384249395638</id><published>2009-04-11T15:07:00.000-07:00</published><updated>2009-04-11T15:24:42.394-07:00</updated><title type='text'>hammerread.c ported to Linux</title><content type='html'>I ported &lt;a href="http://hammerfs-ftw.blogspot.com/2009/03/hammerreadc.html"&gt;hammerread.c&lt;/a&gt; to Linux. I was surprised how little I had to change in the source code. The Makefile contains the following switches:&lt;br /&gt;&lt;pre&gt;# -D_BSD_SOURCE for DT_FIFO, DT_CHR .. in &amp;lt;dirent.h&amp;gt;&lt;br /&gt;# -D_FILE_OFFSET_BITS=64 for large ino_t in &amp;lt;dirent.h&amp;gt;&lt;br /&gt;# -D_XOPEN_SOURCE=500 for pread64 in &amp;lt;unistd.h&amp;gt;&lt;br /&gt;&lt;/unistd.h&gt;&lt;/dirent.h&gt;&lt;/dirent.h&gt;&lt;/pre&gt;You can test the application yourself. Grab a disk image from here: &lt;a href="http://hammerfs.googlepages.com/hammerdisk.raw.bz2"&gt;hammerdisk.raw.bz2&lt;/a&gt;. The contents of the image are:&lt;br /&gt;&lt;pre&gt;$ find . -type f -ls&lt;br /&gt;6400704     0 -rw-r--r--    1 root   wheel  12 Mar 23 20:04 ./test&lt;br /&gt;12801152    0 -rw-r--r--    1 root   wheel   4 Apr 11 00:56 ./a/b/c/bar&lt;br /&gt;&lt;/pre&gt;Now download &lt;a href="http://hammerfs.googlepages.com/hammerread-0.1.tar.gz"&gt;hammerread-0.1.tar.gz&lt;/a&gt; and use it as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~$ wget http://hammerfs.googlepages.com/hammerread-0.1.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~$ tar zxf hammerread-0.1.tar.gz &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~$ cd hammerread&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/hammerread$ make&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/hammerread$ ./hammerread ../hammerdisk.raw &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signature: valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;name: HAMMER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/hammerread$ ./hammerread ../hammerdisk.raw /&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signature: valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;name: HAMMER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/ 0/0 40755 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;test 8 10061aac0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;a 4 1007a1650&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;daniel@daniel-desktop:~/hammerread$ ./hammerread ../hammerdisk.raw /test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signature: valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;name: HAMMER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/test 0/0 100644 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Hello&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;World&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-8799773384249395638?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/8799773384249395638/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/hammerreadc-ported-to-linux.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/8799773384249395638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/8799773384249395638'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/hammerreadc-ported-to-linux.html' title='hammerread.c ported to Linux'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-7238386227688905450</id><published>2009-04-09T15:27:00.000-07:00</published><updated>2009-04-09T15:36:48.459-07:00</updated><title type='text'>STOP!</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=2c4L4CPfQY8"&gt;Hammer time&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;My work on the hammer file system is completed. You may download the module here: &lt;a href="http://hammerfs.googlepages.com/hammerfs-0.1.tar.gz"&gt;hammerfs-0.1.tar.gz&lt;/a&gt;. Here's a short walkthrough:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~# wget http://hammerfs.googlepages.com/hammerfs-0.1.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~# tar zxf hammerfs-0.1.tar.gz &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~# cd hammerfs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~/hammerfs# make&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~/hammerfs# insmod hammer.ko&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~/hammerfs# mount -t hammerfs nodev /mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:~/hammerfs# cd /mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:/mnt# ls -l&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;total 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-rw-r--r-- 1 root root 434 2009-04-10 00:26 hammertime&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:/mnt# touch hammertime &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;touch: setting times of „hammertime“: Operation not permitted # can't touch this&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;root@daniel-desktop:/mnt# cat hammertime &lt;/span&gt;&lt;br /&gt;&lt;pre&gt;                             &lt;br /&gt;            .d:.            &lt;br /&gt;       ...,;l0kc.           &lt;br /&gt;       .l;oddO0xOd:.        &lt;br /&gt;        .'dxOKOd;..         &lt;br /&gt;         ;0kdo:.            &lt;br /&gt;       .xNNXKKl             &lt;br /&gt;       dNNNNNNX;            &lt;br /&gt;       dNNNNNNNx            &lt;br /&gt;       'XNKo0NNk            &lt;br /&gt;       :XK, .ONK.           &lt;br /&gt;       ;Xl   .kK.           &lt;br /&gt;       .Oc    '0.           &lt;br /&gt;        ..    .d;           &lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;The special file &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;hammertime&lt;/span&gt;&lt;/span&gt; will display a new frame each time it is &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;cat&lt;/span&gt;&lt;/span&gt;ed. To watch the entire animation, type&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; watch -n0.1 cat hammertime &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-7238386227688905450?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/7238386227688905450/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/stop.html#comment-form' title='4 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/7238386227688905450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/7238386227688905450'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/stop.html' title='STOP!'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-4117191497355588795</id><published>2009-04-06T12:23:00.000-07:00</published><updated>2009-04-06T12:30:56.411-07:00</updated><title type='text'>fat free</title><content type='html'>&lt;a href="http://lxr.linux.no/linux+v2.6.29/fs/fat/file.c#L168"&gt;fat_free&lt;/a&gt;, &lt;a href="http://lxr.linux.no/linux+v2.6.29/include/linux/buffer_head.h#L280"&gt;&lt;/a&gt; &lt;a href="http://lxr.linux.no/linux+v2.6.29/include/linux/buffer_head.h#L286"&gt;sb_breadahead&lt;/a&gt; ..&lt;br /&gt;&lt;br /&gt;kernel identifiers are funny. &lt;a href="http://www.youtube.com/watch?v=pFrCyqwwRYQ"&gt;ha-ha&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-4117191497355588795?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/4117191497355588795/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/fat-free.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/4117191497355588795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/4117191497355588795'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/fat-free.html' title='fat free'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-2633863934515366601</id><published>2009-04-06T08:29:00.000-07:00</published><updated>2009-04-06T08:39:12.514-07:00</updated><title type='text'>Sample filesystems</title><content type='html'>Seems, there is quite a few of them:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.geocities.com/ravikiran_uvs/articles/rkfs.html"&gt;rkfs&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://lwn.net/Articles/13325/"&gt;lwnfs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://us1.samba.org/samba/ftp/cifs-cvs/ols2006-fs-tutorial-smf.pdf"&gt;samplefs&lt;/a&gt; (&lt;a href="http://svn.samba.org/samba/ftp/cifs-cvs/samplefs.tar.gz"&gt;src&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://lxr.linux.no/linux+v2.6.29/fs/ramfs/"&gt;ramfs&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-2633863934515366601?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/2633863934515366601/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/sample-filesystems.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/2633863934515366601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/2633863934515366601'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/sample-filesystems.html' title='Sample filesystems'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-3117351839118177310</id><published>2009-04-03T05:36:00.000-07:00</published><updated>2009-04-11T17:15:14.929-07:00</updated><title type='text'>Debugging Linux kernels with VMWare</title><content type='html'>Still trying to find something, since UML didn't work for me. This here works with VMWare Fusion, too:&lt;br /&gt;&lt;a href="http://stackframe.blogspot.com/2007/04/debugging-linux-kernels-with.html"&gt;Debugging the virtual world.: Debugging Linux kernels with Workstation 6.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I had to edit the .vmx file and add &lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;"&gt;    debugStub.listen.guest32=1 &lt;/span&gt;to it, then the log said:&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;Apr 03 14:33:57.701: vmx| VMware Fusion is listening for debug connection on port 8832.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Apr 03 14:33:57.701: vmx|     target remote localhost:8832&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;yay.&lt;span&gt; I can't load the debug symbols of the kernel, though.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;(gdb) file vmlinuz-2.6.27-11-generic&lt;br /&gt;"/Users/daniel/vmlinuz-2.6.27-11-generic": not in executable format: File format not recognized&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; Seems like I need to get the uncompressed kernel (vmlinux) for the debug symbols, which involves &lt;a href="https://wiki.ubuntu.com/DebuggingProgramCrash/"&gt;getting the appropriate .debs from ddebs.ubuntu.com&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span&gt;I didn't follow that further, as I got &lt;a href="http://hammerfs-ftw.blogspot.com/2009/03/kernel-hacking-with-uml.html"&gt;UML&lt;/a&gt; working which I find more comfortable anyway.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-3117351839118177310?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/3117351839118177310/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/debugging-linux-kernels-with-vmware.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3117351839118177310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3117351839118177310'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/debugging-linux-kernels-with-vmware.html' title='Debugging Linux kernels with VMWare'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-3058086620161656248</id><published>2009-04-01T07:50:00.000-07:00</published><updated>2009-04-01T07:51:42.477-07:00</updated><title type='text'>The Linux Kernel Module Programming Guide</title><content type='html'>&lt;blockquote&gt;&lt;p&gt;So, you want to write a kernel module.  You know C, you've written a few normal programs to run as processes, and now you want to get to where the real action is, to where a single wild pointer can wipe out your file system and a core dump  means a reboot.&lt;/p&gt;&lt;/blockquote&gt;&lt;a href="http://www.tldp.org/LDP/lkmpg/2.6/html/"&gt;Yes, I do&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-3058086620161656248?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/3058086620161656248/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/linux-kernel-module-programming-guide.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3058086620161656248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3058086620161656248'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/04/linux-kernel-module-programming-guide.html' title='The Linux Kernel Module Programming Guide'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-6164361504581965219</id><published>2009-03-26T08:19:00.000-07:00</published><updated>2009-03-26T08:32:51.296-07:00</updated><title type='text'>Volume header and endianness</title><content type='html'>The volume header is defined as follows (&lt;a href="http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/vfs/hammer/hammer_disk.h"&gt;vfs/hammer/hammer_disk.h&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; * Volume header types&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define HAMMER_FSBUF_VOLUME     0xC8414D4DC5523031ULL   /* HAMMER01 */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define HAMMER_FSBUF_VOLUME_REV 0x313052C54D4D41C8ULL   /* (reverse endian) */&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;and&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;struct hammer_volume_ondisk {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     u_int64_t vol_signature;/* Signature */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     ..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     char      vol_name[64]; /* Name of volume */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;     ..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;now&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;-bash-4.0# dd if=/dev/ad1s0e of=dump bs=1B count=1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1+0 records in&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1+0 records out&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;512 bytes transferred in 0.000320 secs (1600211 bytes/sec)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-bash-4.0# hexdump -C dump | head &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000000  31 30 52 c5 4d 4d 41 c8  00 00 04 00 00 00 00 00  |&lt;span style="color: rgb(0, 153, 0);"&gt;10R.MMA.&lt;/span&gt;........|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000010  00 00 14 00 00 00 00 00  00 00 24 00 00 00 00 00  |..........$.....|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000020  00 00 40 1f 00 00 00 00  00 00 00 00 00 00 00 00  |..@.............|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000030  ab 3a fa 2a dc 17 de 11  92 2e 01 0c 29 6d 7b af  |.:.*........)m{.|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000040  ac 63 dc 61 38 6e dc 11  85 13 01 30 1b b8 a9 f5  |.c.a8n.....0....|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000050  48 41 4d 4d 45 52 00 00  00 00 00 00 00 00 00 00  |&lt;span style="color: rgb(0, 153, 0);"&gt;HAMMER&lt;/span&gt;..........|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;00000090  00 00 00 00 01 00 00 00  01 00 00 00 bb d0 4b bd  |..............K.|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;000000a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The volume signature (10R.MMA.) is backwards and not even correct (partly due to endianness), while the volume name appears correctly.&lt;br /&gt;&lt;br /&gt;Maybe something to investigate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-6164361504581965219?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/6164361504581965219/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/volume-header-and-endianness.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/6164361504581965219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/6164361504581965219'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/volume-header-and-endianness.html' title='Volume header and endianness'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-328425215903487494</id><published>2009-03-26T05:48:00.001-07:00</published><updated>2009-03-26T05:59:40.780-07:00</updated><title type='text'>Kernel Hacking with UML</title><content type='html'>&lt;a href="http://user-mode-linux.sourceforge.net/hacking.html"&gt;Kernel Hacking with UML&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Fails inside Linux running on VMWare Fusion on my Mac&lt;span style="font-weight: bold;"&gt;,&lt;/span&gt; but works on a physical machine. Seems to be the way to go.&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;I chose Debian 4.0 from the &lt;a href="http://uml.nagafix.co.uk/filesystems/"&gt;pre-made filesystems&lt;/a&gt;.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-328425215903487494?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/328425215903487494/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/kernel-hacking-with-uml.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/328425215903487494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/328425215903487494'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/kernel-hacking-with-uml.html' title='Kernel Hacking with UML'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-3731289613350975892</id><published>2009-03-26T05:06:00.000-07:00</published><updated>2009-03-26T05:14:25.067-07:00</updated><title type='text'>B+Tree</title><content type='html'>&lt;strong style="font-weight: normal;"&gt;&lt;a href="http://portal.acm.org/citation.cfm?doid=356770.356776"&gt;Ubiquitous B-Tree&lt;/a&gt;, &lt;a href="http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/vfs/hammer/hammer_btree.h"&gt;hammer_btree.h&lt;/a&gt;, &lt;a href="http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/vfs/hammer/hammer_btree.c"&gt;hammer_btree.c&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-3731289613350975892?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/3731289613350975892/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/btree.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3731289613350975892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/3731289613350975892'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/btree.html' title='B+Tree'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-2802103324884928279</id><published>2009-03-24T10:55:00.000-07:00</published><updated>2009-03-24T10:59:15.557-07:00</updated><title type='text'>Project Proposal</title><content type='html'>For the project proposal, I found a very good &lt;a href="http://www.axi.ca/tca/may2004/templatesplus_2.shtml"&gt;template/guideline&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here's the proposal I handed in: &lt;a href="http://hammerfs.googlepages.com/proposal-lorch.pdf"&gt;proposal-lorch.pdf&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-2802103324884928279?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/2802103324884928279/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/project-proposal.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/2802103324884928279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/2802103324884928279'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/project-proposal.html' title='Project Proposal'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-7703667222926010331</id><published>2009-03-24T09:10:00.000-07:00</published><updated>2009-03-24T09:17:06.874-07:00</updated><title type='text'>hammerread.c</title><content type='html'>&lt;a href="http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain?f=lib/libstand/hammerread.c"&gt;hammerread.c&lt;/a&gt; is a self-contained library for the bootloader to read the hammer filesystem. It can be compiled as a command line tool using -DTESTING.&lt;br /&gt;&lt;br /&gt;First &lt;a href="http://leaf.dragonflybsd.org/%7Ejustin/new-bsdusers/article.html"&gt;get the dragonfly sources with cvsup&lt;/a&gt;, then:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;-bash-4.0# cd /usr/src/lib/libstand   &lt;br /&gt;-bash-4.0# cc -DTESTING -std=c99 hammerread.c -o hammerread&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-bash-4.0# ./hammerread&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;usage: hammerread &lt;dev&gt;&lt;/dev&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-bash-4.0# ./hammerread /dev/ad1s0e&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signature: valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;name: HAMMER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-bash-4.0# ./hammerread /dev/ad1s0e /test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;signature: valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;name: HAMMER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/test 0/0 100644 12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Hello&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;World&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-7703667222926010331?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/7703667222926010331/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/hammerreadc.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/7703667222926010331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/7703667222926010331'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/hammerreadc.html' title='hammerread.c'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-9038347332067312122</id><published>2009-03-24T08:55:00.000-07:00</published><updated>2009-03-24T09:34:00.902-07:00</updated><title type='text'>Discovering HAMMER</title><content type='html'>Time to play. &lt;a href="http://people.core.gen.tr/blog/2008/07/28#hammerfilesystem"&gt;I installed a hammer filesystem&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;-bash-4.0# echo Hello &gt; test&lt;br /&gt;-bash-4.0# echo World &gt;&gt; test&lt;br /&gt;-bash-4.0# hammer history test&lt;br /&gt;test 000000010061aac0 clean {&lt;br /&gt;00000001007a1520 23-Mar-2009 20:04:11&lt;br /&gt;00000001007a1580 23-Mar-2009 20:04:43&lt;br /&gt;}&lt;br /&gt;-bash-4.0# cat test@@0x00000001007a1520&lt;br /&gt;Hello&lt;br /&gt;-bash-4.0# cat test@@0x00000001007a1580&lt;br /&gt;Hello&lt;br /&gt;World&lt;br /&gt;-bash-4.0# cat test&lt;br /&gt;Hello&lt;br /&gt;World&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Snapshot creation:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;-bash-4.0# hammer snapshot /mnt /mnt/snap&lt;br /&gt;/mnt/snap&lt;br /&gt;-bash-4.0# ls -l snap&lt;br /&gt;lrwxr-xr-x  1 root  wheel  25 Mar 23 20:07 snap -&gt; /mnt/@@0x00000001007a15c0&lt;br /&gt;-bash-4.0# ls snap/&lt;/span&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;br /&gt;test&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-9038347332067312122?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/9038347332067312122/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/discovering-hammer.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/9038347332067312122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/9038347332067312122'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/discovering-hammer.html' title='Discovering HAMMER'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-4045125721170847847</id><published>2009-03-20T06:42:00.000-07:00</published><updated>2009-03-20T06:45:36.015-07:00</updated><title type='text'>Getting the Code</title><content type='html'>&lt;a href="http://leaf.dragonflybsd.org/cgi/web-man?command=development&amp;amp;section=ANY"&gt;development(7):&lt;/a&gt; git clone -o crater git://crater.dragonflybsd.org/dragonfly.git dragonfly.git&lt;br /&gt;&lt;pre style="font-family: courier new;"&gt;&lt;span style="font-family: arial;"&gt;Got the code. There is &lt;a href="http://gitweb.dragonflybsd.org/dragonfly.git"&gt;gitweb&lt;/a&gt;, too.&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-4045125721170847847?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/4045125721170847847/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/getting-code.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/4045125721170847847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/4045125721170847847'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/getting-code.html' title='Getting the Code'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2310922504104016093.post-5641406080302687516</id><published>2009-03-20T06:33:00.000-07:00</published><updated>2009-03-20T06:38:11.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hammerfs dragonflybsd linux epfl'/><title type='text'>Hello</title><content type='html'>I am going to port the &lt;a href="http://www.dragonflybsd.org/hammer/"&gt;HAMMER File System&lt;/a&gt; from DragonflyBSD to Linux as part of a &lt;a href="http://labos.epfl.ch/page69764.html"&gt;semester project&lt;/a&gt; and thought it might be useful to keep a record of what is being done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2310922504104016093-5641406080302687516?l=hammerfs-ftw.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hammerfs-ftw.blogspot.com/feeds/5641406080302687516/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/hello.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/5641406080302687516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2310922504104016093/posts/default/5641406080302687516'/><link rel='alternate' type='text/html' href='http://hammerfs-ftw.blogspot.com/2009/03/hello.html' title='Hello'/><author><name>Daniel Lorch</name><uri>http://www.blogger.com/profile/04302402740280438773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
