<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user">
    <title>gmane.comp.file-systems.nilfs.user</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/3000"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2999"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2998"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2997"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2996"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2994"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2989"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2988"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2987"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2986"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2985"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2979"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2978"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2975"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2974"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2973"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2972"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2971"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2970"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2969"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/3000">
    <title>Re: cleaner optimization and online defragmentation: status update</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/3000</link>
    <description>&lt;pre&gt;Hi Vyacheslav,

On 2013-06-19 09:17, Vyacheslav Dubeyko wrote:

I have written my own little aging tool, that uses nfs traces and
replays them. I also plan on doing performance benchmarks, because there
is some performance degradation to be expected because of the block
counting. But I am quite busy for the next week or so and won't be able
to start benchmarking until then.


Thanks for the tip. I guess I should have read the "The newbie's guide
to hacking the Linux kernel" first. Sorry for that. I didn't intend to
submit a patch right now.



First of all the current timestamp approach is clearly inefficient,
because it does not take the number of live blocks in the segment into
consideration. Then there is the paper I cited, that suggests the
Cost/Benefit algorithm. I don't have any results as of yet, but I plan
on doing thorough benchmarks soon.


I didn't get the idea from F2FS, but from the cited paper. I just noted,
that F2FS as far as I can tell also uses these algorithms. They apply to
NILFS2, becaus&lt;/pre&gt;</description>
    <dc:creator>Andreas Rohner</dc:creator>
    <dc:date>2013-06-19T09:19:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2999">
    <title>Re: cleaner optimization and online defragmentation: status update</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2999</link>
    <description>&lt;pre&gt;Hi Andreas,

On Tue, 2013-06-18 at 20:30 +0200, Andreas Rohner wrote:

Thank you for your efforts. But I feel necessity to have answer on some
questions before diving in your code. I need to have common
understanding of your approaches, firstly.


What tools do you plan to use for testing?

As I know, it is used frequently xfstests, fsstress for testing.
Benchmarking tools are very useful also (for example, iozone). But it
needs to use a special aging tool for the case of GC testing, I think.


Please, use scripts/checkpatch.pl script for checking your code (as
kernel-space as user-space). As I can see, you break some code style
rules in your code.


If you suggest implementation of new GC policies then we need to have
evidence of efficiency. Do you have any benchmarking results? How can
you prove efficiency of your approach?

As I understand, F2FS has slightly different allocation policy. Why do
you think that "Greedy" and "Cost/Benefit" policies are useful for the
case of NILFS2?

I am slightly confused tr&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-19T07:17:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2998">
    <title>cleaner optimization and online defragmentation: status update</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2998</link>
    <description>&lt;pre&gt;Hi,

I have written a simple defragmentation tool and some extensions to the
cleaner. The implementations are not tested enough yet, but I thought I
could use some feedback if I am headed into the right direction. I am
very happy about any suggestions for improvement, because I am quite new
to kernel development.

* Cleaner:

Links to Commits: [1] [2]

I have implemented two new policies for the cleaner. Namely "Greedy",
which selects the segments with the most free blocks, and
"Cost/Benefit", which is inspired by this paper [3]. f2fs uses
apparently the same algorithms.

Unfortunately both of them require, that the file system keeps track of
the free blocks per segment. This is not trivial, mainly because of
snapshots. I chose to simply ignore snapshots altogether. That way the
tracking is simple. The problem is of course, that the
selection policy goes wrong sometimes, because the actual number of free
blocks is less than reported. But it should still perform better, than
the "Timestamp" policy.

If a bloc&lt;/pre&gt;</description>
    <dc:creator>Andreas Rohner</dc:creator>
    <dc:date>2013-06-18T18:30:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2997">
    <title>Re: [PATCH 00/24] nilfs2: introduce debugging subsystem implementation</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2997</link>
    <description>&lt;pre&gt;Hi Ryusuke,

On Tue, 2013-06-18 at 02:02 +0900, Ryusuke Konishi wrote:

[snip]

I don't think so. :) But trying to reinvent the wheel is in background
of the technical progress at whole, from my viewpoint. And old way
doesn't mean bad way. :)


So, I suppose that I need to describe my vision and my intentions in
more details.

Yes, I agree that tracepoints framework should be used. But I think that
tracepoints framework is more suitable for performance analysis than for
investigation of an issue by means of debugging. Debugging and
tracepoints frameworks have different goals, from my understanding. So,
I think that NILFS2 should have as debugging as tracepoints
opportunities. The debugging framework can be used for gathering
information about an issue's environment on reporters' side and for deep
issue investigation. The tracepoint framework can be used for
performance analysis. And, moreover, I am thinking about adding
tracepoints into NILFS2 and I am going to do it.

