All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Eric Paris <eparis@redhat.com>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, viro@zeniv.linux.org.uk, jmorris@namei.org,
	npiggin@suse.de, zohar@us.ibm.com, jack@suse.cz,
	jmalicki@metacarta.com, dsmith@redhat.com, hch@lst.de,
	john@johnmccutchan.com, rlove@rlove.org, ebiederm@xmission.com,
	heiko.carstens@de.ibm.com, penguin-kernel@I-love.SAKURA.ne.jp,
	mszeredi@suse.cz, jens.axboe@oracle.com,
	akpm@linux-foundation.org, matthew@wil.cx,
	hugh.dickins@tiscali.co.uk, kamezawa.hiroyu@jp.fujitsu.com,
	nishimura@mxp.nes.nec.co.jp, davem@davemloft.net, arnd@arndb.de,
	eric.dumazet@gmail.com
Subject: Re: [RFC PATCH 5/6] vfs: make init-file static
Date: Thu, 3 Dec 2009 16:44:02 -0600	[thread overview]
Message-ID: <20091203224402.GA12995@us.ibm.com> (raw)
In-Reply-To: <20091203195925.8925.21416.stgit@paris.rdu.redhat.com>

Quoting Eric Paris (eparis@redhat.com):
> init-file is no longer used by anything except alloc_file.  Make it static and
> remove from headers.

Should these go through a deprecation period?  (Same for the next patch)

