<?xml version="1.0" encoding="UTF-8"?>

<rss version='2.0' 
     xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
     xmlns:doap="http://usefulinc.com/ns/doap#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

    <channel>
        <!-- This XML Feed shows details for the page v9fs 
             and everything recently tagged v9fs -->
        <creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.5/
          </creativeCommons:license>
        <title>v9fs on SWiK</title>
        <doap:name>v9fs</doap:name>
        <doap:description>&lt;p&gt;&lt;img src="http://v9fs.sourceforge.net/tuxbunnysuit.jpg" style="margin:0 auto; display:block; float:right; padding:1em;;" alt/&gt;&lt;/p&gt;


	&lt;p&gt;v9fs provides a &lt;a class="wikilink" href="http://swik.net/Plan9"&gt;Plan9&lt;/a&gt; 9P2000 resource sharing protocol client for the &lt;a class="wikilink" href="http://swik.net/Linux"&gt;Linux&lt;/a&gt; 2.6 kernel.  The source code has been maintained as part of the main-line kernel since 2.6.14 with bugtracking through bugzilla org.   Normal &lt;a class="wikilink" href="http://swik.net/plan9"&gt;plan9&lt;/a&gt; servers will work with v9fs, but for folks looking for a Linux-based server we have moved towards support the &lt;a class="wikilink" href="http://swik.net/npfs"&gt;npfs&lt;/a&gt; libraries and applications.&lt;/p&gt;


	&lt;p&gt;v9fs was originally developed by Ron Minnich(rminnich%lanl.gov) and Maya Gokhale(maya%lanl.gov). Additional development by Greg Watson(gwatson%lanl.gov) and most recently Eric Van Hensbergen(ericvh%gmail.com).&lt;/p&gt;


	&lt;p&gt;The 2.6 port of &lt;span class="caps"&gt;V9FS&lt;/span&gt; and performance analysis was supported in part by the Defense Advance Research Projects Agency under Contract No. &lt;span class="caps"&gt;NBCH30390004&lt;/span&gt;. The original &lt;span class="caps"&gt;V9FS&lt;/span&gt; research work by Ron Minnich was supported by &lt;span class="caps"&gt;DARPA&lt;/span&gt; Contract #F30602-96-C-0297.&lt;/p&gt;


	&lt;p&gt;Documentation can be found in the Linux kernel source under Documentation/filesystems/9p.txt with a snapshot captured &lt;a rel="nofollow" href="http://git.kernel.org/?p=linux/kernel/git/ericvh/v9fs.git;a=blob_plain;f=Documentation/filesystems/9p.txt;hb=HEAD"&gt;here&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;The current source code for v9fs is maintained here: http://git.kernel.org/?p=linux/kernel/git/ericvh/v9fs.git;a=summary&lt;/p&gt;


	&lt;p&gt;The master branch contains the latest tested stable version.  The v9fs-devel branch contains the current development branch.&lt;/p&gt;
</doap:description>
        <description>


	v9fs provides a Plan9 9P2000 resource sharing protocol client for the Linux 2.6 kernel.  The source code has been maintained as part of the main-line kernel since 2.6.14 with bugtracking through bugzilla org.   Normal plan9 servers will work with v9fs, but for folks looking for a Linux-based server we have moved towards support the npfs libraries and applications.


	v9fs was originally developed by Ron Minnich(rminnich%lanl.gov) and Maya Gokhale(maya%lanl.gov). Additional development by Gre</description> 
	  <!-- see doap:description for full description -->
        <link>http://swik.net/v9fs</link>
        <doap:homepage>http://swik.net/v9fs</doap:homepage>
                <category>v9fs</category>
        <category>linux</category>
        <category>filesystem</category>
        <category>plan9</category>
        <category>9p</category>
        <category>License:GPL</category>
        <category>Eric-Van-Hensbergen</category>
        <category>Latchesar-Ionkov</category>
        <category>Ron-Minnich</category>

        <pubDate>Wed, 25 Jan 2006 06:06:00 -0800</pubDate>
        <lastBuildDate>Thu, 19 Jun 2008 17:44:02 -0700</lastBuildDate>
            
        <item>
            <title>Plan 9 Authentication in Linux paper available</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Plan+9+Authentication+in+Linux+paper+available/cb4dr</link>
            <description>Ashwin&#039;s paper on implementing Plan 9 authentication and capability device for Linux is now available for free from the ACM Archives along with the rest of the special issue on the Linux kernel that I helped co-edit:&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://portal.acm.org/toc.cfm?id=1400097&quot;&gt;http://portal.acm.org/toc.cfm?id=1400097&lt;/a&gt;</description>
            
            <pubDate>Sun, 10 Aug 2008 11:12:21 -0700</pubDate>
        </item>
            
        <item>
            <title>v9fs - SWiK</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/v9fs+-+SWiK/cb2v0</link>
            <description></description>
            
            <pubDate>Sat, 09 Aug 2008 22:07:30 -0700</pubDate>
        </item>
            
        <item>
            <title>v9fs - SWiK</title>
            <link>http://swik.net/plan9/del.icio.us%2Ftag%2Fplan9/v9fs+-+SWiK/cb2vp</link>
            <description></description>
            
            <pubDate>Sat, 09 Aug 2008 22:03:45 -0700</pubDate>
        </item>
            
        <item>
            <title>Slides from KVM Developer Forum on 9p/virtio</title>
            <link>http://swik.net/v9fs/Publications/Slides+from+KVM+Developer+Forum+on+9p%2Fvirtio/b7wem</link>
            <description>
