Linux NILFS development
 help / color / mirror / Atom feed
From: Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org>
To: users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org,
	mniederle-RbZlAiThDcE@public.gmane.org
Subject: Re: users Digest, Vol 38, Issue 14
Date: Sun, 17 May 2009 22:57:59 +0900 (JST)	[thread overview]
Message-ID: <20090517.225759.58884506.ryusuke@osrg.net> (raw)
In-Reply-To: <20090515103724.5dd3285b@simplux>

Hi,
On Fri, 15 May 2009 10:37:24 +0200, "Dipl.-Ing. Michael Niederle" wrote:
> Hi, Ryusuke!
> > What is your pendrive product?
> 
> I have several pen drives for testing (from Corsair, OCZ, SanDisk). I'm
> currently testing nilfs on a "SanDisk Curzer Contour (16GB)". Initially I used
> kernel 2.6.30rc4, but switched to rc5 recently. The new kernel was build under
> nilfs - quickly and without any problems.

I got a SanDisk Cruzer for tests today.
So far, it works pretty well with nilfs.
 
> The problem of a pen based Linux system is, that it is more likely to be just
> disconnected instead of beeing shutdown cleanly than a desktop system.
>
> Loosing current data will be no problem. Loosing the whole filesystem is a
> big problem ...
> 
> Greetings, Michael

If you have a chance, please apply the following patch.

It issues I/O request with an unplug option at the end of every
segment.  This may have effect of minimizing write order reversal
causing the mount failures.

The patch is against 2.6.30-rc6 (ignore hunks since I'm managing more
patches).

Also, I pushed a variant of the patch to the (standalone)
nilfs2-module git tree, but this option is not supported for
kernel-2.6.28 and the prior versions.


Cheers,
Ryusuke Konishi
--
From: Ryusuke Konishi <konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>

nilfs2: set bio unplug flag for the last bio in segment

This sets BIO_RW_UNPLUG flag on the last bio of each segment during
write.  The last bio should be unplugged immediately because the
caller waits for the completion after the submission.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
---
 fs/nilfs2/segbuf.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
index dc0277a..9e3fe17 100644
--- a/fs/nilfs2/segbuf.c
+++ b/fs/nilfs2/segbuf.c
@@ -393,7 +393,7 @@ int nilfs_segbuf_write(struct nilfs_segment_buffer *segbuf,
 		 * Last BIO is always sent through the following
 		 * submission.
 		 */
-		rw |= (1 << BIO_RW_SYNCIO);
+		rw |= (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG);
 		res = nilfs_submit_seg_bio(wi, rw);
 		if (unlikely(res))
 			goto failed_bio;
-- 
1.6.2

      reply	other threads:[~2009-05-17 13:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.1.1242356401.18832.users@nilfs.org>
     [not found] ` <mailman.1.1242356401.18832.users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org>
2009-05-15  8:37   ` users Digest, Vol 38, Issue 14 Dipl.-Ing. Michael Niederle
2009-05-17 13:57     ` Ryusuke Konishi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090517.225759.58884506.ryusuke@osrg.net \
    --to=ryusuke-sg5x7nla6pw@public.gmane.org \
    --cc=mniederle-RbZlAiThDcE@public.gmane.org \
    --cc=users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox