<?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-28660784</id><updated>2011-08-17T04:08:09.305+01:00</updated><category term='release'/><title type='text'>ZFS on FUSE/Linux</title><subtitle type='html'>This blog is about the Google Summer of Code project "ZFS filesystem for FUSE/Linux"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28660784.post-8846789242116558515</id><published>2008-09-13T02:07:00.005+01:00</published><updated>2008-09-13T02:46:50.624+01:00</updated><title type='text'>zfs-fuse 0.5.0 released</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;After resyncing the ZFS code in zfs-fuse to OpenSolaris build 98, I have (finally!)  decided to make a &lt;a href="https://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;new release&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I know that going from 0.4.0_beta1 to 0.5.0 is not the most logical thing to do.&lt;br /&gt;&lt;br /&gt;However, if you consider that 0.4.0_beta1 was released more than 18 months ago and if you consider all the improvements that have been made since then, it makes a little more sense :-)&lt;br /&gt;&lt;br /&gt;(By the way, if you still running 0.4.0_beta1... please, please, please upgrade *now* - serious bugs have been fixed).&lt;br /&gt;&lt;br /&gt;This release brings us up-to-date with ZFS pool version 13 (try "zpool upgrade -v").&lt;br /&gt;You can read about any zfs-fuse specific fixes or enhancements &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/trunk/file/18dc52cc3e81/CHANGES"&gt;in the CHANGES file&lt;/a&gt;, although I'm sure I missed a few things.&lt;br /&gt;&lt;br /&gt;One thing to mention is that there's no development going on in zfs-fuse in terms of missing features (the ones in the STATUS file). At the moment you can only expect bug fixes and ZFS code updates.&lt;br /&gt;&lt;br /&gt;For those of you who have not been following zfs-fuse development closely, please be assured that if you are using IDE, SATA or SCSI disks, you no longer need to disable the write caches of your devices  (thanks to Eric Anopolsky).&lt;br /&gt;&lt;br /&gt;However, that is only true if you use raw disks or partitions as your vdevs -- if you use LVM, EVMS or other devices (such as loop devices), the disks' write caches still should be manually disabled to avoid potential problems.&lt;br /&gt;&lt;br /&gt;If you want peace of mind you can check your syslog right after zfs-fuse starts to do any I/O - zfs-fuse will notify you if it can't flush the write cache.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-8846789242116558515?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/8846789242116558515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=8846789242116558515' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/8846789242116558515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/8846789242116558515'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2008/09/zfs-fuse-050-released.html' title='zfs-fuse 0.5.0 released'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-824020099036641432</id><published>2008-01-19T14:17:00.000Z</published><updated>2008-01-19T14:56:03.869Z</updated><title type='text'>Status update</title><content type='html'>Some people have (quite understandably) requested me to post a status update, so here it goes:&lt;br /&gt;&lt;br /&gt;The good news:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The project is not dead.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The code is being updated every month with new features and bug fixes from OpenSolaris.&lt;/li&gt;&lt;li&gt;Critical bugs, and especially any bug reports of corruption, will receive my full attention, so please report them if that happens to you. I am 100% committed to fix any such bugs, but I haven't received any such reports in quite a time. However, I'm not sure if this issue has been truly fixed simply because I've been unable to reproduce it.&lt;/li&gt;&lt;li&gt;I will make an effort to review and integrate any patches that I receive that improve zfs-fuse.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The bad news:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The beta release is quite old already, so I should definitely make a new release..&lt;/li&gt;&lt;li&gt;I haven't been able to work on improving zfs-fuse, except for the monthly updates and the occasional bug fixes.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I have a couple of features that I've started to work on but haven't had the time to finish. One of them is async I/O and the other one is automatic disabling of disk write caching with hdparm and sdparm.&lt;/li&gt;&lt;/ul&gt;That said, if you would like to use zfs-fuse without having to worry about your data safety, please do the following:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use the latest development code, from the Mercurial trunk (&lt;span style="font-weight: bold;"&gt;very important&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Disable disk write caching on your disks with hdparm and sdparm (&lt;span style="font-weight: bold;"&gt;very important&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Create and import your pools with devices from /dev/disk/by-id (&lt;span style="font-style: italic;"&gt;highly recommended&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I am reluctant to release a new version until these last 2 points are dealt with in a safe way, either by displaying flashing big red warnings along with setting the mixer volume to the maximum and playing sounds of sirens, or by making zfs-fuse handle it automatically (probably better).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-824020099036641432?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/824020099036641432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=824020099036641432' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/824020099036641432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/824020099036641432'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2008/01/status-update.html' title='Status update'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-6158934079199212410</id><published>2007-09-12T21:33:00.000+01:00</published><updated>2007-09-13T00:13:22.597+01:00</updated><title type='text'>Irony</title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;I'm finally updating this blog to give you an update.&lt;br /&gt;&lt;br /&gt;The ZFS-FUSE wiki and mercurial repositories are now running on a &lt;a href="http://www.geowirx.com"&gt;GeoWirx&lt;/a&gt; &lt;a href="http://www.geowirx.com/index.php?page=vpshosting"&gt;Xen VPS&lt;/a&gt;, so the long downtimes will be a thing of the past (knock knock). By the way, highly recommended service - those VPSs are good &lt;span style="font-weight:bold;"&gt;and&lt;/span&gt; cheap - excellent experience so far.&lt;br /&gt;&lt;br /&gt;At the moment, a new port of ZFS-FUSE to 32-bit PowerPC is being worked on, with the kind help of Thomas Riddle (Sun engineer) and Matt Sealey (Genesi manager) and his developers. A few weeks ago I've also enabled direct I/O, which slowed performance, and I will soon implement async I/O to hopefully get it back.&lt;br /&gt;&lt;br /&gt;As you may have noticed, progress on ZFS-FUSE has been slow. These past few months I've been finishing my degree, which has required a lot of time (only one exam left.. tomorrow!) and I've been on vacations.&lt;br /&gt;&lt;br /&gt;What's perhaps more interesting is that back in June I was invited to work for &lt;a href="http://www.clusterfs.com/"&gt;Cluster File Systems&lt;/a&gt; on the &lt;a href="http://www.lustre.org"&gt;Lustre file system&lt;/a&gt;. The idea is that Lustre will be using the DMU portion of the ZFS-FUSE port to Linux as its storage backend.&lt;br /&gt;&lt;br /&gt;This means that the talented team of engineers who have pushed Lustre into new levels of scalability will be looking to do the same with the ZFS DMU!&lt;br /&gt;Of course, this doesn't necessarily mean that you will see a huge boost in performance in ZFS-FUSE, but I think many improvements are still possible. And now that I've started working for CFS I'm also learning new things by the minute :)&lt;br /&gt;&lt;br /&gt;Oh, and expect to see the corruption issue fixed soon (kernel patch might be required, unfortunately). &lt;br /&gt;&lt;br /&gt;What's also interesting is that just today &lt;a href="http://www.sun.com"&gt;Sun&lt;/a&gt;, who as you all know created ZFS, has announced that &lt;a href="http://lwn.net/Articles/249357/"&gt;it has acquired CFS&lt;/a&gt;. So, if everything goes well and they still decide to keep me... next week I will be a Sun engineer!&lt;br /&gt;&lt;br /&gt;Anyway, you may have noticed that I've removed the PayPal links (thanks to everyone who donated!), since I don't think it will make much of a difference anymore.&lt;br /&gt;&lt;br /&gt;Well, in the midst of all this, I hope I can still dedicate some time to work on ZFS-FUSE (after all, I am also using it). And of course.. patches are always welcome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-6158934079199212410?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/6158934079199212410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=6158934079199212410' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/6158934079199212410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/6158934079199212410'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2007/09/irony.html' title='Irony'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-3907825665705471085</id><published>2007-06-20T23:29:00.000+01:00</published><updated>2007-06-20T23:47:47.031+01:00</updated><title type='text'>Site down</title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;Recently &lt;a href="http://www.linuxworld.com/news/2007/061807-zfs-on-linux.html"&gt;an article&lt;/a&gt; was posted on &lt;a href="http://www.linuxworld.com"&gt;LinuxWorld&lt;/a&gt; about ZFS-FUSE. See also the &lt;a href="http://linux.slashdot.org/linux/07/06/19/1750203.shtml"&gt;Slashdot article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In case you're wondering why the &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE"&gt;ZFS-FUSE website&lt;/a&gt; is down, it's because I have been without Internet access since Monday. I never thought I'd say this again but I'm using a 33Kb dial-up connection right now (I think this might be slower than &lt;a href="http://www.ietf.org/rfc/rfc1149.txt"&gt;this&lt;/a&gt;)..&lt;br /&gt;&lt;br /&gt;As a consequence, the Mercurial repositories are also down, and I might not receive some of your emails..&lt;br /&gt;&lt;br /&gt;On another note, there has been recent reports of corruption in Raid-Z pools, so please backup your data before trying ZFS-FUSE!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-3907825665705471085?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/3907825665705471085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=3907825665705471085' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/3907825665705471085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/3907825665705471085'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2007/06/site-down.html' title='Site down'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-8637135452402233256</id><published>2007-04-16T22:10:00.000+01:00</published><updated>2007-04-17T01:56:49.799+01:00</updated><title type='text'>ZFS in the Linux kernel?</title><content type='html'>Due to the recent surge of interest in porting ZFS to the Linux kernel (if you are in the mood to read dozens of messages, see &lt;a href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0704.1/index.html#2225"&gt;this thread&lt;/a&gt;, the &lt;a href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0704.2/index.html#0071"&gt;follow-up&lt;/a&gt;, plus &lt;a href="http://www.opensolaris.org/jive/thread.jspa?threadID=28221&amp;tstart=0"&gt;this one&lt;/a&gt; and &lt;a href="http://www.opensolaris.org/jive/thread.jspa?threadID=28415&amp;amp;tstart=0"&gt;one more&lt;/a&gt;), I'd like to offer my view on things.&lt;br /&gt;&lt;br /&gt;I have a feeling most Linux kernel hackers (or at least those that talk about ZFS  on linux-kernel) don't really know how ZFS works or what it can do. The best example is perhaps &lt;a href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0704.1/2621.html"&gt;this message from Rik van Riel&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Well, first of all, ZFS doesn't have/need fsck (what?! are you nuts??). This is because ZFS checks and repairs the filesystem online and on-the-fly, as it is being used. And when it can't repair, it will pinpoint exactly which files and which bytes in those files were corrupted. You might think this is complex or expensive, but it's really simple and beautiful actually. &lt;a href="http://www.opensolaris.org/os/community/zfs/docs/zfs_last.pdf"&gt;These slides&lt;/a&gt; explain this and a lot more, so please read them carefully.&lt;br /&gt;&lt;br /&gt;The great thing is that ZFS can also repair metadata on-the-fly even on ZFS pools that don't have any inherent redundancy (in other words, this also works for single disks). This is due to a feature called &lt;a href="http://blogs.sun.com/bill/entry/ditto_blocks_the_amazing_tape"&gt;ditto blocks&lt;/a&gt;, which basically keeps multiple copies of metadata dynamically spread through the disk. Oh and now this works for data too, so you can configure your filesystem with important files to keep 2 or even 3 copies of data on the disk (this is despite any inherent pool redundancy).&lt;br /&gt;&lt;br /&gt;ZFS has a lot of other nice things too, like cheap and instantaneous snapshots and clones, optional compression, variable sector sizes, easy management, .. I really think interested people should read &lt;a href="http://www.opensolaris.org/os/community/zfs/docs/zfs_last.pdf"&gt;these slides&lt;/a&gt; and &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE"&gt;try zfs-fuse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now regarding a ZFS port to the Linux kernel:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1)&lt;/span&gt; As for technical difficulty, I don't think it is a problem. I don't know Linux VFS internals, but if I was able to port it so easily to FUSE, it certainly can be done. I don't think this is a problem at all.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt; As for the license, well.. that is a real problem. I'm a big believer in FSF's ideals, but in this case I think the GPLv2 is preventing progress. It would be a big plus to have Linux benefit from a fully open-source, useful piece of functionality with 6 years of development behind it.&lt;br /&gt;&lt;br /&gt;Of course, as &lt;a href="http://www.uwsg.indiana.edu/hypermail/linux/kernel/0704.2/0139.html"&gt;Adrian Bunk put it&lt;/a&gt;, I don't think it'll be possible to have 10,000 (live and dead) people to agree on a licensing change.&lt;br /&gt;&lt;br /&gt;One option would be to reimplement ZFS (or a comparable filesystem) from scratch. I don't think this is feasible, first because it would require a &lt;span style="font-weight: bold;"&gt;huge&lt;/span&gt; effort and several years to reach the same level of robustness as ZFS has right now. And second because Sun has filed more than 50 patents on ZFS. Even if Sun never uses those patents against Linux, some people might see it as a risk (in the United States).&lt;br /&gt;&lt;br /&gt;The only way I'm seeing ZFS on the Linux kernel is to convince Sun to dual-license ZFS under the GPL and the CDDL. Some people might say Sun would never do this, but Sun has been very open to the open-source community recently. And in fact, Sun's ZFS FAQ initially had an answer saying Sun was considering a ZFS port to Linux (not to FUSE, that was my idea ;).&lt;br /&gt;&lt;br /&gt;Finally I'd like to debunk a couple of myths about zfs-fuse:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1)&lt;/span&gt; In terms of features, zfs-fuse will certainly be comparable to a ZFS kernel implementation (and in fact, most of it already works). The only thing that can't be done is to store swap on a ZFS pool, due to the way ZFS works. You can see the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/trunk?f=07fbf60d3320;file=STATUS"&gt;STATUS&lt;/a&gt; file for more details about implemented features.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt; As for performance, well.. zfs-fuse is slow right now, but it will certainly improve. I haven't even started to seriously look at performance. And FUSE-based filesystems can have &lt;a href="http://www.ntfs-3g.org/performance.html"&gt;comparable performance&lt;/a&gt; to kernel filesystems, as the bottleneck is usually the disk(s), not the CPU.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-8637135452402233256?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/8637135452402233256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=8637135452402233256' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/8637135452402233256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/8637135452402233256'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2007/04/zfs-in-linux-kernel.html' title='ZFS in the Linux kernel?'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-3835251210106692473</id><published>2007-03-06T03:52:00.000Z</published><updated>2007-03-06T04:21:11.954Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>ZFS for Linux Beta 1</title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;I'm happy to announce the release of &lt;a href="https://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;ZFS on FUSE/Linux 0.4.0 beta 1&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Even though this is a beta release, it should be more stable than your typical beta filesystem. The main problems in this release are (lack of) performance and high memory usage with some load patterns.&lt;br /&gt;&lt;br /&gt;As always, be sure to read the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/0.4.x?f=3d663a8fd9d1;file=README"&gt;README&lt;/a&gt; and the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/0.4.x?f=a78b5e9251af;file=STATUS"&gt;STATUS&lt;/a&gt; files.&lt;br /&gt;&lt;br /&gt;So, what's the future for zfs-fuse?&lt;br /&gt;&lt;br /&gt;The plan is to implement all the missing features marked for 0.4.0 in the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/0.4.x?f=a78b5e9251af;file=STATUS"&gt;STATUS&lt;/a&gt; file and then release beta2. After that I intend to focus on performance, release rc1 and after extensive testing release 0.4.0 final.&lt;br /&gt;&lt;br /&gt;I wish to thank all the users who have been testing and helping this project.&lt;br /&gt;I also want to give a special thanks to Phil Worrall, Chris Samuel, David Plumpton and especially Roland (devzero) for all the patches, bug reports, tests and suggestions :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-3835251210106692473?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/3835251210106692473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=3835251210106692473' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/3835251210106692473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/3835251210106692473'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2007/03/zfs-for-linux-beta-1.html' title='ZFS for Linux Beta 1'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-4791227195615489388</id><published>2007-01-18T08:28:00.000Z</published><updated>2007-01-19T00:20:30.713Z</updated><title type='text'>News</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;I haven't been able to make much progress these last couple of weeks due to school projects and exams, however there have been &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/trunk?f=07b43547bada;file=CHANGES"&gt;a few bug fixes and performance improvements&lt;/a&gt;. Thank you to everyone who reported bugs and sent patches (and suggestions)!&lt;br /&gt;&lt;br /&gt;I expect to release alpha2 in the next few days, after some newer functionality is implemented.&lt;br /&gt;&lt;br /&gt;Interestingly, Patrick Verner has been busy adding support for zfs-fuse in his &lt;a href="http://www.partedmagic.com/"&gt;Parted Magic&lt;/a&gt; LiveCD/USB project, which is now officially the first Linux distribution supporting ZFS!&lt;br /&gt;&lt;br /&gt;Seems very cool, so if you want to test zfs-fuse but don't feel like compiling it yourself, give it a shot ;)&lt;br /&gt;&lt;br /&gt;Oh, and I've created a &lt;a href="http://groups.google.com/group/zfs-fuse/about"&gt;zfs-fuse discussion group&lt;/a&gt;, following the suggestion of Miguel Filipe :)&lt;br /&gt;&lt;br /&gt;By the way - if you encounter &lt;span style="font-weight: bold;"&gt;any&lt;/span&gt; unexpected problem using zfs-fuse, please &lt;a href="https://developer.berlios.de/bugs/?group_id=6836"&gt;report a bug&lt;/a&gt; or post a message to the &lt;a href="http://groups.google.com/group/zfs-fuse/about"&gt;zfs-fuse discussion group&lt;/a&gt;, otherwise I can't fix it..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-4791227195615489388?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/4791227195615489388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=4791227195615489388' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/4791227195615489388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/4791227195615489388'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2007/01/news.html' title='News'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-2828774650828858801</id><published>2006-12-26T03:32:00.000Z</published><updated>2006-12-26T04:02:13.764Z</updated><title type='text'>First alpha of ZFS on FUSE with write support</title><content type='html'>Ladies (?) and gentlemen, the first preview of ZFS on FUSE/Linux with full write support is finally here!&lt;br /&gt;&lt;br /&gt;You can consider it my (late) Christmas gift for the Linux community ;)&lt;br /&gt;&lt;br /&gt;Don't forget this is an &lt;span style="font-weight: bold;"&gt;alpha-quality&lt;/span&gt; release. Testing has been very limited.&lt;br /&gt;&lt;br /&gt;Performance sucks right now, but should improve before 0.4.0 final, when a multi-threaded event loop and kernel caching support are working (both of these should be easy to implement, &lt;a href="http://fuse.sourceforge.net/"&gt;FUSE&lt;/a&gt; provides the kernel caching).&lt;br /&gt;&lt;br /&gt;For more information, see the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/0.4.x?f=0d8c0c6c5e25;file=README;style=raw"&gt;README&lt;/a&gt; and the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/0.4.x?f=7cdbc834db89;file=STATUS;style=raw"&gt;STATUS&lt;/a&gt; file for working/not working features. Download &lt;a href="http://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Let me know how it works, and don't forget to report bugs!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-2828774650828858801?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/2828774650828858801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=2828774650828858801' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/2828774650828858801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/2828774650828858801'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/12/first-alpha-of-zfs-on-fuse-with-write.html' title='First alpha of ZFS on FUSE with write support'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-116614703844415867</id><published>2006-12-15T00:53:00.000Z</published><updated>2006-12-15T02:27:06.790Z</updated><title type='text'>Read-only support for ZFS on Linux</title><content type='html'>I know it has been a loong time since my last post (sorry!), but today I'm very excited to bring you &lt;a href="http://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;zfs-fuse 0.3.0&lt;/a&gt; which is able to mount ZFS filesystems in read-only mode :)&lt;br /&gt;&lt;br /&gt;Current status:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It is possible to create and destroy ZFS pools, filesystems and snapshots.&lt;/li&gt;&lt;li&gt;It is possible to use disks (any block device, actually) and files as virtual devices (&lt;span style="font-style: italic;"&gt;vdevs&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;It is possible to use any &lt;span style="font-style: italic;"&gt;vdev&lt;/span&gt; configuration supported by the original ZFS implementation. This includes striping (RAID-0), mirroring (RAID-1), RAID-Z and RAID-Z2.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It is possible to change properties of filesystems.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It is possible to mount ZFS filesystems, but you can only read files or directories, you can &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; create/modify/remove files or directories yet.&lt;/li&gt;&lt;li&gt;ZIL replay is &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; implemented yet.&lt;/li&gt;&lt;li&gt;It is &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; possible to mount snapshots.&lt;/li&gt;&lt;li&gt;It is &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; possible to use 'zfs send/recv'.&lt;/li&gt;&lt;li&gt;ACLs and extended attributes do &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; work.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is &lt;span style="font-weight: bold;"&gt;no&lt;/span&gt; support for ZVols.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's buggy and probably has a few memory leaks :p&lt;/li&gt;&lt;/ul&gt;     If you want to test it, just &lt;a href="http://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;download it&lt;/a&gt; and follow the &lt;a href="http://www.wizy.org/mercurial/zfs-fuse/0.3.x?f=9ff99c5753ac;file=README;style=raw"&gt;README&lt;/a&gt; (don't forget to read the prerequisites).&lt;br /&gt;&lt;br /&gt;A few notes:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Even though you can't write to filesystems, the pools are opened in read-write mode. There are bugs and they can possibly corrupt your pools, so don't use zfs-fuse on important files!&lt;/li&gt;&lt;li&gt;There's no point in running benchmarks, since it is still highly unoptimized.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You cannot write to ZFS filesystems yet, so the best you can do right now is populate a filesystem in Solaris and then mount it in Linux. I recommend you create your zpools on files (since it's easier to switch between Linux and Solaris), but you can also use it directly on block devices.&lt;/li&gt;&lt;li&gt;I recommend you use &lt;a href="http://evms.sourceforge.net"&gt;EVMS&lt;/a&gt; if you use ZFS pools on block devices, since it places all of them in /dev/evms - makes it easier to import pools.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you create your zpools in Solaris directly on whole disks, it will create an EFI label, so to properly mount it on Linux you'll need GPT/EFI partition support configured in the kernel (I think most x86 and amd64 kernels &lt;span style="font-weight: bold;"&gt;don't&lt;/span&gt; have it enabled, so you must compile the kernel yourself). Since my USB disk has died, and I'm still waiting for a replacement, I can't properly test this yet. The last time I tried I had some difficulty getting it to work, but I think I was able to do it using &lt;a href="http://evms.sourceforge.net/"&gt;EVMS&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;In order to import zpools on block devices, you'll need to do 'zpool import -d /dev'. Be careful since at the moment zpool will try to open and find ZFS pools on every device in /dev! If you're using EVMS, use /dev/evms instead.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;The project is progressing at a fast pace since last week, when I did some major code restructuring and finished uncommenting most of the original ZPL code :)&lt;br /&gt;&lt;br /&gt;And I am still highly confused about vnode lifetimes, so expect some bugs and probably some memory leaks until I sort it out eventually..&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-116614703844415867?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/116614703844415867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=116614703844415867' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/116614703844415867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/116614703844415867'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/12/read-only-support-for-zfs-on-linux.html' title='Read-only support for ZFS on Linux'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-115989305251040060</id><published>2006-10-03T17:07:00.000+01:00</published><updated>2006-10-03T17:48:19.136+01:00</updated><title type='text'>First VFS operation working</title><content type='html'>After 3 afternoons of work during my recovery period and a couple of hours today, I got the first VFS operation to work! :)&lt;br /&gt;&lt;br /&gt;So.. if you compile the latest development code from the &lt;a href="http://www.wizy.org/mercurial/"&gt;Mercurial repository&lt;/a&gt;, you can now use 'df' on ZFS filesystems in Linux (but I don't recommend you try it on filesystems you don't want to corrupt) :p&lt;br /&gt;&lt;br /&gt;It was a lot of work since I had to make zfs_mount() work, which depends on a lot of other code (I even had to import the range locks code).&lt;br /&gt;&lt;br /&gt;The VFS is quite complex -- I still don't have a firm grasp of the whole VFS and vnode allocation/deallocation/reference counting, so my code is very messy, and there are still a lot of bugs :p&lt;br /&gt;&lt;br /&gt;I also got a little disappointed because FUSE doesn't support remounting, so you won't be able to change any mount property on mounted filesystems (like for example, 'zfs set readonly=on pool') - you'll have to unmount and then mount it again..&lt;br /&gt;&lt;br /&gt;Next step is to fix bugs/clean-up code and then implement readdir and stat (in order to use 'ls').&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115989305251040060?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115989305251040060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115989305251040060' title='24 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115989305251040060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115989305251040060'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/10/first-vfs-operation-working.html' title='First VFS operation working'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-115818879983653085</id><published>2006-09-13T23:39:00.000+01:00</published><updated>2006-09-14T00:11:41.360+01:00</updated><title type='text'>What's new</title><content type='html'>So what's new about zfs-fuse?&lt;br /&gt;Unfortunately not much :p&lt;br /&gt;&lt;br /&gt;Since my last post I've been basically enjoying what was left of my summer vacations (sorry :p). School started this week, and I've managed to schedule 2 class-free days per week, which is good for this project ;)&lt;br /&gt;&lt;br /&gt;In the mean time, I've posted &lt;a href="http://www.opensolaris.org/jive/thread.jspa?threadID=12821&amp;tstart=0"&gt;some patches&lt;/a&gt; to zfs-code, started to work on the FUSE part of the project (finally!), and migrated the code repository from Subversion to &lt;a href="http://www.selenic.com/mercurial/"&gt;Mercurial&lt;/a&gt; (you can access it &lt;a href="http://www.wizy.org/mercurial/"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Mercurial will greatly simplify my code management. It's an awesome &lt;a href="http://en.wikipedia.org/wiki/Code_management_system"&gt;CMS&lt;/a&gt;, and I've always wanted to learn how to use it, so I thought this would be a great time. Mercurial still has a few limitations -- for one, it doesn't handle symlinks, so I had to create a few rules in &lt;a href="http://www.scons.org/"&gt;SCons&lt;/a&gt; to automatically create them but it's nonetheless a great improvement over Subversion, even for a single developer.&lt;br /&gt;&lt;br /&gt;Anyway, next week I'll be having surgery (it's sleep apnea related, nothing serious), and I'll need to be home for about 1 week recovering. I'm seriously hoping to take advantage of that time  to finally get zfs-fuse to mount filesystems and do some basic operations, so stay tuned :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115818879983653085?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115818879983653085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115818879983653085' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115818879983653085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115818879983653085'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/09/whats-new.html' title='What&apos;s new'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-115627071563007309</id><published>2006-08-22T19:06:00.000+01:00</published><updated>2006-08-22T19:21:29.546+01:00</updated><title type='text'>ZFS being ported to the FreeBSD kernel</title><content type='html'>These last few days Pawel Dawidek has been working on porting ZFS to the FreeBSD kernel.&lt;br /&gt;&lt;br /&gt;And he's made &lt;a href="http://www.opensolaris.org/jive/thread.jspa?threadID=12562"&gt;tremendous progress&lt;/a&gt;! He can already mount filesystems, list directories, create files/directories, change permissions.. The best of all, he did that in only 10 days!&lt;br /&gt;&lt;br /&gt;Wow, now that's impressive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115627071563007309?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115627071563007309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115627071563007309' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115627071563007309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115627071563007309'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/08/zfs-being-ported-to-freebsd-kernel.html' title='ZFS being ported to the FreeBSD kernel'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-115606008270580436</id><published>2006-08-20T08:35:00.000+01:00</published><updated>2006-08-20T09:11:11.040+01:00</updated><title type='text'>zfs-fuse version 0.2.0 released</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;If you were jealous of &lt;a href="http://zfs-on-fuse.blogspot.com/2006/08/zfs-on-linux-status.html"&gt;my previous post&lt;/a&gt;, now you can play with ZFS on Linux too ;)&lt;br /&gt;&lt;br /&gt;Just head over to the &lt;a href="http://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;download page&lt;/a&gt; and follow the &lt;a href="http://svn.berlios.de/viewcvs/zfs-fuse/trunk/README?rev=92&amp;view=markup"&gt;README&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Note that it's still not possible to mount ZFS filesystems, so you won't be able to read or write files, however you can already manage ZFS pools and filesystems.&lt;br /&gt;&lt;br /&gt;As always, you should report any bugs or problems to rcorreia at wizy dot org, or by using the &lt;a href="http://developer.berlios.de/bugs/?group_id=6836"&gt;bug database&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115606008270580436?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115606008270580436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115606008270580436' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115606008270580436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115606008270580436'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/08/zfs-fuse-version-020-released.html' title='zfs-fuse version 0.2.0 released'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-115597191461892211</id><published>2006-08-19T07:30:00.000+01:00</published><updated>2006-08-19T08:18:34.630+01:00</updated><title type='text'>ZFS on Linux status</title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;A lot of time has passed since my last post - sorry about that. I simply hadn't made any visible progress. My free time has been less than I expected and the needed time for this part of the project is a bit more than I originally thought it would be ;)&lt;br /&gt;&lt;br /&gt;Anyway... on to the news.&lt;br /&gt;&lt;br /&gt;zfs_ioctl.c and libzpool-kernel are finally compiling, linking and partially working.&lt;br /&gt;&lt;br /&gt;It's not possible to mount ZFS filesystems yet, however a few commands already work:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ uname -a&lt;br /&gt;Linux wizy 2.6.15-26-amd64-generic #1 SMP PREEMPT Thu Aug 3 02:52:35 UTC 2006 x86_64 GNU/Linux&lt;br /&gt;&lt;br /&gt;$ ~/zfs/trunk/zfs-fuse/zfs-fuse &amp;&lt;br /&gt;&lt;br /&gt;$ ./zpool status&lt;br /&gt;no pools available&lt;br /&gt;&lt;br /&gt;$ dd if=/dev/zero of=/tmp/test1 bs=1M count=100&lt;br /&gt;$ dd if=/dev/zero of=/tmp/test2 bs=1M count=100&lt;br /&gt;$ dd if=/dev/zero of=/tmp/test3 bs=1M count=100&lt;br /&gt;&lt;br /&gt;$ ./zpool create pool raidz /tmp/test1 /tmp/test2 /tmp/test3&lt;br /&gt;cannot mount '/pool': failed to create mountpoint&lt;br /&gt;&lt;br /&gt;$ ./zpool list&lt;br /&gt;NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT&lt;br /&gt;pool                    286M     87K    286M     0%  ONLINE     -&lt;br /&gt;&lt;br /&gt;$ ./zpool scrub pool&lt;br /&gt;&lt;br /&gt;$ ./zpool status&lt;br /&gt;  pool: pool&lt;br /&gt; state: ONLINE&lt;br /&gt; scrub: scrub completed with 0 errors on Sat Aug 19 03:45:45 2006&lt;br /&gt;config:&lt;br /&gt;&lt;br /&gt;        NAME            STATE     READ WRITE CKSUM&lt;br /&gt;        pool            ONLINE       0     0     0&lt;br /&gt;          raidz1        ONLINE       0     0     0&lt;br /&gt;            /tmp/test1  ONLINE       0     0     0&lt;br /&gt;            /tmp/test2  ONLINE       0     0     0&lt;br /&gt;            /tmp/test3  ONLINE       0     0     0&lt;br /&gt;&lt;br /&gt;errors: No known data errors&lt;br /&gt;&lt;br /&gt;$ dd if=/dev/urandom of=/tmp/test2 bs=1M count=30&lt;br /&gt;&lt;br /&gt;$ ./zpool scrub&lt;br /&gt;&lt;br /&gt;$ ./zpool status&lt;br /&gt;  pool: pool&lt;br /&gt; state: DEGRADED&lt;br /&gt;status: One or more devices could not be used because the label is missing or&lt;br /&gt;        invalid.  Sufficient replicas exist for the pool to continue&lt;br /&gt;        functioning in a degraded state.&lt;br /&gt;action: Replace the device using 'zpool replace'.&lt;br /&gt;   see: http://www.sun.com/msg/ZFS-8000-4J&lt;br /&gt; scrub: scrub completed with 0 errors on Sat Aug 19 03:47:37 2006&lt;br /&gt;config:&lt;br /&gt;&lt;br /&gt;        NAME            STATE     READ WRITE CKSUM&lt;br /&gt;        pool            DEGRADED     0     0     0&lt;br /&gt;          raidz1        DEGRADED     0     0     0&lt;br /&gt;            /tmp/test1  ONLINE       0     0     0&lt;br /&gt;            /tmp/test2  UNAVAIL      0     0     0  corrupted data&lt;br /&gt;            /tmp/test3  ONLINE       0     0     0&lt;br /&gt;&lt;br /&gt;errors: No known data errors&lt;br /&gt;&lt;br /&gt;$ ./zfs list&lt;br /&gt;NAME                   USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;pool                  60.6K   158M  2.00K  /pool&lt;br /&gt;&lt;br /&gt;$ ./zfs create pool/test&lt;br /&gt;cannot mount '/pool/test': failed to create mountpoint&lt;br /&gt;filesystem successfully created, but not mounted&lt;br /&gt;&lt;br /&gt;$ ./zfs list&lt;br /&gt;NAME                   USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;pool                  66.6K   158M  2.00K  /pool&lt;br /&gt;pool/test             2.00K   158M  2.00K  /pool/test&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;There is still a major glitch in the zfs_ioctl &lt;-&gt; zpool/zfs communication, so I haven't uploaded the latest code to the SVN repository just yet, but I definitely expect to fix it tomorrow.&lt;br /&gt;&lt;br /&gt;There's also an interesting bit of code that I implemented in order to help me debug zfs-on-fuse (also still not uploaded to SVN) that I'll talk about in my next post ;)&lt;br /&gt;&lt;br /&gt;Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115597191461892211?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115597191461892211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115597191461892211' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115597191461892211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115597191461892211'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/08/zfs-on-linux-status.html' title='ZFS on Linux status'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-115345585721373735</id><published>2006-07-21T04:49:00.000+01:00</published><updated>2006-07-21T05:31:01.973+01:00</updated><title type='text'>Status update</title><content type='html'>Woohoo, exams are over!! :)&lt;br /&gt;&lt;br /&gt;Finally I'm going to have time to work on the project, yay :))&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;Today I got zfs_ioctl.c to compile (not linking yet, I've got to get libzpool to compile in the simulated kernel context, which probably means copy/pasting most of zfs_context.h to the correct libsolkerncompat headers).&lt;br /&gt;However,  even after zfs_ioctl links with libzpool-kernel, I still have to code some additional functionality in order to get the zfs and zpool commands working.&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;In other news, this week I've got a free 3-month &lt;a href="http://safari.oreilly.com/"&gt;Safari&lt;/a&gt; account, thanks to Google (and O'Reilly), which will be quite useful. It's incredible how these guys are always surprising me :D&lt;br /&gt;&lt;br /&gt;After a little browsing of the available books, I've found one which has already proved itself to be helpful: &lt;a href="http://safari.oreilly.com/0130224960?tocview=true"&gt;Solaris Internals - Core Kernel Components&lt;/a&gt;. Although it was written at a time when only Solaris 7 was available, the VFS chapter content was still mostly accurate. I only wish it was more detailed.. :)&lt;br /&gt;&lt;br /&gt;So, even with the help of the book (and the &lt;a href="http://cvs.opensolaris.org/source/"&gt;OpenSolaris OpenGrok browser&lt;/a&gt;, which I've been using since the beginning -- amazing, I already can't live without it), I've had some difficulty understanding some Solaris vfs/vnode interfaces, but I think I got it mostly right.&lt;br /&gt;&lt;br /&gt;Of course, even if I haven't, I'm sure my kind and dedicated testers will help me find all the bugs, eventually.. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115345585721373735?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115345585721373735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115345585721373735' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115345585721373735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115345585721373735'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/07/status-update.html' title='Status update'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-115272746458527615</id><published>2006-07-12T18:03:00.000+01:00</published><updated>2006-07-12T19:30:32.940+01:00</updated><title type='text'>FUSE implications on ZFS</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;I know it's been almost 2 weeks since my last post, but I'm still in my university exam season. Anyway, after my last exam next wednesday (the 19th), I'll be free to work on this project full-time ;)&lt;br /&gt;&lt;br /&gt;Today I've received a few interesting questions from Jim Thompson that I (and him) think you should know about.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"(snip) ...in reading the ZFS mailing list I've seen a couple of mentions that ZFS turns off the write cache on the disks it manages. There may be other low-level disk control issues in ZFS as well. Is it possible for ZFS to accomplish these low-level operations when running from user code in FUSE?&lt;br /&gt;&lt;br /&gt;Secondly, how does FUSE+ZFS ensure that the linux kernel's disk cache doesn't interfere with ZFS's writes to the disk. When ZFS thinks it's written a block to disk, is there any possibility that the block is actually cached inside the linux kernel's list of dirty disk pages?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Actually, regarding the write cache, ZFS on (Open)Solaris &lt;span style="font-weight: bold;"&gt;enables&lt;/span&gt; it if you give it a whole disk. The problem about disks's write caches is actually the reordering of the writes. ZFS must have a guarantee that all the writes in the current transaction are flushed to the disk platter before writing the uberblock, in case power fails.&lt;br /&gt;&lt;br /&gt;This will be accomplished in zfs-fuse by calling fsync(2) on file vdevs and ioctl(BLKFLSBUF) on block devices at the appropriate times (which ZFS already does), in order to flush all writes to disk. The (Linux) kernel guarantees that this will happen (on sane disks).&lt;br /&gt;&lt;br /&gt;This is the only low-level interaction with the disks that ZFS cares about.&lt;br /&gt;&lt;br /&gt;If your hard disk is broken/misbehaving so that it ignores the command to flush the write cache, you can always disable the write cache with hdparm(8)/sdparm(8)/blktool(8), like you had to do with any other journaling filesystem.&lt;br /&gt;&lt;br /&gt;I don't recommend disabling the write cache unless you know your disk misbehaves, because it's actually a good thing - it improves performance and your disk will last longer.&lt;br /&gt;&lt;br /&gt;However, there's another thing that worries me a little more, and that I'll have to look into it later on.&lt;br /&gt;&lt;br /&gt;The issue is with the Linux kernel &lt;span style="font-style: italic;"&gt;read&lt;/span&gt; cache. I don't know exactly at what level ZFS caches nodes/blocks, so if I'm not careful, there could be cache duplication, which will manifest itself in wasted memory usage.&lt;br /&gt;FUSE has a few mount options that allows one to control the kernel cache behaviour - direct_io, kernel_cache and auto_cache.&lt;br /&gt;&lt;br /&gt;Actually, I don't know what will be better - disabling the kernel cache or disabling the ZFS cache (or portions of it).&lt;br /&gt;I'll try to investigate this issue when the time comes :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115272746458527615?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115272746458527615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115272746458527615' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115272746458527615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115272746458527615'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/07/fuse-implications-on-zfs.html' title='FUSE implications on ZFS'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-115168720197601346</id><published>2006-06-30T16:57:00.000+01:00</published><updated>2006-06-30T18:18:18.896+01:00</updated><title type='text'>Why ZFS is needed even in desktops and laptops</title><content type='html'>Personally, I can't use my computer unless I know I have reliable software and hardware. I think I have achieved that goal mostly, since my computer pretty much never crashes or loses data (apart from the occasional application bugs).&lt;br /&gt;&lt;br /&gt;Now, even though I use a reliable &lt;a href="http://en.wikipedia.org/wiki/Journaling_file_system"&gt;journaling filesystem&lt;/a&gt; (&lt;a href="http://oss.sgi.com/projects/xfs/"&gt;XFS&lt;/a&gt;) in my Linux system, I like to do a &lt;a href="http://en.wikipedia.org/wiki/Fsck"&gt;filesystem consistency check&lt;/a&gt; once in a while (usually not less than once every 3 months), which can only happen in those rare times when I need (or want) to reboot. Today was one of those days.&lt;br /&gt;&lt;br /&gt;And here are the results: &lt;a href="http://www.wizy.org/files/xfs_repair.txt"&gt;xfs_repair.txt&lt;/a&gt;. I ended up with 90 files and empty dirs in lost+found. Why did this happen? It could be a hardware problem - either the hard disk, the SATA cable, the SATA controller or even &lt;a href="http://blogs.sun.com/roller/page/elowe?entry=zfs_saves_the_day_ta"&gt;the power supply&lt;/a&gt;; or a software bug - either in the SATA driver, the XFS code or somewhere else in the Linux kernel.&lt;br /&gt;&lt;br /&gt;I actually suspect this is a hardware problem. This particular machine, back when I was using a different SATA controller and a different hard disk, had the very annoying problem of not flushing the disk write cache on reboots. This caused *a lot* of the problems you see above in the xfs_repair log. I even tried MS Windows, which would chkdsk on every other reboot. So the problem was definitely hardware related. Even though I never fixed the problem, fortunately I never lost an important file!&lt;br /&gt;&lt;br /&gt;Now, after the hard disk died, I bought a new one and changed SATA controller (my motherboard has 2), just to be on the safe side. But, well, as you can see above, something's still definitely not working correctly.&lt;br /&gt;&lt;br /&gt;This is one of the reasons I need ZFS. I don't want to lose or end up with misteriously corrupted files. I want to see how often data is corrupted. I want to see if corruption only happens after a reboot (which means it's a disk write cache flush problem), or if it happens while the system is running (I can't fsck XFS filesystems while they're being used). Of course, I want to do this in order to diagnose the problem and fix it.&lt;br /&gt;&lt;br /&gt;And even if the hardware only corrupts data once in a blue moon, I need my filesystem to properly report a checksum error and retry (or return an error), instead of returning corrupted data.  Basically, I want a reliable computer..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115168720197601346?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115168720197601346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115168720197601346' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115168720197601346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115168720197601346'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/why-zfs-is-needed-even-in-desktops-and.html' title='Why ZFS is needed even in desktops and laptops'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-115130528927612856</id><published>2006-06-26T05:39:00.000+01:00</published><updated>2006-06-26T08:18:59.833+01:00</updated><title type='text'>zfs and zpool programs successfully compile and link.</title><content type='html'>Beware -- long post.&lt;br /&gt;&lt;br /&gt;Sorry for the lack of updates recently, I've been kind of busy with other stuff.. ;)&lt;br /&gt;&lt;br /&gt;I have good news. As you can see from the title,  the zfs and the zpool programs now successfully compile and link :)&lt;br /&gt;&lt;br /&gt;There are 2 known functionality losses: Linux doesn't seem to have a &lt;span style="font-style: italic;"&gt;libdiskmgt&lt;/span&gt; equivalent and porting it seems rather complicated if not almost impossible, so there is no "device in use" detection. If anyone knows a good way to solve this, I'm all ears :)&lt;br /&gt;&lt;br /&gt;The other loss is the "whole disk" support. This must eventually be solved, since it's rather common in Solaris to dedicate a whole disk as a zpool &lt;span style="font-style: italic;"&gt;vdev&lt;/span&gt;. I believe this can be circumvented for now by creating a partition that uses the whole disk, and create the zpool &lt;span style="font-style: italic;"&gt;vdev&lt;/span&gt; using the partition device.&lt;br /&gt;&lt;br /&gt;The specific problem is that ZFS uses EFI labels in disks. I only found one working &lt;a href="http://developer.intel.com/technology/efi"&gt;EFI library for Linux&lt;/a&gt;, but the API is different from the OpenSolaris implementation. Once again, porting the EFI functionality from OpenSolaris proved to be difficult.&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;Unfortunately the zfs and zpool programs don't do anything useful yet.&lt;br /&gt;&lt;br /&gt;In the original implementation, they use the &lt;span style="font-style: italic;"&gt;ioctl&lt;/span&gt;(2) system call through the &lt;span style="font-style: italic;"&gt;/dev/zfs&lt;/span&gt; device to communicate with the kernel. Since this is a userlevel implementation, there will be no &lt;span style="font-style: italic;"&gt;/dev/zfs&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;In the zfs-fuse implementation, instead of using &lt;span style="font-style: italic;"&gt;ioctl&lt;/span&gt;(), we communicate through a UNIX domain (local) socket which is created in &lt;span style="font-style: italic;"&gt;/tmp/.zfs-unix/&lt;/span&gt;. So in order to make these commands actually do something, there must be a zfs-fuse process that answers the messages sent from zpool and zfs.&lt;br /&gt;&lt;br /&gt;My plan to make zfs-fuse work is to take advantage of as much code from the original implementation as possible. Yes, this also means &lt;span style="font-weight: bold;"&gt;I want to use the original &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://opensolaris.org/os/community/zfs/source/#ZPL"&gt;ZPL&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; code&lt;/span&gt;. It seems to be the most reliable way to do it, and perhaps also the easiest one :)&lt;br /&gt;&lt;br /&gt;In order to do that, I've created a &lt;span style="font-style: italic;"&gt;libsolkerncompat&lt;/span&gt; library that will implement/translate the necessary OpenSolaris kernel code to make the ZPL work. This library will also be necessary in order to use the original &lt;a href="http://cvs.opensolaris.org/source/xref/on/usr/src/uts/common/fs/zfs/zfs_ioctl.c"&gt;zfs_ioctl.c&lt;/a&gt; implementation, since it uses some kernel VFS (Virtual File System) operations, along with other things.&lt;br /&gt;&lt;br /&gt;This will also take some time to get it working, since a new &lt;span style="font-style: italic;"&gt;zfs_context.h&lt;/span&gt; must be created or (more likely) the current &lt;a href="http://svn.berlios.de/viewcvs/zfs-fuse/trunk/src/lib/libzfscommon/include/sys/zfs_context.h?rev=49&amp;view=markup"&gt;zfs_context.h&lt;/a&gt; must be factored out to &lt;span style="font-style: italic;"&gt;libsolkerncompat&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So, in a way, I can say I'm now in phase 3.5, since I'm actually working on the zfs-fuse process (which includes the necessary bits to make the ZPL code work), but I'm still not in phase 4, since zpool and zfs won't work until &lt;span style="font-style: italic;"&gt;zfs_ioctl.c&lt;/span&gt; is ported.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115130528927612856?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115130528927612856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115130528927612856' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115130528927612856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115130528927612856'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/zfs-and-zpool-programs-successfully.html' title='zfs and zpool programs successfully compile and link.'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-115094467088810655</id><published>2006-06-22T03:19:00.000+01:00</published><updated>2006-06-22T04:05:19.553+01:00</updated><title type='text'>Massive cleanup, libzfs almost compiling</title><content type='html'>Today I did a massive cleanup of the source code.&lt;br /&gt;&lt;br /&gt;As of now, there's a new library called &lt;a href="http://svn.berlios.de/viewcvs/zfs-fuse/trunk/src/lib/libsolcompat/"&gt;libsolcompat&lt;/a&gt; that implements or translates all necessary Solaris-specific functions into glibc functions (yes, FreeBSD will require some work here).&lt;br /&gt;&lt;br /&gt;This massive cleanup also means that all #includes will be exactly the same between the original source files and the Linux port! :)&lt;br /&gt;&lt;br /&gt;This was achieved by overriding some glibc system headers with a local header, with the help of a gcc-specific preprocessor directive called #include_next. This directive allows one to include the overriden system header, while adding some functionality to it.&lt;br /&gt;&lt;br /&gt;You can see a trivial example of this in the libsolcompat &lt;a href="http://svn.berlios.de/viewcvs/zfs-fuse/trunk/src/lib/libsolcompat/include/string.h?rev=38&amp;amp;view=markup"&gt;string.h&lt;/a&gt;, where a Solaris-specific function called strlcpy() was added.&lt;br /&gt;&lt;br /&gt;With this new file structure in place, it is now much easier to port new files.&lt;br /&gt;&lt;br /&gt;This also means libzfs is almost fully compiling. There are only a few functions left to be ported, which don't seem too difficult. However, getting it to work correctly will still require some work, as there are some differences between a real filesystem and a FUSE filesystem (I don't think mount(2) will work, ioctls must be replaced by UNIX sockets, etc), and between Solaris and Linux, obviously (some /dev/dsk references are still in place, etc).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115094467088810655?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115094467088810655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115094467088810655' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115094467088810655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115094467088810655'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/massive-cleanup-libzfs-almost.html' title='Massive cleanup, libzfs almost compiling'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-115078331751604592</id><published>2006-06-20T06:26:00.000+01:00</published><updated>2006-06-20T07:01:57.536+01:00</updated><title type='text'>Phase 3 has begun</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;Today I finally started working on Phase 3.&lt;br /&gt;&lt;br /&gt;I already got libuutil to compile (zpool needs it), but in the process I stumbled upon a very subtle problem. The problem is that, when porting OpenSolaris code to Linux, the -Wunknown-pragmas flag is dangerous (I was using it to ignore #pragma idents).&lt;br /&gt;&lt;br /&gt;Why is it dangerous, you ask? Because it ignores #pragma init and #pragma fini. Then why do the OpenSolaris developers use -Wunknown-pragmas without problems?&lt;br /&gt;Because when &lt;a href="http://gcc.gnu.org/onlinedocs/gcc-4.0.3/gcc/Solaris-Pragmas.html#Solaris-Pragmas"&gt;gcc is compiling to a Solaris target&lt;/a&gt;, it recognizes those pragmas. Not in Linux, though.&lt;br /&gt;&lt;br /&gt;Well what does this mean? It means that to be on the safe side (I really don't want to track down an obscure bug related to a #pragma init that I missed) I had to remove that flag from the main SConstruct file, and I had to change &lt;span style="font-weight: bold;"&gt;144&lt;/span&gt; source files just to remove #pragma idents... On the bright side, I only have to do this once, since all future code integrations from OpenSolaris are patched automatically.&lt;br /&gt;&lt;br /&gt;There's a related problem I had to deal with earlier. The gcc assembler in Solaris recognizes the slash (/) symbol as a way to start comments. Unfortunately, in Linux it doesn't, which means I had to remove all comments from the ported assembly files..&lt;br /&gt;&lt;br /&gt;Anyway, in other news, Ernst Rholicek has contributed a &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE#download"&gt;Gentoo Ebuild&lt;/a&gt; for all lazy Gentooers out there who want to help testing ;)&lt;br /&gt;&lt;br /&gt;That's it for now -- as usual, I'll keep you posted on my progress.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115078331751604592?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115078331751604592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115078331751604592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115078331751604592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115078331751604592'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/phase-3-has-begun.html' title='Phase 3 has begun'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-115040542147188279</id><published>2006-06-15T21:38:00.000+01:00</published><updated>2006-06-15T23:45:28.060+01:00</updated><title type='text'>Week report</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;Unfortunately this week I've been very busy with school and some personal stuff, so I've not been able to make much progress.&lt;br /&gt;&lt;br /&gt;However, I've received some successfull ztest reports in single cpu and SMP machines (and a few bug reports too ;)&lt;br /&gt;In the mean time, I've setup a public access &lt;a href="http://developer.berlios.de/svn/?group_id=6836"&gt;subversion repository&lt;/a&gt; and I've been releasing minor version updates to fix bugs. &lt;a href="http://developer.berlios.de/project/showfiles.php?group_id=6836"&gt;Version 0.1.3&lt;/a&gt; is finally expected to work right on 32-bit machines (there were a few timer-related integer overflows).&lt;br /&gt;&lt;br /&gt;There is now also a known bug in the glibc version 2.3.2 that comes in Debian Stable (sarge) related to conditional variables that causes a deadlock. You can read the details &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261237"&gt;here&lt;/a&gt;. There is no known workaround (except upgrading glibc manually..).&lt;br /&gt;A special thanks goes to Eric Hill for reporting and helping me find this bug (and 2 other ones).&lt;br /&gt;&lt;br /&gt;Since I'm going to have an exam tomorrow and I still have a few other things to do, I'm only going to be able to start &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE/ApplicationProposal#tasks"&gt;phase 3&lt;/a&gt; around Sunday or so. In the mean time, if you still haven't done so, you can help &lt;a href="http://zfs-on-fuse.blogspot.com/2006/06/testing-zfs-on-fuse.html"&gt;testing&lt;/a&gt; ;)&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-115040542147188279?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/115040542147188279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=115040542147188279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115040542147188279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/115040542147188279'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/week-report.html' title='Week report'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-114996733674162363</id><published>2006-06-10T19:53:00.000+01:00</published><updated>2006-06-10T20:22:59.483+01:00</updated><title type='text'>Testing ZFS on FUSE</title><content type='html'>The result of the phase 2 of this project is now available for download.&lt;br /&gt;&lt;br /&gt;If you want to help testing, please &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE#download"&gt;download&lt;/a&gt; the source code and follow the README and TESTING instructions.&lt;br /&gt;&lt;br /&gt;A few notes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you have access to a real SMP (dual-core, dual-proc or even a quad-proc ;) machine, I would &lt;span style="font-weight: bold;"&gt;really&lt;/span&gt; appreciate if you test this program. There are no known bugs at this moment, but if there are any problems, the most probable cause is in the new threading code.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You need &lt;a href="http://www.scons.org"&gt;SCons&lt;/a&gt; to compile (just do the usual 'apt-get install scons', 'emerge scons', or 'yum install scons')&lt;/li&gt;&lt;li&gt;Currently, it only runs on the x86 and amd64 architectures.&lt;/li&gt;&lt;/ul&gt;If you have a sparc machine and are willing to help testing, please let me know so that I can port the necessary code.&lt;br /&gt;&lt;br /&gt;If you have a machine of another architecture and want to help port to it, you'll have to implement about 2 or 3 assembly functions. If you're interested, let me know so that I can help ;)&lt;br /&gt;&lt;br /&gt;FreeBSD is not my primary goal at this moment. After the SoC finishes, I will make sure it works. If you can't wait, I accept patches :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114996733674162363?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114996733674162363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114996733674162363' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114996733674162363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114996733674162363'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/testing-zfs-on-fuse.html' title='Testing ZFS on FUSE'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-114983357488082980</id><published>2006-06-09T06:49:00.000+01:00</published><updated>2006-06-09T07:12:54.890+01:00</updated><title type='text'>Successfully compiled zdb and ztest</title><content type='html'>Hi everyone, I have great news.&lt;br /&gt;&lt;br /&gt;Apparently, I managed to compile zdb and ztest ;)&lt;br /&gt;&lt;br /&gt;After fixing a few bugs, I also managed to run ztest a few times for 5 minutes with no problems (there are still bugs, however).&lt;br /&gt;&lt;br /&gt;Once I manage to fix the remaining bugs (tomorrow or the day after, I hope), I'm going to upload the source code and give instructions for whoever wants to help testing.&lt;br /&gt;&lt;br /&gt;Stay tuned :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114983357488082980?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114983357488082980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114983357488082980' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114983357488082980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114983357488082980'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/successfully-compiled-zdb-and-ztest.html' title='Successfully compiled zdb and ztest'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-114936505587599384</id><published>2006-06-03T20:22:00.000+01:00</published><updated>2006-06-03T21:05:53.843+01:00</updated><title type='text'>Current issues</title><content type='html'>These are the libzpool files that are already compiling without warnings: util.c, bplist.c, dmu.c, dmu_objset.c, dmu_traverse.c, spa.c, spa_misc.c, vdev.c, zap.c and zap_micro.c. Also, zdb.c and zdb_il.c are already compiling.&lt;blockquote&gt;&lt;/blockquote&gt; &lt;blockquote&gt;&lt;/blockquote&gt;The ZFS developers have done a very good job, since all of those files required only a few simple fixes, and I expect a lot of the other ones will too (except of course kernel.c, and perhaps taskq.c - I didn't have a close look at it yet).&lt;br /&gt;So far, the hard part was getting the headers right, especially zfs_context.h.&lt;br /&gt;&lt;br /&gt;Most of the code changes so far were specific to gcc (fixing warnings) and POSIX threads (and maybe a few glibc ones, I don't know for sure). I intend to separate Linux-specific code into a linux.c file, or at least mark it with a /* LINUX */ tag, so that porting to FreeBSD will be easier.&lt;br /&gt;&lt;br /&gt;Anyway, here's what I still have to do to make zdb work:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Port kernel.c (hard)&lt;/li&gt;&lt;li&gt;Port the remaining libzpool files (should be easy)&lt;/li&gt;&lt;li&gt;Figure out how to implement the atomic_add_64() and atomic_cas_64() functions..&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Figure out how to make read-write locks work (using POSIX threads). It already has read-write locks (when __USE_UNIX98 is defined in the system header features.h), but I think it's impossible to know if the current thread owns a read (or write) lock, which is necessary to implement the RW_xxx_HELD() macros...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Port libumem. Actually, I'm planning on doing a simple stub implementation using malloc() and mutexes, and later integrate the &lt;a href="http://sourceforge.net/projects/umem/"&gt;libumem linux port&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Port whatever else is needed that I still haven't found out ;)&lt;/li&gt;&lt;/ul&gt;Comments are welcome :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114936505587599384?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114936505587599384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114936505587599384' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114936505587599384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114936505587599384'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/06/current-issues.html' title='Current issues'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-114908542067201870</id><published>2006-05-31T15:01:00.000+01:00</published><updated>2006-05-31T15:27:24.173+01:00</updated><title type='text'>Project is now in Phase 2 (TM)</title><content type='html'>Yesterday I decided to proceed to &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE/ApplicationProposal#tasks"&gt;phase 2&lt;/a&gt; of the project (Porting libzpool, ztest and zdb). And I'm happy to announce that libavl and libnvpair are already ported :)&lt;br /&gt;&lt;br /&gt;Actually, it wasn't that difficult. I only had to change 7 lines of code for it to compile cleanly with gcc -Wall -Wno-unknown-pragmas (I'm using this flag because all files in the OpenSolaris source seem to have #pragma ident, which gcc doesn't recognize).&lt;br /&gt;&lt;br /&gt;Now the real work begins. For libzpool to work, I'll have to implement a zfs_context.h which works with &lt;a href="http://en.wikipedia.org/wiki/NPTL"&gt;NPTL&lt;/a&gt;, and from the looks of it, it doesn't seem trivial :P&lt;br /&gt;&lt;br /&gt;By the way, the ZFS on FUSE website was inacessible today because my Internet connection failed. Sorry about that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114908542067201870?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114908542067201870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114908542067201870' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114908542067201870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114908542067201870'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/05/project-is-now-in-phase-2-tm.html' title='Project is now in Phase 2 (TM)'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28660784.post-114877840154023085</id><published>2006-05-28T02:02:00.000+01:00</published><updated>2006-05-28T02:06:41.543+01:00</updated><title type='text'>Project website created</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.wizy.org/wiki/ZFS_on_FUSE"&gt;project website&lt;/a&gt; is finally up.&lt;br /&gt;&lt;br /&gt;Now I really, really, really have to sleep. Bye! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114877840154023085?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114877840154023085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114877840154023085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114877840154023085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114877840154023085'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/05/project-website-created.html' title='Project website created'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-114868268689608677</id><published>2006-05-26T23:17:00.000+01:00</published><updated>2006-05-27T00:11:55.370+01:00</updated><title type='text'>ZFS On-Disk Specification</title><content type='html'>So, these past couple of days I've been reading the &lt;a href="http://www.opensolaris.org/os/community/zfs/docs/ondiskformatfinal.pdf"&gt;ZFS On-Disk Specification&lt;/a&gt;, which is not quite up-to-date, but it serves its purpose.&lt;br /&gt;&lt;br /&gt;I find it relatively easy to understand, but I got slightly confused regarding the DSL and especially the Fat Zap structure. But I'm sure it'll start to make more sense when I dive into the code (then again, maybe I'll be more confused ;)&lt;br /&gt;&lt;br /&gt;Anyway, tomorrow I'll definitely create the main project site, finish reading the spec and if time permits, I'll start importing the code.&lt;br /&gt;&lt;br /&gt;Well, that's it for today :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114868268689608677?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114868268689608677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114868268689608677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114868268689608677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114868268689608677'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/05/zfs-on-disk-specification.html' title='ZFS On-Disk Specification'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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-28660784.post-114861146492301105</id><published>2006-05-26T02:45:00.000+01:00</published><updated>2006-05-26T03:53:21.896+01:00</updated><title type='text'>Announcing ZFS on FUSE/Linux</title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;I'm very pleased to announce that, thanks to Google, Linux will (hopefully) have a working &lt;a href="http://www.opensolaris.org/os/community/zfs/"&gt;ZFS&lt;/a&gt; implementation by August 21st, 2006.&lt;br /&gt;&lt;br /&gt;This site is where I'll keep you informed about my progress. A web site will soon be created for general information.&lt;br /&gt;&lt;br /&gt;I'd just like to say that I'm very excited about this project. I think ZFS is a great filesystem, and I can't wait to have it working on Linux!&lt;br /&gt;&lt;br /&gt;Of course, none of this would be possible without the work of Sun's engineers, who have done (and are still doing) a wonderful job, and of course, Google, who is sponsoring my project (&lt;a href="http://code.google.com/soc/"&gt;and +600 other ones!&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Yay for Goooooooooooooogle!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28660784-114861146492301105?l=zfs-on-fuse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zfs-on-fuse.blogspot.com/feeds/114861146492301105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28660784&amp;postID=114861146492301105' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114861146492301105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28660784/posts/default/114861146492301105'/><link rel='alternate' type='text/html' href='http://zfs-on-fuse.blogspot.com/2006/05/announcing-zfs-on-fuselinux.html' title='Announcing ZFS on FUSE/Linux'/><author><name>wizeman</name><uri>http://www.blogger.com/profile/12505131496763624859</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>14</thr:total></entry></feed>