</description>
            
            <pubDate>Thu, 19 Jun 2008 17:44:56 -0700</pubDate>
        </item>
            
        <item>
            <title>9p/virtio Slides Available</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/9p%2Fvirtio+Slides+Available/b7wee</link>
            <description>The slides I presented at KVM forum on using 9p over virtio to provide a paravirtualized file service are available on the &lt;a href=&quot;http://kvm.qumranet.com/kvmwiki/KvmForum2008&quot;&gt;KVM wiki &lt;/a&gt;</description>
            
            <pubDate>Thu, 19 Jun 2008 17:20:20 -0700</pubDate>
        </item>
            
        <item>
            <title>Intro to using 9P under Linux</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/Intro+to+using+9P+under+Linux/b532e</link>
            <description></description>
            
            <pubDate>Thu, 29 May 2008 16:44:23 -0700</pubDate>
        </item>
            
        <item>
            <title>[9fans] mount 9P on Linux and FreeBSD via FUSE</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/%5B9fans%5D+mount+9P+on+Linux+and+FreeBSD+via+FUSE/b532d</link>
            <description></description>
            
            <pubDate>Thu, 29 May 2008 16:44:23 -0700</pubDate>
        </item>
            
        <item>
            <title>Linux Kernel Documentation :: filesystems : 9p.txt</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/Linux+Kernel+Documentation+%3A%3A+filesystems+%3A+9p.txt/b532c</link>
            <description></description>
            
            <pubDate>Thu, 29 May 2008 16:44:23 -0700</pubDate>
        </item>
            
        <item>
            <title>Grave Robbers From Outer Space - a collection of articles about Plan 9, Inferno and the technology transfer of their technologies to other platforms such as Linux.</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/Grave+Robbers+From+Outer+Space+-+a+collection+of+articles+about+Plan+9%2C+Inferno+and+the+technology+transfer+of+their+technologies+to+other+platforms+such+as+Linux./b532b</link>
            <description></description>
            
            <pubDate>Thu, 29 May 2008 16:44:23 -0700</pubDate>
        </item>
            
        <item>
            <title>Intro to using 9P under Linux</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/Intro+to+using+9P+under+Linux/b5319</link>
            <description></description>
            
            <pubDate>Thu, 29 May 2008 16:44:22 -0700</pubDate>
        </item>
            
        <item>
            <title>Grave Robbers From Outer Space - a collection of articles about Plan 9, Inferno and the technology transfer of their technologies to other platforms such as Linux.</title>
            <link>http://swik.net/plan9/del.icio.us%2Ftag%2Fplan9/Grave+Robbers+From+Outer+Space+-+a+collection+of+articles+about+Plan+9%2C+Inferno+and+the+technology+transfer+of+their+technologies+to+other+platforms+such+as+Linux./b5bf7</link>
            <description></description>
            
            <pubDate>Sun, 18 May 2008 07:07:31 -0700</pubDate>
        </item>
            
        <item>
            <title>XCPU - clustering</title>
            <link>http://swik.net/plan9/del.icio.us%2Ftag%2Fplan9/XCPU+-+clustering/b5bf6</link>
            <description></description>
            
            <pubDate>Sun, 18 May 2008 07:07:31 -0700</pubDate>
        </item>
            
        <item>
            <title>Intro to using 9P under Linux</title>
            <link>http://swik.net/plan9/del.icio.us%2Ftag%2Fplan9/Intro+to+using+9P+under+Linux/b5bf5</link>
            <description></description>
            
            <pubDate>Sun, 18 May 2008 07:07:30 -0700</pubDate>
        </item>
            
        <item>
            <title>xcpu quick start</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/xcpu+quick+start/b4nr1</link>
            <description>&lt;div&gt;&lt;span id=&quot;bn3u&quot; style=&quot;font-size:180%;&quot;&gt;&lt;span id=&quot;wibb&quot;&gt;&lt;b id=&quot;gcws&quot;&gt;&lt;u id=&quot;szxz&quot;&gt;xcpu quick start for impatient people like me&lt;br/&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; (aka xcpu quickstart)    (More information about xcpu is available from &lt;a title=&quot;http://www.xcpu.org&quot; id=&quot;ec0i&quot; href=&quot;http://www.xcpu.org/&quot;&gt;http://www.xcpu.org&lt;/a&gt;)    &lt;span id=&quot;oc0p&quot;&gt;&lt;u id=&quot;kd0t&quot;&gt;Make Sure You Have The Pre-Reqs&lt;/u&gt;&lt;/span&gt;    (on Ubuntu 8.04)    sudo apt-get install libelfg0-dev  sudo apt-get install libssl-dev    &lt;span id=&quot;z39&quot;&gt;&lt;u id=&quot;t3hq&quot;&gt;Acquire the Source&lt;/u&gt;&lt;/span&gt;  &lt;pre id=&quot;d6gm&quot;&gt;svn co svn://xcpu.org/sxcpu/trunk sxcpu&lt;br/&gt;cd sxcpu&lt;br/&gt;make&lt;br/&gt;sudo make install&lt;br/&gt;&lt;br/&gt;&lt;span id=&quot;jba7&quot;&gt;&lt;u id=&quot;tkn5&quot;&gt;To try things out on the same host (single system, no client server)&lt;/u&gt;&lt;/span&gt;  % su % ssh-keygen -t rsa -f admin_key % mkdir /etc/xcpu % cp admin_key* /etc/xcpu % xcpufs &amp;amp; % xgroupset 127.0.0.1 root 0 % xuserset 127.0.0.1 root 0 root /root/.ssh/id_rsa.pub % xrx 127.0.0.1 /bin/date  &lt;span id=&quot;asy2&quot;&gt;&lt;u id=&quot;f67t&quot;&gt;To setup a pre-existing cluster with xcpu&lt;/u&gt;&lt;/span&gt;  On the front end machine (as root):  % ssh-keygen -t rsa -f admin_key % mkdir /etc/xcpu % cp admin_key* /etc/xcpu (copy admin_key to each back end node - below example with ssh) % ssh root@each_back_end_server mkdir /etc/xcpu % scp admin_key root@each_back_end_server:/etc/xcpu  &lt;span id=&quot;ywug&quot;&gt;To setup just the compute node (back-end server)&lt;/span&gt;  % xcpufs &amp;amp;  Then back on front-end node:  % sudo xgroupset    % sudo xuserset     ~/.ssh/id_rsa.pub&lt;br/&gt;% xrx  /bin/date&lt;br/&gt;&lt;/pre&gt;  &lt;/div&gt;</description>
            
            <pubDate>Fri, 25 Apr 2008 19:13:36 -0700</pubDate>
        </item>
            
        <item>
            <title>trans_fd_simple</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/trans_fd_simple/b4b1k</link>
            <description>&lt;a href=&quot;http://spreadsheets.google.com/pub?key=pLebQTr36aFzGau36zki_ZA&amp;amp;oid=1&amp;amp;output=image&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;&quot; src=&quot;http://spreadsheets.google.com/pub?key=pLebQTr36aFzGau36zki_ZA&amp;amp;oid=1&amp;amp;output=image&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;div&gt;Did some really basic performance checks on trans_fd_simple compared to the older code and comparing single lock with reader/writer lock protection on the socket.  Turns out my thinking with reader/writer lock was flawed and there are race cases (hence only the single threaded result).  Long and short of it appears to be sort of what we figured, that the simple approach does better on single threaded workload due to less overhead, but does much worse on multi-threaded due to added latency and what not.  I ran against npfs as well just to check if earlier thinking about whether or not multi-threaded npfs added much -- it appears to add nothing but overhead in this case.&lt;br/&gt;&lt;br/&gt;This particular case was from a qemu hosted linux talking to the simulation host server -- which isn&#039;t particularly good.  I&#039;m going to replicate this test on the blade regression cluster, but wanted to do a quick check before moving on to scatter/gather implementations.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;</description>
            
            <pubDate>Wed, 16 Apr 2008 13:21:41 -0700</pubDate>
        </item>
            
        <item>
            <title>Service Oriented File Systems</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Service+Oriented+File+Systems/b4b0a</link>
            <description>&lt;div&gt;Its fun to abstract and think about web2.0 concepts in terms of Plan 9 concepts.  Abstract away the gorp that makes up their implementations and think about some of the fundamental concepts.  When interfaces are files, mashups are binds.&lt;br/&gt;&lt;br/&gt;The larger picture here is about keeping this simple, language independent, and client independent.  I&#039;d like an infrastructure that I could build simple web services out of that can be viewed with a browser, or with a rich-client (like acme plug-ins).  I&#039;d like the front-end of these services to be defined in the same way the Octopus approach defines normal GUI&#039;s (except from a web-browser, the widgets are implemented by Java script).  I&#039;d like the back-end of these to be akin to big table and the chubby lock service, with a back-back-end that is simply Venti versus a database or XML.&lt;br/&gt;&lt;br/&gt;I&#039;ll admit I&#039;m probably naive about all of this, not having really worked on client-facing applications for some time, but I think it would be a fun thought exercise to go through and perhaps a nice refresher to actually try and implement.  While part of the goal is to keep things language independent, I&#039;ll probably do things under Inferno to keep them portable for me and open up the potential for interaction with the Octopus crowd.&lt;br/&gt;&lt;br/&gt;Of course, this all falls under the copious spare time which I have a definite deficit of -- however, I think dedicating one day a week is doable and I should be able to combine this with my constant desire to get back and look at collaborative facilities (aka warren) under Plan 9 and Inferno.&lt;br/&gt;&lt;/div&gt;</description>
            
            <pubDate>Wed, 16 Apr 2008 12:23:14 -0700</pubDate>
        </item>
            
        <item>
            <title>v9fs updates</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/v9fs+updates/b382j</link>
            <description>&lt;div&gt;With the 2.6.25 merge window rapidly approaching, it looks like I&#039;m going to have to hold off on merging the reorganization until 2.6.26.  At the moment, I&#039;m still fiddling with the transport API and specifically the rewrite of the file descriptor based transport which is used for sockets, named pipes, etc.  With a 2.6.26 target, I should be able to get the async and scatter-gather rewrites complete as well as merge the in-kernel server code from lucho.&lt;br/&gt;&lt;br/&gt;As part of the exercise I&#039;ve created a &quot;simple&quot; version of the code which is synchronous and single threaded (to match spfs).  My motivation was to scale back and figure out what the core pieces were in the fd transport, as well as to have a useful performance baseline to measure the overhead (and advantages) of a more asynchronous model.  A nice side-effect is that I also have a really simple and straightforward transport module which can be used as an example for those wanted to write their own transports.  I&#039;m not quite certain whether I want to merge the simple transport mainline though -- although I may merge it into trans_fd in order to maintain it as a baseline case -- it really amounts to a different request member function which could easily be selected via an option.&lt;br/&gt;&lt;br/&gt;In parallel I&#039;ve setup a few blades in order to measure performance, and perhaps more importantly performance regression.  When complete, I hope to publish historical performance regression results back to kernel 2.6.14.  At the moment I&#039;m trying to do all collection of results and graphs inside Google docs, which should make an easy place to keep things up to date and simultaneously publish the data.  I need to look around to see if anyone has hooks for the Google Data API so I can have my regression framework update the results automatically instead of me having to go in and manually enter the data.&lt;br/&gt;&lt;/div&gt;</description>
            
            <pubDate>Mon, 14 Apr 2008 07:53:57 -0700</pubDate>
        </item>
            
        <item>
            <title>GSoC 2008 Ideas</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/GSoC+2008+Ideas/b29rk</link>
            <description>&lt;div&gt;My Plan 9/Inferno summer of code ideas (otherwise known as projects I wish I had more time for) - projects should take no longer than 5 weeks to complete (including ramp up, debug, and packaging) -- conservatively projects should be completable in 3 weeks by experienced P9/Inferno developers and 2 weeks by folks unfamiliar with p9/inferno development environments.&lt;br/&gt;&lt;ul&gt;&lt;li&gt;mount.9P helper program for v9fs including packaging for debian and fedora -&lt;br/&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;hueristic for determining transport type&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;DNS support for resolving hostname &amp;amp;lt;-&amp;amp;gt;ip address&lt;/li&gt;&lt;li&gt;ssh-based tunneling support (will require server work as well)&lt;/li&gt;&lt;li&gt;man pages&lt;/li&gt;&lt;li&gt;debian packaging&lt;/li&gt;&lt;li&gt;rpm packaging&lt;/li&gt;&lt;li&gt;(stretch) authentication support (w/p9p)&lt;/li&gt;&lt;li&gt;(stretch) authentication support (w/o p9p)&lt;/li&gt;&lt;li&gt;(stretch) integration with idmap solution&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;since this is relatively straightforward it will really need to be &quot;super&quot; version including support for ssh tunneling, authentication,  etc.&lt;/li&gt;&lt;li&gt;idmap solution for v9fs - maps local uids/gids/error-codes to strings&lt;/li&gt;&lt;ul&gt;&lt;li&gt;userspace daemon to provide mapping&lt;/li&gt;&lt;li&gt;hooks in v9fs to use mapping&lt;/li&gt;&lt;li&gt;(stretch) synthetic file server approach to update mappings&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;OLPC Inferno Environment&lt;/li&gt;&lt;ul&gt;&lt;li&gt;fontfs - on-demand ttf solution&lt;/li&gt;&lt;li&gt;metafs - abstract metadata from underlying file system&lt;/li&gt;&lt;li&gt;(stretch) Integrate OLPC translation solution for Inferno&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;(stretch) OLPC oriented GUI toolkit, window manager, and toolbar&lt;/li&gt;&lt;li&gt;(stretch) Inferno approach to collaboration using file systems&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Source Control Management based on Venti backend&lt;/li&gt;&lt;ul&gt;&lt;li&gt;single branch version tracking with associated log file&lt;/li&gt;&lt;ul&gt;&lt;li&gt;add new files/directories&lt;/li&gt;&lt;li&gt;commit changes&lt;/li&gt;&lt;li&gt;checkout specific version #&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;(stretch) support multiple branches&lt;/li&gt;&lt;li&gt;(stretch) support repository sync (push/pull)&lt;/li&gt;&lt;li&gt;(stretch) support three-way merge&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;wrapper for p9p vbackup to make it more user friendly&lt;/li&gt;&lt;ul&gt;&lt;li&gt;wrapper which tracks venti scores based on volume being backed up&lt;/li&gt;&lt;li&gt;GUI admin tool&lt;br/&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;which sets up venti in partition(s) or with files&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;which assists in configuring backup intervals and volumes&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;(stretch) time-traveler like GUI for navigating/searching backups&lt;/li&gt;&lt;li&gt;(stretch) support for pruning and/or merging snapshots&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;GSoCFS for managing future community involvement with GSoC&lt;/li&gt;&lt;ul&gt;&lt;li&gt;synethtic file system and web interface&lt;/li&gt;&lt;li&gt;posting project ideas&lt;/li&gt;&lt;li&gt;voting for projects&lt;/li&gt;&lt;li&gt;registering student interest in projects&lt;/li&gt;&lt;li&gt;project milestone tracking&lt;br/&gt;&lt;/li&gt;&lt;li&gt;project blogs and wikis&lt;/li&gt;&lt;li&gt;post-summer project success metrics (subjective and objective)&lt;/li&gt;&lt;li&gt;(stretch) syndication points for community monitoring&lt;/li&gt;&lt;li&gt;(stretch) potential integration with SCM&lt;/li&gt;&lt;li&gt;(stretch) potential integration with some form of chat&lt;/li&gt;&lt;li&gt;(stretch) potential integration with name space sharing&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;(more to come...)&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;</description>
            
            <pubDate>Tue, 26 Feb 2008 06:47:50 -0800</pubDate>
        </item>
            
        <item>
            <title>Design and Roadmap Information</title>
            <link>http://swik.net/v9fs/Resources/Design+and+Roadmap+Information/b2uoy</link>
            <description>
</description>
            
            <pubDate>Wed, 13 Feb 2008 10:52:57 -0800</pubDate>
        </item>
            
        <item>
            <title>inferno-olpc circa 1/28/08</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/inferno-olpc+circa+1%2F28%2F08/b1zqf</link>
            <description>This week&#039;s update to inferno-olpc includes OLPC-optimized fonts and a customized logon with two extensions:&lt;br/&gt;&lt;ul&gt;&lt;li&gt;it binds the Inferno activity &quot;writable&quot; area to important areas of the Inferno name space which the user may want to write to (/usr, /services, /keydb, /tmp).  This will be necessary for the next OLPC update which will start enforcing security (including only allowing writing to the activity writable area of the file system.  Also bundled is a day-one scenario which will setup template directories to bind from and copying relevant files.&lt;/li&gt;&lt;li&gt;when logon can&#039;t find a user it will now prompt to create the user by copying the template /usr/inferno directory to /usr/username.  This can probably be generalized back into the standard Inferno base.&lt;/li&gt;&lt;/ul&gt;I also have a &quot;customized&quot; toolbar which just limits the size of labels to 15 characters so you don&#039;t get the awful line wrap.  This is a stopgap, a better toolbar metaphor needs to be developed for the OLPC version of Inferno.   I also augmented wmsetup with a larger set of applications.&lt;br/&gt;&lt;br/&gt;I had a larger agenda that included social-network style &quot;profiles&quot; and integrated security/password setup.  But there were too many corner cases to test and &quot;bullet-proof&quot; so I decided to hold that off for later and maybe just incorporate those functions into separate applications.&lt;br/&gt;&lt;br/&gt;I&#039;m still a little uncertain of how I want to handle authentication and security.  On one side, there could be a central &quot;schoolserver&quot; to setup authentication against.   However, as most of the current users don&#039;t have such a server, having a pure peer-to-peer mode is probably preferable.  Given that every laptop will be an auth-server then, do we setup a laptop wide authentication setup, or do we do a per user authentication setup.  The later would seem to make more sense to me as the user-provided password wouldn&#039;t have to be stored anywhere and could be use to setup keyfs and the user&#039;s own authentication secrets.  Other users &quot;registering&quot; with that user for the purpose of collaboration could then provide their own secrets in his keydb, etc.  I&#039;m not sure if that makes sense or if there is a better model I should be considering.&lt;br/&gt;&lt;br/&gt;The file system security is another pain.  Inferno users won&#039;t necessarily equal underlying system users (a common problem).  This will be made worse with the new OLPC security enforcement which may have different uid&#039;s for each &quot;instance&quot; of Inferno (but the same &quot;gid&quot;).  I think the right thing to do is a new version of devfs which always keeps group permissions open in the underlying fs and uses extended attributes or some other mechanism to maintain Inferno uid&#039;s and gid&#039;s for the files.</description>
            
            <pubDate>Thu, 31 Jan 2008 13:36:00 -0800</pubDate>
        </item>
            
        <item>
            <title>freefontfs - a styxserver inferno-lab</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/freefontfs+-+a+styxserver+inferno-lab/b1zqd</link>
            <description>I&#039;ve decided doing the dynamic free font file system would be a more gentle introduction to using the new Inferno styxservers modules than a full-blown filterfs like what we plan for metafs.&lt;br/&gt;&lt;br/&gt;The most appropriate example would appear to be mntgen.b (which allows for dynamic walk based creation in /n).  It uses both the styxservers facilities and the navigator and has a dynamic nature similar to what I want for freefontfs.&lt;br/&gt;&lt;br/&gt;Fonts are comprised of two types of file, the base file (..font) and subfonts (..).  We only want to generate (and cache) files as they are accessed.  The base available &#039;s will be derrived from crawling a directory for ttf files or perhaps from a configuration file.&lt;br/&gt;&lt;br/&gt;Following mntgen, it looks like it would be much more simple to keep it as a single level hierarchy (much like /n) -- this may be possible as all the necessary information is encoded in the filename.  We just need to parse the single walk correctly.&lt;br/&gt;&lt;br/&gt;One question is whether we should prepopulate the cache with a base font size for every ttf available.  This seems like a reasonable idea, but probably wouldn&#039;t even be necessary in many situations -- perhaps we can leave it as a config option.</description>
            
            <pubDate>Thu, 31 Jan 2008 13:36:00 -0800</pubDate>
        </item>
            
        <item>
            <title>metafs</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/metafs/b1zqb</link>
            <description>Since I wrote about it in my other post, I might as well explain metafs.  Basically in order to accommodate the OLPC  file system security model I need to maintain uid, gid, and mode bits for Inferno&#039;s view of the underlying file system separately.  This is actually a common need within hosted Inferno when you don&#039;t necessarily want to keep Inferno user&#039;s sync&#039;d with system users.  In any case, this amounts to an overlay file system, which stores away the additional metadata.&lt;br/&gt;&lt;br/&gt;While I am tempted to keep a central database of the metadata, the most pragmatic solution would seem to either use extended attributes or a hidden file in each directory.  Since extended attributes are somewhat distasteful and not available anywhere, I&#039;m going to start with the per-directory hidden file.&lt;br/&gt;&lt;br/&gt;In the future this same mechanism might be extendable to implement semantic file system extensions (or extended attributes for that matter) -- allowing for tagged organization and searching of the file system as well as alternative views such as a &quot;journal&quot; style temporal view (which might also be useful for backup purposes).  However, these extended metadata scenarios may beg a re-evaluation of the distributed versus centralized storage model.&lt;br/&gt;&lt;br/&gt;In any case, the basic plan is squirel away the extra meta data, indexed by the string filename/directory-name in a hidden file.  If the directory isn&#039;t writable by eve then no extended metadata will be written and the directory will default to the underlying uname/gname/mode -- however, if eve isn&#039;t able to access the files, the overlay won&#039;t be able to access the data -- so it&#039;s likely a moot point.</description>
            
            <pubDate>Thu, 31 Jan 2008 13:35:59 -0800</pubDate>
        </item>
            
        <item>
            <title>Inferno Enabled</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Inferno+Enabled/b1j6o</link>
            <description>I&#039;ve resurrected the Inferno Enabled sticker logo.&lt;br/&gt;&lt;br/&gt;PNG Version:&lt;br/&gt;&lt;a href=&quot;http://bp2.blogger.com/_nbtXd3baZsQ/R5dVsMsJeAI/AAAAAAAAAF8/ZhasdvKRRkU/s1600-h/inferno-enabled-black.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp2.blogger.com/_nbtXd3baZsQ/R5dVsMsJeAI/AAAAAAAAAF8/ZhasdvKRRkU/s320/inferno-enabled-black.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5158686115985192962&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;SVG Versions are available in &lt;a href=&quot;http://inferno-olpc.googlecode.com/files/inferno-enabled-white.svg&quot;&gt;white&lt;/a&gt; and &lt;a href=&quot;http://inferno-olpc.googlecode.com/files/inferno-enabled-black.svg&quot;&gt;black&lt;/a&gt;.</description>
            
            <pubDate>Wed, 23 Jan 2008 07:39:55 -0800</pubDate>
        </item>
            
        <item>
            <title>Infernal OLPC repository</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Infernal+OLPC+repository/b1a7n</link>
            <description>I&#039;ve reset up my Inferno git repository on &lt;a href=&quot;http://git.9grid.us/git&quot;&gt;http://git.9grid.us/git&lt;/a&gt; based on a mirror of Forsyth&#039;s  &lt;a href=&quot;http://code.google.com/p/inferno-os&quot;&gt;SVN repository&lt;/a&gt;.  Included now is my working OLPC modifications repository which contains both my core-Inferno patches as well as new mk rules for packaging.  I&#039;m going to move on to better OLPC applications support now, but there probably won&#039;t be an update on that until after next weekend.</description>
            
            <pubDate>Mon, 21 Jan 2008 15:10:37 -0800</pubDate>
        </item>
            
        <item>
            <title>Infernal OLPC Packages Available</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Infernal+OLPC+Packages+Available/b0ihk</link>
            <description>Finished working on the details on how to launch Inferno within the OLPC infrastructure and packaged an initial release which is now available via the &lt;a href=&quot;http://wiki.laptop.org/go/inferno&quot;&gt;OLPC wiki&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;I need to take the sandbox I built it from and work out a merge into the mainline inferno-os repository.  Basically this will amount to moving some bits into olpc specific directories and writing a distribution script which builds the bundle.&lt;br/&gt;&lt;br/&gt;Next step after that will be to really go to work on customizing the environment for the OLPC, starting with a custom look and feel for the window manager and a few example applications.  That will include supporting scaled true-type fonts and perhaps SVG support.  I also need to work out some day-one scripts to help setup the right name space for the OLPC&#039;s restricted security model.</description>
            
            <pubDate>Mon, 14 Jan 2008 09:30:00 -0800</pubDate>
        </item>
            
        <item>
            <title>OLPC - Hosted Inferno</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/OLPC+-+Hosted+Inferno/by5vl</link>
            <description>&lt;a href=&quot;http://bp2.blogger.com/_nbtXd3baZsQ/R3mIAZkC_XI/AAAAAAAAAFc/elpwSjz65Vo/s1600-h/inferno-olpc.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp2.blogger.com/_nbtXd3baZsQ/R3mIAZkC_XI/AAAAAAAAAFc/elpwSjz65Vo/s320/inferno-olpc.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5150297189318327666&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;Got my daughter an OLPC for Christmas, but have spent a lot of time playing with it myself.  First order of biz was to load Inferno on it ;)  I can run it from the shell quite happily, but am now trying to come up with a Sugar launcher and package for wider deployment.  I may start with a simple sugar app that toggles between loading Inferno versus loading sugar.  This should be much easier as it&#039;ll avoid interacting with the Python gorp.  Another alternative would be to just hack the terminal application (which would then act as emu&#039;s console), but I&#039;d like to try to find a way to tie it in better.&lt;br/&gt;&lt;br/&gt;(UPDATE: launcher is working, now working on packaging)</description>
            
            <pubDate>Mon, 31 Dec 2007 16:10:29 -0800</pubDate>
        </item>
            
        <item>
            <title>Service Oriented Synthetic File Systems</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Service+Oriented+Synthetic+File+Systems/bvj26</link>
            <description>&lt;span style=&quot;font-size:100%;&quot;&gt;I was doing some thinking about how larger synthetic file systems are structured and implemented under Plan 9 (or using 9P in general).&lt;br/&gt;&lt;br/&gt;My toy-use-case for thinking about it was developing a synthetic-file-server based service similar to SourceForge -- where you have many different projects, each with different component services (bug-tracking, version-control, blogs, wiki, forums, etc.)&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;You could do it by running lots of different servers (per project) and binding them into a name space and then exporting, but that seems kinda awful (particularly if you have dozens of projects you are using the same tool to track). Much better to have a single server running which is able to accommodate multiple projects, each with multiple file services underneath.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;O&lt;span style=&quot;font-size:100%;&quot;&gt;bsession with qid-spaces ends up being distracting, with the way fids work, we shouldn&#039;t need to segment the space so rigidly, it seems to me that qids only really need to be unique per directory, outside of that you can track which &quot;module&quot; of the hierarchy you are in by saving some state in the server-side fid tracking structure as you traverse the hierarchy.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;dot-dot makes things a little more complicated, but the solution used inside the kernel can be used within file servers as well (namely, keep the whole path in the service-side fid tracking structure).&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br/&gt;What&#039;s really nice is you can develop plug in file server modules which allow you to compose much more complex single-server-services out of many different file system components -- without worrying about how the qid space is split up and managed.&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;</description>
            
            <pubDate>Fri, 30 Nov 2007 10:34:17 -0800</pubDate>
        </item>
            
        <item>
            <title>Applying mount namespaces (in Linux)</title>
            <link>http://swik.net/v9fs/Grave+Robber%27s+from+Outerspace/Applying+mount+namespaces+%28in+Linux%29/box3p</link>
            <description>Decent developer works article describing how to use private name spaces in Linux including the new shared subtree stuff and examples about how to create per-login or per-user (where&#039;s per-process?) name spaces.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/linux/library/l-mount-namespaces.html&quot;&gt;&quot;Applying mount namespaces&quot; IBM Developerworks&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Per-process would be fairly easy to do given the techniques described in the paper -- we just need to work through an example, although it may be easier to do inside the source code of a particular shell.</description>
            
            <pubDate>Wed, 03 Oct 2007 13:12:43 -0700</pubDate>
        </item>
            
        <item>
            <title>v9fs</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/v9fs/bmtqb</link>
            <description></description>
            
            <pubDate>Tue, 11 Sep 2007 16:04:45 -0700</pubDate>
        </item>
            
        <item>
            <title>9p-linux - Google Code</title>
            <link>http://swik.net/v9fs/del.icio.us%2Ftag%2Fv9fs/9p-linux+-+Google+Code/bla47</link>
            <description></description>
            
            <pubDate>Fri, 31 Aug 2007 14:16:12 -0700</pubDate>
        </item>
                </channel>
</rss>
