From: Andreas Rohner <andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
To: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Andreas Rohner <andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
Subject: [PATCH 0/1] nilfs2: add mount option that reduces super block writes
Date: Thu, 30 Jan 2014 03:46:59 +0100 [thread overview]
Message-ID: <cover.1391048231.git.andreas.rohner@gmx.net> (raw)
In-Reply-To: <CAFvQSYSu5CGxs+K6bZUCtq17PrS_paX3bXBuLBRTba_XWYGgAg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi,
This is only a hacky proof of concept implementation and probably
full of nasty bugs. I also havn't really tested it. I was
just interested how hard it would be to implement Clemens' suggestion
of writing the super block only at umount time and do a linear scan
of all the segments in case of file system failure.
The linear scan is only performed if the file system wasn't shut down
properly. So for normal operation there shouldn't be any slowdown.
I repurposed the ss_pad field of nilfs_segment_summary to contain the
crc seed, because I needed a way to distinguish left over segments
from previous nilfs2 volumes from real segments that are part of the
current file system.
I don't really expect it to be merged or anything. Maybe it can spark
a discussion. Maybe somebody could try it out on an old SD-Card and
time the mount command or something.
I tested it on a virtual machine. It seemed to recover fine when I
killed the VM and mounted it again. Clearly more testing is
necessary...
br,
Andreas Rohner
---
Andreas Rohner (1):
nilfs2: add mount option that reduces super block writes
fs/nilfs2/segbuf.c | 3 ++-
fs/nilfs2/segment.c | 3 ++-
fs/nilfs2/super.c | 10 +++++++--
fs/nilfs2/the_nilfs.c | 54 ++++++++++++++++++++++++++++++++++++++++++++---
include/linux/nilfs2_fs.h | 4 +++-
5 files changed, 66 insertions(+), 8 deletions(-)
--
1.8.5.3
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-01-30 2:46 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-15 10:44 Does nilfs2 do any in-place writes? Clemens Eisserer
[not found] ` <CAFvQSYSzpX_WpUi9KpGj0pZvzhw2mfzzOqcgdj9ripXAjipmtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-15 10:52 ` Vyacheslav Dubeyko
2014-01-15 11:44 ` Clemens Eisserer
[not found] ` <CAFvQSYTG6HBVc9iodYyvCejwf889jiwOPsVb1Hi8cDrR9pOGeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-15 12:01 ` Vyacheslav Dubeyko
2014-01-15 15:23 ` Ryusuke Konishi
[not found] ` <20140116.002353.94325733.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-16 10:08 ` Vyacheslav Dubeyko
2014-01-17 22:55 ` Ryusuke Konishi
[not found] ` <20140118.075519.43661574.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-20 11:54 ` [writable snapshots discussion] " Vyacheslav Dubeyko
2014-01-18 0:00 ` Ryusuke Konishi
[not found] ` <20140118.090008.194171715.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-28 9:25 ` [static superblock discussion] " Vyacheslav Dubeyko
[not found] ` <1390901114.2942.11.camel-dzAnj6fV1RxGeWtTaGDT1UEK6ufn8VP3@public.gmane.org>
2014-01-29 12:44 ` Andreas Rohner
[not found] ` <52E8F7A7.8010505-hi6Y0CQ0nG0@public.gmane.org>
2014-01-29 13:19 ` Vyacheslav Dubeyko
2014-01-29 18:18 ` Clemens Eisserer
[not found] ` <CAFvQSYSu5CGxs+K6bZUCtq17PrS_paX3bXBuLBRTba_XWYGgAg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-30 2:46 ` Andreas Rohner [this message]
[not found] ` <cover.1391048231.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-30 2:47 ` [PATCH 1/1] nilfs2: add mount option that reduces super block writes Andreas Rohner
[not found] ` <75ceb45c464097ab556baacf2d15d6ae4b792bb2.1391048231.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-30 6:36 ` Vyacheslav Dubeyko
[not found] ` <127C78C3-9D47-439C-9639-263BC453D98D-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-30 6:02 ` Andreas Rohner
[not found] ` <52E9EB06.1000504-hi6Y0CQ0nG0@public.gmane.org>
2014-01-30 7:44 ` Vyacheslav Dubeyko
[not found] ` <8DBE8E18-F678-44B0-A6A6-5AFEC227AA86-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-30 6:52 ` Andreas Rohner
2014-01-30 9:48 ` Andreas Rohner
[not found] ` <52EA2002.1030809-hi6Y0CQ0nG0@public.gmane.org>
2014-01-30 11:27 ` Vyacheslav Dubeyko
[not found] ` <A6830DB2-DC73-4ACC-BE73-7A6EC1AC7C18-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-30 11:33 ` Andreas Rohner
[not found] ` <52EA38A3.8060107-hi6Y0CQ0nG0@public.gmane.org>
2014-02-01 19:05 ` Clemens Eisserer
2014-01-30 3:27 ` [PATCH 0/1] " Andreas Rohner
2014-01-30 5:29 ` Ryusuke Konishi
[not found] ` <20140130.142941.55837481.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-30 5:59 ` Andreas Rohner
2014-01-30 6:29 ` Andreas Rohner
[not found] ` <52E9F13A.5050805-hi6Y0CQ0nG0@public.gmane.org>
2014-01-30 8:46 ` Ryusuke Konishi
2014-01-30 8:35 ` [static superblock discussion] Does nilfs2 do any in-place writes? Vyacheslav Dubeyko
[not found] ` <71B2806D-7CF2-4992-A588-EB73EADFFF9F-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-30 10:09 ` Clemens Eisserer
[not found] ` <CAFvQSYQ84_BsqVC_ZM77P92jkP+1dh7NexvZWg4mFE7B3wSK0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-30 12:42 ` Vyacheslav Dubeyko
[not found] ` <AE0F313D-5934-452B-80AB-5D691AF8A4BE-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-30 13:09 ` Clemens Eisserer
[not found] ` <CAFvQSYQGDXmUit1zFZ9_LAjdLjxM-i_yR2L6pwFDX_BEdjdXxQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-30 13:32 ` Vyacheslav Dubeyko
2014-01-30 14:03 ` Clemens Eisserer
[not found] ` <CAFvQSYQ-qkXz677-obgHVN5fLQiF10-A=T2yNNAHKRcOGm_Pqw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-30 15:27 ` Vyacheslav Dubeyko
[not found] ` <720AFF13-6203-4A28-9850-3C2CAFF3B7BF-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-02-05 20:47 ` Clemens Eisserer
[not found] ` <CAFvQSYStT4uwxqtxATLbPOvHYjww=sw=C=f3vBi_qdu6MXAn5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-07 6:43 ` Vyacheslav Dubeyko
2014-01-16 10:03 ` Clemens Eisserer
[not found] ` <CAFvQSYSC7+dd93pRH-uok9N+A_s=1VKrfGEppu3qRTg3q=CuXQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-16 10:10 ` Vyacheslav Dubeyko
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=cover.1391048231.git.andreas.rohner@gmx.net \
--to=andreas.rohner-hi6y0cq0ng0@public.gmane.org \
--cc=linux-nilfs-u79uwXL29TY76Z2rM5mHXA@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