<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://kerneltrap.org"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>KernelTrap - FUSE</title>
 <link>http://kerneltrap.org/taxonomy/term/634/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>Fuse Writable Mmap</title>
 <link>http://kerneltrap.org/Linux/Fuse_Writable_Mmap</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Miklos Szeredi posted a request for comments titled &quot;&lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-fsdevel/2007/11/15/417491&quot;&gt;fuse writable mmap design&lt;/a&gt;&quot;.  He explained, &quot;&lt;i&gt;writable shared memory mappings for fuse are something I&#039;ve been trying to implement forever.  Now hopefully I&#039;ve got it all worked out, it survives indefinitely with bash-shared-mapping and fsx-linux.  And I&#039;d like to solicit comments about the approach.&lt;/i&gt;&quot;    He went on to describe the patch:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;fuse_writepage() allocates a new temporary page with GFP_NOFS|__GFP_HIGHMEM.  It copies the contents of the original page, and queues a WRITE request to the userspace filesystem using this temp page.  From the VM&#039;s point of view, the writeback is finished instantly: the page is removed from the radix trees, and the PageDirty and PageWriteback flags are cleared. The per-bdi writeback count is not decremented until the writeback truly completes. [...] On dirtying the page, fuse waits for a previous write to finish before proceeding.  This makes sure, there can only be one temporary page used at a time for one cached page.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Fuse_Writable_Mmap&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Fuse_Writable_Mmap#comments</comments>
 <category domain="http://kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://kerneltrap.org/taxonomy/term/634">FUSE</category>
 <category domain="http://kerneltrap.org/Linux">Linux</category>
 <category domain="http://kerneltrap.org/taxonomy/term/270">Miklos Szeredi</category>
 <category domain="http://kerneltrap.org/taxonomy/term/1141">mmap</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Sat, 17 Nov 2007 03:08:54 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14814 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Shadow Directories</title>
 <link>http://kerneltrap.org/Linux/Shadow_Directories</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Jaroslav Sykora posted a series of five patches to handle the kernel portion of what he described as &quot;&lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-fsdevel/2007/10/18/347375&quot;&gt;shadow directories&lt;/a&gt;&quot;, providing an example which utilized FUSE to access the contents of a compressed file from the command line.  His first example was &lt;code&gt;cat hello.zip^/hello.c&lt;/code&gt; about which he explained, &quot;&lt;i&gt;the &#039;^&#039; is an escape character and it tells the computer to treat the file as a directory. The kernel patch implements only a redirection of the request to another directory(&#039;shadow directory&#039;) where a FUSE server must be mounted. The decompression of archives is entirely  handled in the user space. More info can be found in the documentation patch in the series.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;There were numerous problems suggested.  Jan Engelhardt noted, &quot;&lt;i&gt;too bad, since ^ is a valid character in a *file*name. Everything is, with the exception of &#039;&lt;code&gt;\0&lt;/code&gt;&#039; and &#039;&lt;code&gt;/&lt;/code&gt;&#039;. At the end of the day, there are no control characters you could use.&lt;/i&gt;&quot;  Later in the thread an &lt;a href=&quot;http://lwn.net/Articles/100148/&quot;&gt;lwn.net article&lt;/a&gt; from a couple years ago was quoted, &quot;&lt;i&gt;another branch, led by Al Viro, worries about the locking considerations of this whole scheme. Linux, like most Unix systems, has never allowed hard links to directories for a number of reasons;&lt;/i&gt;&quot;  The article had been discussing Reiser4, which treats files as directories.  In the current discussion, Al Viro added, &quot;&lt;i&gt;as for the posted patch, AFAICS it&#039;s FUBAR in handling of .. in such directories.  Moreover, how are you going to keep that shadow tree in sync with the main one if somebody starts doing renames in the latter?  Or mount --move, or...&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/Linux/Shadow_Directories&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/Linux/Shadow_Directories#comments</comments>
 <category domain="http://kerneltrap.org/Al_Viro">Al Viro</category>
 <category domain="http://kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://kerneltrap.org/taxonomy/term/634">FUSE</category>
 <category domain="http://kerneltrap.org/Jan_Engelhardt">Jan Engelhardt</category>
 <category domain="http://kerneltrap.org/taxonomy/term/1086">Jaroslav Sykora</category>
 <category domain="http://kerneltrap.org/reiser4">reiser4</category>
 <category domain="http://kerneltrap.org/taxonomy/term/1085">shadow directories</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Fri, 19 Oct 2007 19:03:52 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14618 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  Batched Writes</title>
 <link>http://kerneltrap.org/node/6739</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Hans Reiser [&lt;a href=&quot;http://kerneltrap.org/node/5654&quot;&gt;interview&lt;/a&gt;] described a recently posted patch as, &quot;&lt;i&gt;it revises the existing reiser4 code to do a good job for writes that are larger than 4k at a time by assiduously adhering to the principle that things that need to be done once per write should be done once per write, not once per 4k.&lt;/i&gt;&quot;  He went on to explain, &quot;&lt;i&gt;this code empirically proves that the generic code design which passes 4k at a time to the underlying FS can be improved.  Performance results show that the new code consumes  40% less CPU when doing &#039;dd bs=1MB .....&#039;&lt;/i&gt;&quot;  Referring to &lt;code&gt;generic_file_write()&lt;/code&gt;, he further noted that currently when writing 64MB of data, &quot;&lt;i&gt;it may go to the kernel as a 64MB write, but VFS sends it to the FS as 64MB/4k separate 4k writes.&lt;/i&gt;&quot;  It was acknowledged that this could also be accomplished in a non-generic way, howevever earlier feedback had suggested that such improvements should be made available to all.&lt;/p&gt;
