Vyacheslav Dubeyko | 13 May 2013 13:54

[PATCH v2] nilfs2: implement calculation of free inodes count

Hi Ryusuke,

This is second version of the patch.

v1->v2
 * Change __statfs_word on u64 type.
 * Rename nilfs_count_free_inodes() into nilfs_ifile_count_free_inodes() method.
 * Introduce auxiliary functions: nilfs_palloc_count_max_entries(),
nilfs_palloc_count_desc_blocks(), nilfs_palloc_mdt_file_can_grow().
 * Rework processing of returned error from nilfs_ifile_count_free_inodes() in nilfs_statfs().

With the best regards,
Vyacheslav Dubeyko.
---
From: Vyacheslav Dubeyko <slava@...>
Subject: [PATCH v2] nilfs2: implement calculation of free inodes count

Currently, NILFS2 returns 0 as free inodes count (f_ffree) and current used inodes count as total file
nodes in file system (f_files):

df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/loop0           2      2       0  100% /mnt/nilfs2

This patch implements real calculation of free inodes count. First of all, it is calculated total file
nodes in file system as (desc_blocks_count * groups_per_desc_block * entries_per_group). Then, it is
calculated free inodes count as difference the total file nodes and used inodes count. As a result, we have
such output for NILFS2:

df -i
(Continue reading)

John P. Goldman | 8 May 2013 10:46
Picon
Favicon

dringender Vorschlag


Entschuldigungen für kommen in Ihre Privatsphäre! Ich bin Rechtsanwalt
Werner Erich Zeller; Ich habe einen meiner einflussreichen und
wohlhabenden Kunden zum Tode; und er hatte eine sehr geheime und private
Investitionen von €15,000,000.00 bei einer privaten Bank in Großbritannien
hier zu Lebzeiten. Diese Investition wurde ohne einen deklarierten
nächsten Angehörigen und begünstigte. Jetzt brauche ich Sie arbeiten mit
mir als mein Partner zu erholen und zu je 50 % Aktienfonds. Alle Dokumente
werden rechtlich beantragt und beschafft, und in 5 Werktage, wird diese
Transaktion auftreten. Aber ich brauche einen ernsten, treuen und
glaubwürdigen Partner.

Bitte senden Sie mir eine vertrauliche Antwort, wenn Sie denken, Sie
vertraut werden können und sind von den Qualitäten! Ich warte auf Ihre
schnelle Antwort.

Werner Erich Zeller (Rechtsanwalt)
Rufen Sie + 44-702-409-0820 (Office)
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Ryusuke Konishi | 1 May 2013 09:39
Picon
Gravatar

[PATCH] nilfs2: fix issue of nilfs_set_page_dirty for page at EOF boundary

Hi Vyacheslav,

Here I post the bug fix of the problem that Anthony Doggett reported
and you originally proposed a bug fix with the patch titled "nilfs2:
fix issue with broken bmap for the case of block size lesser than 4
KB".

I tested this patch against the mainline and stable trees, and so far
it works fine (the issue is fixed without any side effect).

If you meet an issue on this patch, or have a question, please let me
know.

I appreciate very much that you are always making effort to solve
problems of NILFS users.

Thanks,
Ryusuke Konishi
--
From: Ryusuke Konishi <konishi.ryusuke@...>
Subject: [PATCH] nilfs2: fix issue of nilfs_set_page_dirty for page at EOF
 boundary

DESCRIPTION:
There are use-cases when NILFS2 file system (formatted with block size
lesser than 4 KB) can be remounted in RO mode because of encountering
of "broken bmap" issue.

The issue was reported by Anthony Doggett
<Anthony2486@...>: "The machine I've been trialling
(Continue reading)

Vyacheslav Dubeyko | 25 Apr 2013 10:00

Re: Very low write-performance and troubles with RPM

Hi Clemens,

On Wed, 2013-04-24 at 15:53 +0200, Clemens Eisserer wrote:
> Hi.
> 
> I am in the process of migrating to nilfs2 for my root-filesystem
> running Fedora-19-alpha.
> Basically the system works quite fine, except:
> 
> 1. RPM checks for free inodes prior installing a package, which
> doesn't make any sence of course.
> I can pass "--ignoresize" to RPM which disables those checks, however,
> I haven't found any way to disable it when using the "yum" package
> manager.
> Is there any way to make nilfs2 report a large number of unused inodes
> instead of "0"?
> 

Thank you for the issue report. You simply encounter the non-implemented
part of the NILFS2 driver. It needs to be fixed.

> 2. Write-operations are very slow (a few mb/s) and a lot of time is
> spent inside:
> - segctord
> - the application performing the filesystem operations.
> 

I think that anyway NILFS2 driver needs in optimization efforts.

> I've recorded a system-wide profile of extracting a tar archive as
(Continue reading)

Dan Carpenter | 25 Apr 2013 09:49
Picon
Favicon

re: nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption

[ It's weird that kbuild didn't catch this ].

Hello Vyacheslav Dubeyko,

The patch bb594c4767b0: "nilfs2: fix issue with flush kernel thread
after remount in RO mode because of driver's internal error or
metadata corruption" from Apr 18, 2013, leads to the following 
warning:
"fs/nilfs2/inode.c:211 nilfs_writepage()
	 error: we previously assumed 'inode' could be null (see line 195)"

fs/nilfs2/inode.c
   190  static int nilfs_writepage(struct page *page, struct writeback_control *wbc)
   191  {
   192          struct inode *inode = page->mapping->host;
   193          int err;
   194  
   195          if (inode && (inode->i_sb->s_flags & MS_RDONLY)) {
                    ^^^^^
New check.

   196                  /*
   197                   * It means that filesystem was remounted in read-only
   198                   * mode because of error or metadata corruption. But we
   199                   * have dirty pages that try to be flushed in background.
   200                   * So, here we simply discard this dirty page.
   201                   */
   202                  nilfs_clear_dirty_page(page, false);
   203                  unlock_page(page);
   204                  return -EROFS;
(Continue reading)

Clemens Eisserer | 24 Apr 2013 16:22
Picon

Performance problems solved (was: "Very low write-performance and troubles with RPM")

Hi again,

I was able to trace the performance issues down to the "slub_debug"
kernel option which is set in fedora test builds.
With this option disabled performance is not great, but not that bad
either (~110mb/s on an SSD which usually does 400mb/s sequential).

Thanks a lot for nilfs, hopefully it will reduce my suffering after
accidential command line desasters ;)

Thanks, Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Clemens Eisserer | 24 Apr 2013 15:53
Picon

Very low write-performance and troubles with RPM

Hi.

I am in the process of migrating to nilfs2 for my root-filesystem
running Fedora-19-alpha.
Basically the system works quite fine, except:

1. RPM checks for free inodes prior installing a package, which
doesn't make any sence of course.
I can pass "--ignoresize" to RPM which disables those checks, however,
I haven't found any way to disable it when using the "yum" package
manager.
Is there any way to make nilfs2 report a large number of unused inodes
instead of "0"?

2. Write-operations are very slow (a few mb/s) and a lot of time is
spent inside:
- segctord
- the application performing the filesystem operations.

I've recorded a system-wide profile of extracting a tar archive as
well as a larger delete operation (rm):
https://plus.google.com/photos/118350688762629274389/albums/5870410083987119137?authkey=CPu0iK2TiOWsoQE

Any idea what could be going wrong here?

Thank you in advance, Clemens

PS: I am using nilfs-utils-2.1.4-3.fc19.x86_64 and linux
3.9.0-0.rc6.git2.3.fc19.x86_64.
the root-filesystem is an encrypted luks container (worked quite will
(Continue reading)

Dmitry Smirnov | 5 Apr 2013 06:45
Picon

NILFS2 and data integrity

Dear NILFS team,

Let me thank you sincerely for fantastic and very special file system.

Until now I've been using it successfully for years without any issues
except for minor inconvenience from slow `nilfs_cleanerd`.

I'd like to share the details of the incident when recently I experienced
data corruption on NILFS2 partition followed by unfortunate adding of
unreliable "SAMSUNG HD204UI" HDD to underlying "mdadm" array.

The notorious HDD [1][2] occasionally corrupts data on write
so later read returns wrong data. There is no way to avoid such corruption
in first place. Detection is also difficult because as you may know in Linux
there is no block-level integrity checking yet.
However NILFS2 suffers the most from that particular type of corruption because
`nilfs_cleanerd` moves unmodified data around and therefore amplifies the
damage.

First I noticed corruption on some archives that were OK some weeks ago and
didn't change since (according to last modification date). As time passed
more damage was found in files that didn't suppose to change.
Finally the root cause of corruption was identified and bad HDD was promptly
removed from array. That's when I thought that the issue was resolved but
few days later NILFS2 re-mounted itself as read-only and logged the following
to "/var/log/kern.log":

	Mar 24 11:38:14 deblabr kernel: [191771.927806] NILFS: bad btree node (blocknr=1919583732): level =
193, flags = 0x90, nchildren = 35672
	Mar 24 11:38:14 deblabr kernel: [191771.927812] NILFS error (device dm-0):
(Continue reading)

Michele Roca | 27 Mar 2013 09:10
Picon

MY GOOD FRIEND!


I am Barrister Werner Erich Zeller; I need your sincere partnership in
transferring the sum of 15,000,000.00 EUR The details await you as you 
reply!

please! Call +44 702 409 0820 (office)

--

-- 
Ich bin Barrister Werner Erich Zeller, ich brauche eure aufrichtige
Partnerschaft intransferring die Summe von 15.000.000,00 EUR auf Ihr
Bankkonto in dieser Woche für den Nutzen der beiden von uns 50% each.It
ist 100% legal, legitim und sicher! für Details, schreiben Sie mir auf
dieser meiner privaten E-Mail statt: Dies ist dringende und ernste Sie
müssen bereit sein und bereit, bevor Sie mich kontaktieren.

bitte! Rufen Sie +44 702 409 0820 (Büro)
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@...
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Vyacheslav Dubeyko | 26 Mar 2013 11:09

[RFC][PATCH] nilfs2: add necessary declarations and methods for debug output infrastructure

Hi,

I think that NILFS2 very needs in good debug infrastructure and tracepoints adding. So, this first patch is
my vision of necessary declarations and methods for debug output.

This patch is only for discussion because I am working on patch set with debug output for all NILFS2 modules.

Feel free to suggest any ideas and make remarks about debug output infrastructure in NILFS2.

With the best regards,
Vyacheslav Dubeyko.
---
From: Vyacheslav Dubeyko <slava@...>
Subject: [PATCH] nilfs2: add necessary declarations and methods for debug output infrastructure

This patch adds necessary declarations and methods for debug output infrastructure.

Signed-off-by: Vyacheslav Dubeyko <slava@...>
---
 fs/nilfs2/nilfs.h |   77 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h
index 9bc72de..4102667 100644
--- a/fs/nilfs2/nilfs.h
+++ b/fs/nilfs2/nilfs.h
 <at>  <at>  -32,6 +32,83  <at>  <at> 
 #include "the_nilfs.h"
 #include "bmap.h"

(Continue reading)

Vyacheslav Dubeyko | 25 Mar 2013 12:47

[PATCH v3] nilfs-utils: mkfs.nilfs2 should check presence of NILFS2 volume on device

From: Vyacheslav Dubeyko <slava@...>
Subject: [PATCH v3] nilfs-utils: mkfs.nilfs2 should check presence of NILFS2 volume on device

The mkfs.nilfs2 utility should check presence of existing file system or partition table on device and to
warn a user about possibility to destroy data by mkfs activity. This patch uses libblkid library for
detection of presence of file system or partition table on opened device. If libblkid detects any known
signature then mkfs.nilfs2 informs a user about potential danger to destroy existing file system or
partition table. The execution of mkfs.nilfs2 stops with offering to make decision about continuation
or abortion of operation.

Moreover, this patch adds "-f" option that gives opportunity to force overwrite when an existing file
system is detected on the device. By default, mkfs.nilfs2 will not write to the device if it suspects that
there is a file system on the device already. The man page of mkfs.nilfs2 was modified by description of
"-f" option.

Reported-by: Hendrik Levsen <hendrik@...>
Signed-off-by: Vyacheslav Dubeyko <slava@...>
Cc: Martin Steigerwald <Martin@...>
Tested-by: Vyacheslav Dubeyko <slava@...>
---
 configure.ac          |    8 +++-
 man/mkfs.nilfs2.8     |   13 +++++++
 sbin/mkfs/Makefile.am |    2 +-
 sbin/mkfs/mkfs.c      |  104 ++++++++++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 123 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index c2bcf4c..1c4cd25 100644
--- a/configure.ac
+++ b/configure.ac
(Continue reading)


Gmane