> Signed-off-by: Eric Paris <eparis@redhat.com>
> ---
> 
>  fs/file_table.c      |   73 ++++++++++++++++++++++----------------------------
>  include/linux/file.h |    3 --
>  2 files changed, 32 insertions(+), 44 deletions(-)
> 
> diff --git a/fs/file_table.c b/fs/file_table.c
> index 4bef4c0..0f9d2f2 100644
> --- a/fs/file_table.c
> +++ b/fs/file_table.c
> @@ -150,53 +150,16 @@ fail:
>  EXPORT_SYMBOL(get_empty_filp);
> 
>  /**
> - * alloc_file - allocate and initialize a 'struct file'
> - * @mnt: the vfsmount on which the file will reside
> - * @dentry: the dentry representing the new file
> - * @mode: the mode with which the new file will be opened
> - * @fop: the 'struct file_operations' for the new file
> - *
> - * Use this instead of get_empty_filp() to get a new
> - * 'struct file'.  Do so because of the same initialization
> - * pitfalls reasons listed for init_file().  This is a
> - * preferred interface to using init_file().
> - *
> - * If all the callers of init_file() are eliminated, its
> - * code should be moved into this function.
> - */
> -struct file *alloc_file(struct vfsmount *mnt, struct dentry *dentry,
> -		fmode_t mode, const struct file_operations *fop)
> -{
> -	struct file *file;
> -
> -	file = get_empty_filp();
> -	if (!file)
> -		return NULL;
> -
> -	init_file(file, mnt, dentry, mode, fop);
> -	return file;
> -}
> -EXPORT_SYMBOL(alloc_file);
> -
> -/**
>   * init_file - initialize a 'struct file'
>   * @file: the already allocated 'struct file' to initialized
>   * @mnt: the vfsmount on which the file resides
>   * @dentry: the dentry representing this file
>   * @mode: the mode the file is opened with
>   * @fop: the 'struct file_operations' for this file
> - *
> - * Use this instead of setting the members directly.  Doing so
> - * avoids making mistakes like forgetting the mntget() or
> - * forgetting to take a write on the mnt.
> - *
> - * Note: This is a crappy interface.  It is here to make
> - * merging with the existing users of get_empty_filp()
> - * who have complex failure logic easier.  All users
> - * of this should be moving to alloc_file().
>   */
> -int init_file(struct file *file, struct vfsmount *mnt, struct dentry *dentry,
> -	   fmode_t mode, const struct file_operations *fop)
> +static int init_file(struct file *file, struct vfsmount *mnt,
> +		     struct dentry *dentry, fmode_t mode,
> +		     const struct file_operations *fop)
>  {
>  	int error = 0;
>  	file->f_path.dentry = dentry;
> @@ -218,7 +181,35 @@ int init_file(struct file *file, struct vfsmount *mnt, struct dentry *dentry,
>  	}
>  	return error;
>  }
> -EXPORT_SYMBOL(init_file);
> +
> +/**
> + * alloc_file - allocate and initialize a 'struct file'
> + * @mnt: the vfsmount on which the file will reside
> + * @dentry: the dentry representing the new file
> + * @mode: the mode with which the new file will be opened
> + * @fop: the 'struct file_operations' for the new file
> + *
> + * Use this instead of get_empty_filp() to get a new
> + * 'struct file'.  Do so because of the same initialization
> + * pitfalls reasons listed for init_file().  This is a
> + * preferred interface to using init_file().
> + *
> + * If all the callers of init_file() are eliminated, its
> + * code should be moved into this function.
> + */
> +struct file *alloc_file(struct vfsmount *mnt, struct dentry *dentry,
> +		fmode_t mode, const struct file_operations *fop)
> +{
> +	struct file *file;
> +
> +	file = get_empty_filp();
> +	if (!file)
> +		return NULL;
> +
> +	init_file(file, mnt, dentry, mode, fop);
> +	return file;
> +}
> +EXPORT_SYMBOL(alloc_file);
> 
>  void fput(struct file *file)
>  {
> diff --git a/include/linux/file.h b/include/linux/file.h
> index 335a0a5..6a8d361 100644
> --- a/include/linux/file.h
> +++ b/include/linux/file.h
> @@ -18,9 +18,6 @@ extern void drop_file_write_access(struct file *file);
>  struct file_operations;
>  struct vfsmount;
>  struct dentry;
> -extern int init_file(struct file *, struct vfsmount *mnt,
> -		struct dentry *dentry, fmode_t mode,
> -		const struct file_operations *fop);
>  extern struct file *alloc_file(struct vfsmount *, struct dentry *dentry,
>  		fmode_t mode, const struct file_operations *fop);
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Eric Paris <eparis@redhat.com>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, viro@zeniv.linux.org.uk, jmorris@namei.org,
	npiggin@suse.de, zohar@us.ibm.com, jack@suse.cz,
	jmalicki@metacarta.com, dsmith@redhat.com, hch@lst.de,
	john@johnmccutchan.com, rlove@rlove.org, ebiederm@xmission.com,
	heiko.carstens@de.ibm.com, penguin-kernel@I-love.SAKURA.ne.jp,
	mszeredi@suse.cz, jens.axboe@oracle.com,
	akpm@linux-foundation.org, matthew@wil.cx,
	hugh.dickins@tiscali.co.uk, kamezawa.hiroyu@jp.fujitsu.com,
	nishimura@mxp.nes.nec.co.jp, davem@davemloft.net, arnd@arndb.de,
	eric.dumazet@gmail.com
Subject: Re: [RFC PATCH 5/6] vfs: make init-file static
Date: Thu, 3 Dec 2009 16:44:02 -0600	[thread overview]
Message-ID: <20091203224402.GA12995@us.ibm.com> (raw)
In-Reply-To: <20091203195925.8925.21416.stgit@paris.rdu.redhat.com>

Quoting Eric Paris (eparis@redhat.com):
> init-file is no longer used by anything except alloc_file.  Make it static and
> remove from headers.

Should these go through a deprecation period?  (Same for the next patch)

> Signed-off-by: Eric Paris <eparis@redhat.com>
> ---
> 
>  fs/file_table.c      |   73 ++++++++++++++++++++++----------------------------
>  include/linux/file.h |    3 --
>  2 files changed, 32 insertions(+), 44 deletions(-)
> 
> diff --git a/fs/file_table.c b/fs/file_table.c
> index 4bef4c0..0f9d2f2 100644
> --- a/fs/file_table.c
> +++ b/fs/file_table.c
> @@ -150,53 +150,16 @@ fail:
>  EXPORT_SYMBOL(get_empty_filp);
> 
>  /**
> - * alloc_file - allocate and initialize a 'struct file'
> - * @mnt: the vfsmount on which the file will reside
> - * @dentry: the dentry representing the new file
> - * @mode: the mode with which the new file will be opened
> - * @fop: the 'struct file_operations' for the new file
> - *
> - * Use this instead of get_empty_filp() to get a new
> - * 'struct file'.  Do so because of the same initialization
> - * pitfalls reasons listed for init_file().  This is a
> - * preferred interface to using init_file().
> - *
> - * If all the callers of init_file() are eliminated, its
> - * code should be moved into this function.
> - */
> -struct file *alloc_file(struct vfsmount *mnt, struct dentry *dentry,
> -		fmode_t mode, const struct file_operations *fop)
> -{
> -	struct file *file;
> -
> -	file = get_empty_filp();
> -	if (!file)
> -		return NULL;
> -
> -	init_file(file, mnt, dentry, mode, fop);
> -	return file;
> -}
> -EXPORT_SYMBOL(alloc_file);
> -
> -/**
>   * init_file - initialize a 'struct file'
>   * @file: the already allocated 'struct file' to initialized
>   * @mnt: the vfsmount on which the file resides
>   * @dentry: the dentry representing this file
>   * @mode: the mode the file is opened with
>   * @fop: the 'struct file_operations' for this file
> - *
> - * Use this instead of setting the members directly.  Doing so
> - * avoids making mistakes like forgetting the mntget() or
> - * forgetting to take a write on the mnt.
> - *
> - * Note: This is a crappy interface.  It is here to make
> - * merging with the existing users of get_empty_filp()
> - * who have complex failure logic easier.  All users
> - * of this should be moving to alloc_file().
>   */
> -int init_file(struct file *file, struct vfsmount *mnt, struct dentry *dentry,
> -	   fmode_t mode, const struct file_operations *fop)
> +static int init_file(struct file *file, struct vfsmount *mnt,
> +		     struct dentry *dentry, fmode_t mode,
> +		     const struct file_operations *fop)
>  {
>  	int error = 0;
>  	file->f_path.dentry = dentry;
> @@ -218,7 +181,35 @@ int init_file(struct file *file, struct vfsmount *mnt, struct dentry *dentry,
>  	}
>  	return error;
>  }
> -EXPORT_SYMBOL(init_file);
> +
> +/**
> + * alloc_file - allocate and initialize a 'struct file'
> + * @mnt: the vfsmount on which the file will reside
> + * @dentry: the dentry representing the new file
> + * @mode: the mode with which the new file will be opened
> + * @fop: the 'struct file_operations' for the new file
> + *
> + * Use this instead of get_empty_filp() to get a new
> + * 'struct file'.  Do so because of the same initialization
> + * pitfalls reasons listed for init_file().  This is a
> + * preferred interface to using init_file().
> + *
> + * If all the callers of init_file() are eliminated, its
> + * code should be moved into this function.
> + */
> +struct file *alloc_file(struct vfsmount *mnt, struct dentry *dentry,
> +		fmode_t mode, const struct file_operations *fop)
> +{
> +	struct file *file;
> +
> +	file = get_empty_filp();
> +	if (!file)
> +		return NULL;
> +
> +	init_file(file, mnt, dentry, mode, fop);
> +	return file;
> +}
> +EXPORT_SYMBOL(alloc_file);
> 
>  void fput(struct file *file)
>  {
> diff --git a/include/linux/file.h b/include/linux/file.h
> index 335a0a5..6a8d361 100644
> --- a/include/linux/file.h
> +++ b/include/linux/file.h
> @@ -18,9 +18,6 @@ extern void drop_file_write_access(struct file *file);
>  struct file_operations;
>  struct vfsmount;
>  struct dentry;
> -extern int init_file(struct file *, struct vfsmount *mnt,
> -		struct dentry *dentry, fmode_t mode,
> -		const struct file_operations *fop);
>  extern struct file *alloc_file(struct vfsmount *, struct dentry *dentry,
>  		fmode_t mode, const struct file_operations *fop);
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2009-12-03 22:44 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-03 19:58 [RFC PATCH 1/6] shmem: use alloc_file instead of init_file Eric Paris
2009-12-03 19:58 ` Eric Paris
2009-12-03 19:59 ` [RFC PATCH 2/6] pipes: use alloc-file instead of duplicating code Eric Paris
2009-12-03 19:59   ` Eric Paris
2009-12-04  6:08   ` Miklos Szeredi
2009-12-04  6:08     ` Miklos Szeredi
2009-12-04  6:08     ` Miklos Szeredi
2009-12-04 18:54     ` Eric Paris
2009-12-04 18:54       ` Eric Paris
2009-12-04 14:22   ` Jens Axboe
2009-12-04 14:22     ` Jens Axboe
2009-12-03 19:59 ` [RFC PATCH 3/6] inotify: use alloc_file instead of doing it internally Eric Paris
2009-12-03 19:59   ` Eric Paris
2009-12-04  6:58   ` Miklos Szeredi
2009-12-04  6:58     ` Miklos Szeredi
2009-12-04  6:58     ` Miklos Szeredi
2009-12-03 19:59 ` [RFC PATCH 4/6] networking: rework socket to fd mapping using alloc-file Eric Paris
2009-12-03 19:59   ` Eric Paris
2009-12-03 22:00   ` David Miller
2009-12-03 22:00     ` David Miller
2009-12-03 23:24     ` Eric Paris
2009-12-03 23:24       ` Eric Paris
2009-12-04  7:09   ` Miklos Szeredi
2009-12-04  7:09     ` Miklos Szeredi
2009-12-04  7:09     ` Miklos Szeredi
2009-12-03 19:59 ` [RFC PATCH 5/6] vfs: make init-file static Eric Paris
2009-12-03 19:59   ` Eric Paris
2009-12-03 22:44   ` Serge E. Hallyn [this message]
2009-12-03 22:44     ` Serge E. Hallyn
2009-12-04  4:04     ` Nick Piggin
2009-12-04  4:04       ` Nick Piggin
2009-12-03 19:59 ` [RFC PATCH 6/6] fs: move get_empty_filp() deffinition to internal.h Eric Paris
2009-12-03 19:59   ` Eric Paris
2009-12-04  7:12   ` Miklos Szeredi
2009-12-04  7:12     ` Miklos Szeredi
2009-12-04  7:12     ` Miklos Szeredi
2009-12-04  5:58 ` [RFC PATCH 1/6] shmem: use alloc_file instead of init_file Miklos Szeredi
2009-12-04  5:58   ` Miklos Szeredi
2009-12-04  5:58   ` Miklos Szeredi
2009-12-04 14:19   ` Eric Paris
2009-12-04 14:19     ` Eric Paris
2009-12-04 15:35 ` Serge E. Hallyn
2009-12-04 15:35   ` Serge E. Hallyn

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=20091203224402.GA12995@us.ibm.com \
    --to=serue@us.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=dsmith@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=eparis@redhat.com \
    --cc=eric.dumazet@gmail.com \
    --cc=hch@lst.de \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hugh.dickins@tiscali.co.uk \
    --cc=jack@suse.cz \
    --cc=jens.axboe@oracle.com \
    --cc=jmalicki@metacarta.com \
    --cc=jmorris@namei.org \
    --cc=john@johnmccutchan.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=matthew@wil.cx \
    --cc=mszeredi@suse.cz \
    --cc=nishimura@mxp.nes.nec.co.jp \
    --cc=npiggin@suse.de \
    --cc=penguin-kernel@I-love.SAKURA.ne.jp \
    --cc=rlove@rlove.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=zohar@us.ibm.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.