&lt;p&gt;Andrew Morton [&lt;a href=&quot;http://kerneltrap.org/node/view/10&quot;&gt;interview&lt;/a&gt;] responded to the proposed changes saying, &quot;&lt;i&gt;there&#039;s nothing which leaps out and says &#039;wrong&#039; in this.  But there&#039;s nothing which leaps out and says &#039;right&#039;, either.  It seems somewhat arbitrary, that&#039;s all.&lt;/i&gt;&quot;  He pointed out that reiser4 was currently the only filesystem to benefit from the changes, &quot;&lt;i&gt;to be able to say &#039;yes, we want this&#039; I think we&#039;d need to understand which other filesystems would benefit from exploiting it, and with what results?&lt;/i&gt;&quot;  In the resulting discussion, it was determined that both FUSE [&lt;a href=&quot;http://kerneltrap.org/node/5627&quot;&gt;story&lt;/a&gt;] and XFS [&lt;a href=&quot;http://kerneltrap.org/node/417&quot;&gt;story&lt;/a&gt;] would benefit from these changes prompting Hans to ask, &quot;&lt;i&gt;Is it enough?&lt;/i&gt;&quot;  Andrew agreed, &quot;&lt;i&gt;Spose so.  Let&#039;s see what the diff looks like?&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/node/6739&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/node/6739#comments</comments>
 <category domain="http://kerneltrap.org/4k_stacks">4k stacks</category>
 <category domain="http://kerneltrap.org/Andrew_Morton">Andrew Morton</category>
 <category domain="http://kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://kerneltrap.org/taxonomy/term/634">FUSE</category>
 <category domain="http://kerneltrap.org/taxonomy/term/390">Hans Reiser</category>
 <category domain="http://kerneltrap.org/reiser4">reiser4</category>
 <category domain="http://kerneltrap.org/XFS">XFS</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 20 Jun 2006 14:49:14 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">6739 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  2.6.14-rc1, Feature Freeze</title>
 <link>http://kerneltrap.org/node/5653</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;In an email titled &quot;&lt;i&gt;read my lips: no more merges&lt;/i&gt;&quot;, Linux creator Linus Torvalds announced that the feature freeze, part of the newly improved development process [&lt;a href=&quot;http://kerneltrap.org/node/5638&quot;&gt;story&lt;/a&gt;], is now in effect for the 2.6.14 kernel.  &quot;&lt;i&gt;Ok, it&#039;s been two weeks (actually, two weeks and one day) since 2.6.13, and that means that the merge window is closed,&lt;/i&gt;&quot; Linus explained. &quot;&lt;i&gt;I&#039;ve released a 2.6.14-rc1, and we&#039;re now all supposed to help just clean up and fix everything, and aim for a really solid 2.6.14 release.&lt;/i&gt;&quot;  He went on to add, &quot;&lt;i&gt;be nice now, and follow the rules: put away the new toys, and instead work on making sure the stuff that got merged is all solid. Ok?&lt;/i&gt;&quot;&lt;/p&gt;
&lt;p&gt;As for what was merged, Linus noted that there was &quot;&lt;i&gt;a lot of stuff all over the place.&lt;/i&gt;&quot;  He began by pointing out that &quot;&lt;i&gt;pretty much every architecture got some updates,&lt;/i&gt;&quot; including alpha, arm, x86, x86-64, ppc, ia64, mips, and sparc.  There was also &quot;&lt;i&gt;an absolutely _huge_ ACPI diff, largely because of some re-indentation.&lt;/i&gt;&quot;  Other subsystems listed as receiving updates include drm, watchdog, hwmon, i2c, infiniband, input layer, md, dvb, v4l, pci, pcmcia, scsi, usb, sound driver, and network, &quot;&lt;i&gt;people may appreciate that the most common wireless network drivers got merged - centrino support is now in the standard kernel.&lt;/i&gt;&quot;  Finally, Linus also noted, &quot;&lt;i&gt;on the filesystem level, FUSE got merged, and ntfs and xfs got updated. In the core VFS layer, the &#039;struct files&#039; thing is now handled with RCU and has less expensive locking.&lt;/i&gt;&quot;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://kerneltrap.org/node/5653&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://kerneltrap.org/node/5653#comments</comments>
 <category domain="http://kerneltrap.org/taxonomy/term/613">2.6.13</category>
 <category domain="http://kerneltrap.org/taxonomy/term/640">2.6.14</category>
 <category domain="http://kerneltrap.org/development_process">development process</category>
 <category domain="http://kerneltrap.org/taxonomy/term/634">FUSE</category>
 <category domain="http://kerneltrap.org/Linus_Torvalds">Linus Torvalds</category>
 <category domain="http://kerneltrap.org/merge_window">merge window</category>
 <category domain="http://kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Tue, 13 Sep 2005 11:51:38 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">5653 at http://kerneltrap.org</guid>
</item>
<item>
 <title>Linux:  Kernel Status Update</title>
 <link>http://kerneltrap.org/node/5626</link>
 <description>&lt;div class=&quot;taxonomy-images&quot;&gt;&lt;a href=&quot;/news/linux&quot; class=&quot;taxonomy-image-links&quot;&gt;&lt;img src=&quot;http://kerneltrap.org/files/category_pictures/K-Linux.gif&quot; alt=&quot;Linux news&quot; title=&quot;Linux news&quot;  width=&quot;75&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Andrew Morton [&lt;a href=&quot;http://kerneltrap.org/node/view/10&quo