Linux Container Development
 help / color / mirror / Atom feed
From: Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
Cc: containers
	<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Dave Hansen
	<dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
	hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	Alexey Dobriyan
	<adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: [RFC][PATCH 3/8] create fs flags to mark c/r supported fs's
Date: Fri, 27 Feb 2009 12:34:28 -0800	[thread overview]
Message-ID: <20090227203428.556600DA@kernel> (raw)
In-Reply-To: <20090227203425.F3B51176@kernel>


There are plenty of filesystems that are not supported for
c/r at this point.  Think of things like hugetlbfs which
are externally visible or pipefs which are kernel-internal.

This provides a quick way to mark the filesystems as they
get supported.  We won't mark wery many filesystems
explicitly for now.  That's because we will assume that
FS_REQUIRES_DEV implies FS_CHECKPOINTABLE for now.  This
assumption may need to get overridden in the future, but
it should be OK for now.

Signed-off-by: Dave Hansen <dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---

 linux-2.6.git-dave/fs/nfs/super.c     |   13 ++++++++-----
 linux-2.6.git-dave/include/linux/fs.h |    1 +
 2 files changed, 9 insertions(+), 5 deletions(-)

diff -puN fs/nfs/super.c~FS_CHECKPOINTABLE-flag fs/nfs/super.c
--- linux-2.6.git/fs/nfs/super.c~FS_CHECKPOINTABLE-flag	2009-02-27 12:07:38.000000000 -0800
+++ linux-2.6.git-dave/fs/nfs/super.c	2009-02-27 12:07:38.000000000 -0800
@@ -233,12 +233,15 @@ static int nfs_xdev_get_sb(struct file_s
 static void nfs_kill_super(struct super_block *);
 static int nfs_remount(struct super_block *sb, int *flags, char *raw_data);
 
+#define NFS_FS_FLAGS FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|\
+		     FS_BINARY_MOUNTDATA|FS_CHECKPOINTABLE
+
 static struct file_system_type nfs_fs_type = {
 	.owner		= THIS_MODULE,
 	.name		= "nfs",
 	.get_sb		= nfs_get_sb,
 	.kill_sb	= nfs_kill_super,
-	.fs_flags	= FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+	.fs_flags	= NFS_FS_FLAGS,
 };
 
 struct file_system_type nfs_xdev_fs_type = {
@@ -246,7 +249,7 @@ struct file_system_type nfs_xdev_fs_type
 	.name		= "nfs",
 	.get_sb		= nfs_xdev_get_sb,
 	.kill_sb	= nfs_kill_super,
-	.fs_flags	= FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+	.fs_flags	= NFS_FS_FLAGS,
 };
 
 static const struct super_operations nfs_sops = {
@@ -275,7 +278,7 @@ static struct file_system_type nfs4_fs_t
 	.name		= "nfs4",
 	.get_sb		= nfs4_get_sb,
 	.kill_sb	= nfs4_kill_super,
-	.fs_flags	= FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+	.fs_flags	= NFS_FS_FLAGS,
 };
 
 struct file_system_type nfs4_xdev_fs_type = {
@@ -283,7 +286,7 @@ struct file_system_type nfs4_xdev_fs_typ
 	.name		= "nfs4",
 	.get_sb		= nfs4_xdev_get_sb,
 	.kill_sb	= nfs4_kill_super,
-	.fs_flags	= FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+	.fs_flags	= NFS_FS_FLAGS,
 };
 
 struct file_system_type nfs4_referral_fs_type = {
@@ -291,7 +294,7 @@ struct file_system_type nfs4_referral_fs
 	.name		= "nfs4",
 	.get_sb		= nfs4_referral_get_sb,
 	.kill_sb	= nfs4_kill_super,
-	.fs_flags	= FS_RENAME_DOES_D_MOVE|FS_REVAL_DOT|FS_BINARY_MOUNTDATA,
+	.fs_flags	= NFS_FS_FLAGS,
 };
 
 static const struct super_operations nfs4_sops = {
diff -puN include/linux/fs.h~FS_CHECKPOINTABLE-flag include/linux/fs.h
--- linux-2.6.git/include/linux/fs.h~FS_CHECKPOINTABLE-flag	2009-02-27 12:07:38.000000000 -0800
+++ linux-2.6.git-dave/include/linux/fs.h	2009-02-27 12:07:38.000000000 -0800
@@ -109,6 +109,7 @@ struct inodes_stat_t {
 #define FS_REQUIRES_DEV 1 
 #define FS_BINARY_MOUNTDATA 2
 #define FS_HAS_SUBTYPE 4
+#define FS_CHECKPOINTABLE 8
 #define FS_REVAL_DOT	16384	/* Check the paths ".", ".." for staleness */
 #define FS_RENAME_DOES_D_MOVE	32768	/* FS will handle d_move()
 					 * during rename() internally.
_

  parent reply	other threads:[~2009-02-27 20:34 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090227203425.F3B51176@kernel>
2009-02-27 20:34 ` [RFC][PATCH 2/8] breakout fdinfo sprintf() into its own function Dave Hansen
2009-02-27 20:56   ` Vegard Nossum
     [not found]   ` <19f34abd0902271256r49a06336rcba56234c06645a7@mail.gmail.com>
     [not found]     ` <19f34abd0902271256r49a06336rcba56234c06645a7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-27 21:23       ` Dave Hansen
2009-02-27 20:34 ` Dave Hansen [this message]
2009-02-27 21:16   ` [RFC][PATCH 3/8] create fs flags to mark c/r supported fs's Alexey Dobriyan
     [not found]     ` <20090227211620.GA3326-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-02-27 21:20       ` Dave Hansen
2009-02-27 20:34 ` [RFC][PATCH 4/8] file c/r: expose functions to query fs support Dave Hansen
2009-02-27 21:14   ` Sukadev Bhattiprolu
     [not found]   ` <20090227211408.GB19872@us.ibm.com>
     [not found]     ` <20090227211408.GB19872-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-02-27 21:24       ` Dave Hansen
     [not found]     ` <1235769880.26788.394.camel@nimitz>
2009-02-27 21:32       ` Dave Hansen
2009-02-28  1:33   ` Sukadev Bhattiprolu
2009-02-27 20:34 ` [RFC][PATCH 5/8] add f_op for checkpointability Dave Hansen
2009-02-28  2:14   ` Sukadev Bhattiprolu
     [not found]     ` <20090228021412.GD19872-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-02-28  2:51       ` Dave Hansen
2009-02-28 20:53   ` Christoph Hellwig
     [not found]   ` <20090228205329.GB4254@infradead.org>
     [not found]     ` <20090228205329.GB4254-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-02-28 21:37       ` Dave Hansen
2009-03-02 17:05       ` Dave Hansen
     [not found]     ` <1235857026.26788.421.camel@nimitz>
2009-03-01 15:19       ` Serge E. Hallyn
     [not found]     ` <1236013556.26788.466.camel@nimitz>
2009-03-03 13:15       ` Christoph Hellwig
     [not found]       ` <20090303131528.GB10931@infradead.org>
     [not found]         ` <20090303131528.GB10931-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-03-20 21:13           ` Dave Hansen
     [not found]         ` <1237583604.8286.294.camel@nimitz>
2009-03-20 21:30           ` Oren Laadan
2009-02-27 20:34 ` [RFC][PATCH 6/8] mark /dev/null and zero as checkpointable Dave Hansen
2009-02-27 20:34 ` [RFC][PATCH 7/8] add c/r info to fdinfo Dave Hansen
2009-02-27 20:34 ` [RFC][PATCH 8/8] check files for checkpointability Dave Hansen
2009-02-28  2:57   ` Sukadev Bhattiprolu
2009-03-01 19:43   ` Serge E. Hallyn
2009-03-02 13:37   ` Serge E. Hallyn
     [not found]   ` <20090302133754.GA8033@us.ibm.com>
     [not found]     ` <20090302133754.GA8033-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-03-02 15:56       ` Dave Hansen
2009-03-02 15:59       ` Nathan Lynch
     [not found]     ` <20090302095917.6cfeda55@thinkcentre.lan>
     [not found]       ` <20090302095917.6cfeda55-4v5LP+xe+1byhTdZtsIeww@public.gmane.org>
2009-03-02 16:27         ` Dave Hansen
2009-03-02 16:28         ` Serge E. Hallyn
     [not found]       ` <1236011251.26788.450.camel@nimitz>
2009-03-02 17:22         ` Nathan Lynch
     [not found]         ` <20090302112247.76bb3662@thinkcentre.lan>
     [not found]           ` <20090302112247.76bb3662-4v5LP+xe+1byhTdZtsIeww@public.gmane.org>
2009-03-02 17:30             ` Dave Hansen
     [not found]           ` <1236015052.26788.471.camel@nimitz>
2009-03-02 17:44             ` Serge E. Hallyn
     [not found]             ` <20090302174433.GA12708@us.ibm.com>
     [not found]               ` <20090302174433.GA12708-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-03-02 17:58                 ` Dave Hansen
2009-03-02 18:13                 ` Dave Hansen
2009-03-02 18:35                   ` Serge E. Hallyn
2009-03-05  8:20                   ` Cedric Le Goater
     [not found]   ` <20090228025743.GA22451@us.ibm.com>
     [not found]     ` <20090228025743.GA22451-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-03-01 17:00       ` Serge E. Hallyn
2009-03-04 23:41       ` Dave Hansen

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=20090227203428.556600DA@kernel \
    --to=dave-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
    --cc=adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mingo-X9Un+BFzKDI@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