<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.kerneltrap.org"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>KernelTrap - David Howells</title>
 <link>http://www.kerneltrap.org/taxonomy/term/951/0</link>
 <description></description>
 <language>en-local</language>
<item>
 <title>Local Caching For Network Filesystems</title>
 <link>http://www.kerneltrap.org/Linux/Local_Caching_For_Network_Filesystems</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;&quot;&lt;i&gt;These patches add local caching for network filesystems such as NFS,&lt;/i&gt;&quot; &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-fsdevel/2008/2/20/924584&quot;&gt;began David Howells&lt;/a&gt; describing an updated set of thirty-seven patches to introduce &lt;a href=&quot;http://kerneltrap.org/taxonomy/term/985&quot;&gt;FS-Cache&lt;/a&gt;.  When asked how the patches affect performance, he noted that this was dependent on the use case, highlighting issues when dealing with lots of metadata, &quot;&lt;i&gt;getting metadata from the local disk fs is slower than pulling it across an unshared gigabit ethernet from a server that already has it in memory.&lt;/i&gt;&quot;  &lt;/p&gt;
&lt;p&gt;David continued &quot;&lt;i&gt;these points don&#039;t mean that fscache is no use, just that you have to consider carefully whether it&#039;s of use to *you* given your particular situation, and that depends on various factors,&lt;/i&gt;&quot; adding, &quot;&lt;i&gt;note that currently FS-Caching is disabled for individual NFS files opened for writing as there&#039;s no way to handle the coherency problems thereby introduced.&lt;/i&gt;&quot;  He concluded with a number of simple performance benchmarks.&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Local_Caching_For_Network_Filesystems&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Local_Caching_For_Network_Filesystems#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/951">David Howells</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/985">FS-Cache</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/NFS">NFS</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Thu, 21 Feb 2008 15:35:41 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">15555 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Removing iget() and read_inode()</title>
 <link>http://www.kerneltrap.org/Linus/Removing_iget_and_read_inode</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;&quot;&lt;i&gt;Here&#039;s a set of patches that remove all calls to iget() and all read_inode() functions,&lt;/i&gt;&quot; began David Howells describing &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-fsdevel/2007/10/12/335812&quot;&gt;a collection of 32 patches&lt;/a&gt; posted to the lkml.  He went on to explain the reason for removing these functions, &quot;&lt;i&gt;they should be removed for two reasons: firstly they don&#039;t lend themselves to good error handling, and secondly their presence is a temptation for code outside a filesystem to call iget() to access inodes within that filesystem.&lt;/i&gt;&quot;  He then suggested three benefits:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;(1) Error handling gets simpler as you can return an error code rather than having to call is_bad_inode().  (2) You can now tell the difference between ENOMEM and EIO occurring in the read_inode() path.  (3) The code should get smaller.  iget() is an inline function that is typically called 2-3 times per filesystem that uses it.  By folding the iget code into the read_inode code for each filesystem, it eliminates some duplication.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linus/Removing_iget_and_read_inode&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linus/Removing_iget_and_read_inode#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/951">David Howells</category>
 <category domain="http://www.kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://www.kerneltrap.org/inode">inode</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Mon, 15 Oct 2007 00:19:53 +0000</pubDate>
 <dc:creator>Jeremy</dc:creator>
 <guid isPermaLink="false">14582 at http://www.kerneltrap.org</guid>
</item>
<item>
 <title>Generic Filesystem Caching Facility</title>
 <link>http://www.kerneltrap.org/Linux/Generic_Filesystem_Caching_Facility</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;&quot;&lt;i&gt;The attached patch adds a generic intermediary (FS-Cache) by which filesystems may call on local caching capabilities, and by which local caching backends may make caches available,&lt;/i&gt;&quot; explained David Howells describing his &quot;&lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/21/271752&quot;&gt;generic filesystem caching facility&lt;/a&gt;&quot; patch.  In his patchset he also provided a patch &lt;a href=&quot;http://kerneltrap.org/mailarchive/linux-kernel/2007/9/21/272005&quot;&gt;to make NFS utilize the generic caching facility&lt;/a&gt;.  David went on to detail thirteen facilities provided by the patch, including:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;(1) Caches can be added / removed at any time, even whilst in use;  (2) Adds a facility by which tags can be used to refer to caches, even if they&#039;re not mounted yet; (3) More than one cache can be used at once.  Caches can be selected explicitly by use of tags;  (4) The netfs is provided with an interface that allows either party to withdraw caching facilities from a file (required for (1)); (5) A netfs may annotate cache objects that belongs to it; (6) Cache objects can be pinned and reservations made; (7) The interface to the netfs returns as few errors as possible, preferring rather to let the netfs remain oblivious.&quot;&lt;/p&gt;&lt;/blockquote&gt;
&lt;!-- google_ad_section_end --&gt;&lt;p&gt;&lt;a href=&quot;http://www.kerneltrap.org/Linux/Generic_Filesystem_Caching_Facility&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.kerneltrap.org/Linux/Generic_Filesystem_Caching_Facility#comments</comments>
 <category domain="http://www.kerneltrap.org/taxonomy/term/951">David Howells</category>
 <category domain="http://www.kerneltrap.org/filesystem">filesystem</category>
 <category domain="http://www.kerneltrap.org/taxonomy/term/985">FS-Cache</category>
 <category domain="http://www.kerneltrap.org/Linux">Linux</category>
 <category domain="http://www.kerneltrap.org/news/linux">Linux news</category>
 <pubDate>Mon, 24 Sep 2007 21:24:29 +0000</pubDate>
 <dc:creato