All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Serge E. Hallyn" <serge@hallyn.com>
To: ntl@pobox.com
Cc: linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org
Subject: Re: [PATCH 04/10] Introduce vfs_fcntl() helper
Date: Sun, 3 Apr 2011 13:57:27 -0500	[thread overview]
Message-ID: <20110403185727.GC15044@hallyn.com> (raw)
In-Reply-To: <1298936432-29607-5-git-send-email-ntl@pobox.com>

Quoting ntl@pobox.com (ntl@pobox.com):
> From: Nathan Lynch <ntl@pobox.com>
> 
> When restoring process state from a checkpoint image, it will be
> necessary to restore file status flags; add vfs_fcntl() for this
> purpose.
> 
> Based on original code by Oren Laadan.
> 
> Signed-off-by: Oren Laadan <orenl@cs.columbia.edu>
> [ntl: extracted from "c/r: checkpoint and restart open file descriptors"]
> Signed-off-by: Nathan Lynch <ntl@pobox.com>

Acked-by: Serge Hallyn <serge.hallyn@ubuntu.com>

> ---
>  fs/fcntl.c         |   21 +++++++++++++--------
>  include/linux/fs.h |    2 ++
>  2 files changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/fs/fcntl.c b/fs/fcntl.c
> index ecc8b39..8e797b7 100644
> --- a/fs/fcntl.c
> +++ b/fs/fcntl.c
> @@ -426,6 +426,18 @@ static long do_fcntl(int fd, unsigned int cmd, unsigned long arg,
>  	return err;
>  }
>  
> +int vfs_fcntl(int fd, unsigned int cmd, unsigned long arg, struct file *filp)
> +{
> +	int err;
> +
> +	err = security_file_fcntl(filp, cmd, arg);
> +	if (err)
> +		goto out;
> +	err = do_fcntl(fd, cmd, arg, filp);
> + out:
> +	return err;
> +}
> +
>  SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
>  {	
>  	struct file *filp;
> @@ -435,14 +447,7 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
>  	if (!filp)
>  		goto out;
>  
> -	err = security_file_fcntl(filp, cmd, arg);
> -	if (err) {
> -		fput(filp);
> -		return err;
> -	}
> -
> -	err = do_fcntl(fd, cmd, arg, filp);
> -
> +	err = vfs_fcntl(fd, cmd, arg, filp);
>   	fput(filp);
>  out:
>  	return err;
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 315ded4..175bb75 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -1112,6 +1112,8 @@ struct file_lock {
>  
>  #include <linux/fcntl.h>
>  
> +extern int vfs_fcntl(int fd, unsigned cmd, unsigned long arg, struct file *fp);
> +
>  extern void send_sigio(struct fown_struct *fown, int fd, int band);
>  
>  #ifdef CONFIG_FILE_LOCKING
> -- 
> 1.7.4
> 
> _______________________________________________
> Containers mailing list
> Containers@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers

  reply	other threads:[~2011-04-03 18:57 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-28 23:40 [RFC 00/10] container-based checkpoint/restart prototype ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40 ` ntl
2011-02-28 23:40 ` [PATCH 03/10] Introduce has_locks_with_owner() helper ntl
     [not found]   ` <1298936432-29607-4-git-send-email-ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2011-04-03 18:55     ` Serge E. Hallyn
2011-04-03 18:55   ` Serge E. Hallyn
2011-02-28 23:40 ` [PATCH 04/10] Introduce vfs_fcntl() helper ntl
2011-04-03 18:57   ` Serge E. Hallyn [this message]
     [not found]   ` <1298936432-29607-5-git-send-email-ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2011-04-03 18:57     ` Serge E. Hallyn
2011-02-28 23:40 ` [PATCH 05/10] Core checkpoint/restart support code ntl
2011-04-03 19:03   ` Serge E. Hallyn
2011-04-04 15:00     ` Nathan Lynch
2011-04-04 15:10       ` Serge E. Hallyn
     [not found]         ` <20110404151017.GA4857-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2011-04-04 15:40           ` Nathan Lynch
2011-04-04 15:40         ` Nathan Lynch
2011-04-04 16:27           ` Serge E. Hallyn
2011-04-04 16:27           ` Serge E. Hallyn
2011-04-04 17:41             ` Andrew Morton
2011-04-04 18:51               ` Serge E. Hallyn
     [not found]                 ` <20110404185119.GB4782-BtbdaCaBcfOTUehee3IRJA@public.gmane.org>
2011-04-04 19:42                   ` Andrew Morton
2011-04-04 19:42                 ` Andrew Morton
2011-04-04 20:29                   ` Serge E. Hallyn
2011-04-04 21:55                   ` Matt Helsley
     [not found]                     ` <20110404215511.GA27628-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2011-04-04 23:15                       ` Andrew Morton
2011-04-04 23:16                       ` Valdis.Kletnieks-PjAqaU27lzQ
2011-04-04 23:15                     ` Andrew Morton
2011-04-04 23:16                     ` Valdis.Kletnieks
2011-04-04 23:43                       ` Matt Helsley
2011-04-04 23:43                       ` Matt Helsley
     [not found]                   ` <20110404124222.fd5eb85b.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-04-04 20:29                     ` Serge E. Hallyn
2011-04-04 21:55                     ` Matt Helsley
2011-04-04 22:11                     ` Serge E. Hallyn
2011-04-04 22:53                     ` Serge E. Hallyn
2011-04-04 22:11                   ` Serge E. Hallyn
2011-04-04 22:53                   ` Serge E. Hallyn
     [not found]               ` <20110404104119.78189678.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-04-04 18:51                 ` Serge E. Hallyn
     [not found]             ` <20110404162753.GA3456-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2011-04-04 17:32               ` Oren Laadan
2011-04-04 17:32                 ` Oren Laadan
     [not found]                 ` <4D9A00B1.2080002-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2011-04-04 21:43                   ` Nathan Lynch
2011-04-04 21:43                 ` Nathan Lynch
2011-04-04 22:03                   ` Serge E. Hallyn
2011-04-04 22:03                   ` Serge E. Hallyn
2011-04-04 23:42                     ` Dan Smith
2011-04-05  2:17                       ` Serge E. Hallyn
2011-04-05 19:18                         ` Nathan Lynch
     [not found]                         ` <20110405021716.GA16672-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2011-04-05 19:18                           ` Nathan Lynch
     [not found]                       ` <87vcyt4m93.fsf-FLMGYpZoEPULwtHQx/6qkW3U47Q5hpJU@public.gmane.org>
2011-04-05  2:17                         ` Serge E. Hallyn
     [not found]                     ` <20110404220309.GA10229-BtbdaCaBcfOTUehee3IRJA@public.gmane.org>
2011-04-04 23:42                       ` Dan Smith
2011-04-04 22:29                   ` Matt Helsley
2011-04-04 22:29                   ` Matt Helsley
2011-04-04 17:41               ` Andrew Morton
2011-04-04 21:20               ` Nathan Lynch
2011-04-04 21:20             ` Nathan Lynch
2011-04-04 21:53               ` Serge E. Hallyn
2011-04-04 21:53               ` Serge E. Hallyn
2011-04-04 15:10       ` Serge E. Hallyn
     [not found]     ` <20110403190324.GD15044-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2011-04-04 15:00       ` Nathan Lynch
     [not found]   ` <1298936432-29607-6-git-send-email-ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2011-04-03 19:03     ` Serge E. Hallyn
2011-02-28 23:40 ` [PATCH 06/10] Checkpoint/restart mm support ntl
     [not found] ` <1298936432-29607-1-git-send-email-ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2011-02-28 23:40   ` [PATCH 01/10] Make exec_mmap extern ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40     ` ntl
2011-04-03 16:56     ` Serge E. Hallyn
     [not found]     ` <1298936432-29607-2-git-send-email-ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2011-04-03 16:56       ` Serge E. Hallyn
2011-02-28 23:40   ` [PATCH 02/10] Introduce mm_has_pending_aio() helper ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40     ` ntl
     [not found]     ` <1298936432-29607-3-git-send-email-ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2011-03-01 15:40       ` Jeff Moyer
2011-03-01 15:40     ` Jeff Moyer
2011-03-01 16:04       ` Nathan Lynch
     [not found]       ` <x494o7mrgrh.fsf-RRHT56Q3PSP4kTEheFKJxxDDeQx5vsVwAInAS/Ez/D0@public.gmane.org>
2011-03-01 16:04         ` Nathan Lynch
2011-02-28 23:40   ` [PATCH 03/10] Introduce has_locks_with_owner() helper ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 04/10] Introduce vfs_fcntl() helper ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 05/10] Core checkpoint/restart support code ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 06/10] Checkpoint/restart mm support ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 07/10] Checkpoint/restart vfs support ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 08/10] Add generic '->checkpoint' f_op to ext filesystems ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 09/10] Add generic '->checkpoint()' f_op to simple char devices ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-02-28 23:40   ` [PATCH 10/10] x86_32 support for checkpoint/restart ntl-e+AXbWqSrlAAvxtiuMwx3w
2011-03-01  1:08   ` [RFC 00/10] container-based checkpoint/restart prototype Nathan Lynch
2011-02-28 23:40 ` [PATCH 07/10] Checkpoint/restart vfs support ntl
2011-02-28 23:40 ` [PATCH 08/10] Add generic '->checkpoint' f_op to ext filesystems ntl
2011-02-28 23:40 ` [PATCH 09/10] Add generic '->checkpoint()' f_op to simple char devices ntl
2011-02-28 23:40 ` [PATCH 10/10] x86_32 support for checkpoint/restart ntl
2011-03-01  1:08 ` [RFC 00/10] container-based checkpoint/restart prototype Nathan Lynch

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=20110403185727.GC15044@hallyn.com \
    --to=serge@hallyn.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ntl@pobox.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.