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 <[email protected]> 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 <[email protected]> --- 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 _______________________________________________ users mailing list [email protected] https://www.nilfs.org/mailman/listinfo/users