The main goal of this patch set is to p&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-18T09:43:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2996">
    <title>(unknown)</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2996</link>
    <description>&lt;pre&gt;


Loan Syndicacion

Am AFG Guaranty Trust Bank, zu strukturieren wir Kreditlinien treffen Sie
unsere
Kunden spezifischen geschäftlichen Anforderungen und einen deutlichen
Mehrwert für unsere
Kunden Unternehmen.
eine Division der AFG Finance und Private Bank plc.

Wenn Sie erwägen, eine große Akquisition oder ein Großprojekt sind, können
Sie
brauchen eine erhebliche Menge an Kredit. AFG Guaranty Trust Bank setzen
können
zusammen das Syndikat, das die gesamte Kredit schnürt für
Sie.


Als Bank mit internationaler Reichweite, sind wir gekommen, um Darlehen zu
identifizieren
Syndizierungen als Teil unseres Kerngeschäfts und durch spitzte diese Zeile
aggressiv sind wir an einem Punkt, wo wir kommen, um als erkannt haben
Hauptakteur in diesem Bereich.


öffnen Sie ein Girokonto heute mit einem Minimum Bankguthaben von 500 £ und
Getup zu £ 10.000 als Darlehen und auch den Hauch einer Chance und gewann
die Sterne
Preis von £ 500.000 in die sparen und gewinnen promo in may.aply jetzt.


mit dem Folowin&lt;/pre&gt;</description>
    <dc:creator>AFG GTBANK LOAN</dc:creator>
    <dc:date>2013-06-17T19:28:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2994">
    <title>[PATCH 20/24] nilfs2: introduce hexdump of internal structures option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2994</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 20/24] nilfs2: introduce hexdump of internal structures option

This patch adds CONFIG_NILFS2_DEBUG_HEXDUMP kernel configuration
option. This option enables writing in system log hexdumps of
internal structures.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |   12 ++++++++++++
 fs/nilfs2/debug.h |   39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig
index 39dc5c39..37fee87 100644
--- a/fs/nilfs2/Kconfig
+++ b/fs/nilfs2/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -119,6 +119,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config NILFS2_DEBUG_SHOW_SPAM
   option is depended implicitly from options that enable output of
   concrete modules of NILFS2 driver.
 
+config NILFS2_DEBUG_HEXDUMP
+bool "Enable debugging hexdump of internal structures"
+default n
+help
+  This option enab&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:26:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2989">
    <title>[PATCH 22/24] nilfs2: introduce option of showing internal errors</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2989</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 22/24] nilfs2: introduce option of showing internal errors

This patch adds CONFIG_NILFS2_DEBUG_SHOW_ERRORS kernel configuration
option. This option enables writing in system log messages about
internal errors of NILFS2 driver. Every such message records file,
function, line and code of error.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |    9 +++++++++
 fs/nilfs2/debug.h |   38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig
index 37fee87..451a3a2 100644
--- a/fs/nilfs2/Kconfig
+++ b/fs/nilfs2/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,6 +36,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config NILFS2_DEBUG
 
 if NILFS2_DEBUG
 
+config NILFS2_DEBUG_SHOW_ERRORS
+bool "Show internal errors"
+default n
+help
+  This option enables writing in system log messages about inter&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:26:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2988">
    <title>[PATCH 21/24] nilfs2: implement hexdump of internal structures option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2988</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 21/24] nilfs2: implement hexdump of internal structures option

This patch implements DBG_HEX_DUMP flag using. This flag requests writing
in system log hexdumps of internal structures.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/btree.c     |  126 +++++++++++++++++++++++++++++++++++++++++++++++++
 fs/nilfs2/cpfile.c    |   10 ++++
 fs/nilfs2/dat.c       |    5 ++
 fs/nilfs2/direct.c    |   28 +++++++++++
 fs/nilfs2/ifile.c     |    2 +
 fs/nilfs2/inode.c     |    5 ++
 fs/nilfs2/recovery.c  |   20 ++++++++
 fs/nilfs2/segment.c   |   84 +++++++++++++++++++++++++++++++++
 fs/nilfs2/sufile.c    |    6 +++
 fs/nilfs2/the_nilfs.c |    2 +
 10 files changed, 288 insertions(+)

diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c
index 9116be3..bf297ba 100644
--- a/fs/nilfs2/btree.c
+++ b/fs/nilfs2/b&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:26:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2987">
    <title>[PATCH 19/24] nilfs2: implement superfluous debugging output option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2987</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 19/24] nilfs2: implement superfluous debugging output option

This patch implements DBG_SPAM flag using. This flag requests output
from frequently called functions or detailed debugging output
from function's body.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/alloc.c  |  102 +++++++++++++++++++++++++++++++++++++++++++++++++---
 fs/nilfs2/btree.c  |   19 ++++++++++
 fs/nilfs2/dat.c    |   77 +++++++++++++++++++++++++++++++++++++++
 fs/nilfs2/dir.c    |   24 +++++++++++++
 fs/nilfs2/inode.c  |   24 +++++++++++++
 fs/nilfs2/mdt.c    |    4 +++
 fs/nilfs2/segbuf.c |   28 +++++++++++++++
 7 files changed, 273 insertions(+), 5 deletions(-)

diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c
index ee67a07..dc5432d 100644
--- a/fs/nilfs2/alloc.c
+++ b/fs/nilfs2/alloc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -99,6 +99,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static unsig&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:25:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2986">
    <title>[PATCH 18/24] nilfs2: introduce superfluous debugging output option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2986</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 18/24] nilfs2: introduce superfluous debugging output option

This patch adds CONFIG_NILFS2_DEBUG_SHOW_SPAM kernel
configuration option. This option enables output from
frequently called functions or detailed debugging output
from function's body.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |   12 ++++++++++++
 fs/nilfs2/debug.h |   22 +++++++++++++++++++++-
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig
index c1ec3c9..39dc5c39 100644
--- a/fs/nilfs2/Kconfig
+++ b/fs/nilfs2/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -107,6 +107,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config NILFS2_DEBUG_BUFFER_MANAGEMENT
 help
   This option enables debugging output in page.c module.
 
+config NILFS2_DEBUG_SHOW_SPAM
+bool "Enable superfluous debugging output"
+default n
+help
+  This option enables output&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:25:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2985">
    <title>[PATCH 16/24] nilfs2: introduce dump stack option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2985</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 16/24] nilfs2: introduce dump stack option

This patch adds CONFIG_NILFS2_DEBUG_DUMP_STACK kernel
configuration option. This option enables output of dump stack.
Usually, every function in NILFS2 driver begins from debugging
output of function name, file, line and input arguments' value.
In the case of enabling this option debugging output will include
dump stack too.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |   15 +++++++++++++++
 fs/nilfs2/debug.h |   19 ++++++++++++++++++-
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig
index d6299c6..c1ec3c9 100644
--- a/fs/nilfs2/Kconfig
+++ b/fs/nilfs2/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,6 +36,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config NILFS2_DEBUG
 
 if NILFS2_DEBUG
 
+config NILFS2_DEBUG_DUMP_STACK
+bool "Enable dump stack output"
+de&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:25:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2979">
    <title>[PATCH 09/24] nilfs2: implement GC subsystem debugging output</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2979</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 09/24] nilfs2: implement GC subsystem debugging output

This patch adds debugging output by means of nilfs2_debug() method
into modules that are grouped by GC subsystem debugging output
option (CONFIG_NILFS2_DEBUG_GC_SUBSYSTEM).

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/gcinode.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c
index 57ceaf3..3f8eb77 100644
--- a/fs/nilfs2/gcinode.c
+++ b/fs/nilfs2/gcinode.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -76,6 +76,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int nilfs_gccache_submit_read_data(struct inode *inode, sector_t blkoff,
 struct buffer_head *bh;
 int err;
 
+nilfs2_debug(DBG_GCINODE,
+"i_ino %lu, blkoff %lu, pbn %lu, vbn %llu, out_bh %p\n",
+inode-&amp;gt;i_ino, blkoff, pbn, vbn, out_bh);
+
 bh = nilfs_grab_buffer(inode, inode-&amp;gt;i_mapping, blkoff, 0);
 &lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:23:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2978">
    <title>[PATCH 08/24] nilfs2: introduce GC subsystem debugging output option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2978</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 08/24] nilfs2: introduce GC subsystem debugging output option

This patch adds subsystem's flags for gcinode.c module.
Flags for these modules are grouped by CONFIG_NILFS2_DEBUG_GC_SUBSYSTEM
kernel configuration option. This kernel configuration option enables
(or disables) debugging output from of all above-mentioned modules.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |    6 ++++++
 fs/nilfs2/debug.h |    9 +++++++++
 2 files changed, 15 insertions(+)

diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig
index 91ae8b3..465b9aa 100644
--- a/fs/nilfs2/Kconfig
+++ b/fs/nilfs2/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,6 +67,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config NILFS2_DEBUG_SEGMENTS_SUBSYSTEM
   This option enables debugging output in segbuf.c, segment.c
   modules.
 
+config NILFS2_DEBUG_GC_SUBSYSTEM
+bool "Enable GC subsystem debuggi&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:23:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2975">
    <title>[PATCH 04/24] nilfs2: introduce metadata (MDT) files debugging output option</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2975</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 04/24] nilfs2: introduce metadata (MDT) files debugging output option

This patch adds subsystem's flags for mdt.c, cpfile.c, dat.c,
ifile.c, sufile.c modules. Flags for these modules are
grouped by CONFIG_NILFS2_DEBUG_MDT_FILES kernel configuration
option. This kernel configuration option enables (or disables)
debugging output from of all above-mentioned modules.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |    7 +++++++
 fs/nilfs2/debug.h |   17 ++++++++++++++++-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig
index d886e15..3142c0d 100644
--- a/fs/nilfs2/Kconfig
+++ b/fs/nilfs2/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -53,6 +53,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config NILFS2_DEBUG_BASE_OPERATIONS
   This option enables debugging output in super.c, the_nilfs.c,
   namei.c, ioctl.c, i&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:22:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2974">
    <title>[PATCH 03/24] nilfs2: implement base subsystem debugging output</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2974</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 03/24] nilfs2: implement base subsystem debugging output

This patch adds debugging output by means of nilfs2_debug() method
into modules that are grouped by base subsystem debugging output
option (CONFIG_NILFS2_DEBUG_BASE_OPERATIONS).

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/dir.c       |   24 +++++++++
 fs/nilfs2/file.c      |    6 +++
 fs/nilfs2/inode.c     |  130 ++++++++++++++++++++++++++++++++++++++++++++++++-
 fs/nilfs2/ioctl.c     |   93 +++++++++++++++++++++++++++++++++++
 fs/nilfs2/namei.c     |   51 ++++++++++++++++++-
 fs/nilfs2/nilfs.h     |    1 +
 fs/nilfs2/super.c     |   87 +++++++++++++++++++++++++++++++++
 fs/nilfs2/the_nilfs.c |   42 ++++++++++++++++
 8 files changed, 431 insertions(+), 3 deletions(-)

diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c
index f30b017..cc8ac&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:22:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2973">
    <title>[PATCH 01/24] nilfs2: introduce nilfs2_debug() method</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2973</link>
    <description>&lt;pre&gt;From: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Subject: [PATCH 01/24] nilfs2: introduce nilfs2_debug() method

This patch adds basis for debugging subsystem in NILFS2.
It introduces kernel configuration option CONFIG_NILFS2_DEBUG that
enables debugging opportunity for NILFS2. This configuration option
is depended from CONFIG_NILFS2_FS.

The nilfs2_debug() method is a basic method for debugging output.
It receives a set of flags, format string and variable arguments list.
The debug subsystem has DBG_MASK variable. It defines flags of
subsystems and options that can be printed. The nilfs2_debug()
method compares DBG_MASK with flags during a call. If requested flags
are valid for output then debugging output takes place.

Signed-off-by: Vyacheslav Dubeyko &amp;lt;slava-yeENwD64cLxBDgjK7y7TUQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
CC: Ryusuke Konishi &amp;lt;konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
---
 fs/nilfs2/Kconfig |   13 +++++++++++++
 fs/nilfs2/debug.h |   56 ++++++++++++++++++++++++++++++++++++++&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:22:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2972">
    <title>[PATCH 00/24] nilfs2: introduce debugging subsystem implementation</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2972</link>
    <description>&lt;pre&gt;Hi,

This patch set implements debugging subsystem in NILFS2 driver.

The debugging subsystem includes:
(1) debugging subsystem API;
(2) subsystems and printing opportunity flags;
(3) kernel configuration options.

The debugging subsystem API includes:
(1) nilfs2_debug() method.
    It is a basic debugging method. It expects a set of
    flags, format string and variable arguments list.

(2) nilfs2_hexdump() method.
    It is a method for writing in system log hexdumps
    of internal structures. It expects a set of flags,
    prefix string, pointer on memory and size of pointed data.

(3) NILFS_ERR_DBG() macros.
    It is a macros that prints out file name, line number,
    function name and error code.

Every module of NILFS2 driver has dedicated flag. These flags
give opportunity to enable debugging output only from required
modules of NILFS2 driver. There are several special output
flags:
(1) DBG_SHOW_ERR flag.
    This flag requests writing in system log messages about
    internal errors of NILFS2 driv&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-17T12:21:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2971">
    <title>Re: Broken nilfs2 filesystem</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2971</link>
    <description>&lt;pre&gt;
[snip]


As I understand, the issue takes place on GC side. This fact complicates
the situation because the real problem can be far from detected
symptoms. I mean that a real issue can occur earlier without detection.
So, I assume that possible reasons can be: (1) special file system aging
state; (2) race condition. Any of these reason can be reproduced only by
clear and strict reproducing path. So, I have to find the reproducing
path, firstly.

Soon, I'll finish the preparation of debugging output patch set. I hope
that this patch set can give more details about the issue by reproducing
it on your side.

With the best regards,
Vyacheslav Dubeyko.


--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&amp;lt; at &amp;gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-13T10:01:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2970">
    <title>Re: Broken nilfs2 filesystem</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2970</link>
    <description>&lt;pre&gt;Vyacheslav Dubeyko skrev 2013-06-06 08:56:
I'm not so sure that my issues are caused by aging of the filesystem. As 
I described in my third e-mail on May 30 
(http://article.gmane.org/gmane.comp.file-systems.nilfs.user/2957), I 
was able to trash my new /home which was only a week old. I'm starting 
to think it has something to do with either VMware or bup (which is git 
based) or a combination of both.
Git in this case is a part of SparkleShare. SparkleShare is a Git based 
file synchronisation program, much like Dropbox but self hosted. 
However, I've made very little changes to the files tracked by 
SparkleShare so the Git workload should be extremely light.

I believe Steam is what's printing "Downloading update".
[...]

&lt;/pre&gt;</description>
    <dc:creator>Anton Eliasson</dc:creator>
    <dc:date>2013-06-12T20:31:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2969">
    <title>Re: Broken nilfs2 filesystem</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2969</link>
    <description>&lt;pre&gt;Reinoud Zandijk skrev 2013-06-06 11:20:
I have configured nilfs_cleanerd.conf to clean very aggressively so my 
earliest checkpoint is from after the incident. I included the contents 
of that file in my first email sent on May 22 
(http://article.gmane.org/gmane.comp.file-systems.nilfs.user/2920).

Even so, I tried to loopback mount the oldest checkpoint I have which I 
found was affected by the same corruption.

# losetup /dev/loop0 /Athena/Dump/riven/riven-home-20130531.img
# mount /dev/loop0 /mnt
$ mount | tail -1
/dev/loop0 on /mnt type nilfs2 (ro,relatime,norecovery)
$ lscp /dev/loop0
                  CNO        DATE     TIME  MODE  FLG NBLKINC       ICNT
              1260571  2013-05-23 16:51:49   cp    -          140 155496
              1260572  2013-05-23 16:51:51   cp    -         1632 155495
              1260575  2013-05-23 16:52:06   cp    -         1473 155496
              1260576  2013-05-23 16:52:09   cp    -           49 155495
              1260580  2013-05-24 23:36:11   cp    -        &lt;/pre&gt;</description>
    <dc:creator>Anton Eliasson</dc:creator>
    <dc:date>2013-06-12T20:12:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2968">
    <title>Re: NiLFS2 partial segment finfo</title>
    <link>http://permalink.gmane.org/gmane.comp.file-systems.nilfs.user/2968</link>
    <description>&lt;pre&gt;Hi Reinoud,

On Tue, 2013-06-04 at 21:47 +0200, Reinoud Zandijk wrote:

I suspect that I don't exactly follow your thoughts. But I don't
understand about what overlapping blocks you are talking.

I have such understanding. Segment summary begins from segment summary
header (struct nilfs_segment_summary). This structure has many fields.
One of fields is the number of finfo structures in segment summary
block. Then, it follows array of file description items after segment
summary header. Every file description item begins from struct
nilfs_finfo. It defines number of blocks (including intermediate blocks)
and number of file data blocks. It follows array of block information
items (union nilfs_binfo) after each file information item.

So, file describes on block basis. And every file is described by
continuous array of union nilfs_binfo items. What do you mean by blocks
overlapping?

With the best regards,
Vyacheslav Dubeyko.


--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the bod&lt;/pre&gt;</description>
    <dc:creator>Vyacheslav Dubeyko</dc:creator>
    <dc:date>2013-06-07T06:18:18</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.file-systems.nilfs.user">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.file-systems.nilfs.user</link>
  </textinput>
</rdf:RDF>
