linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@redhat.com>
To: viro@ZenIV.linux.org.uk
Cc: inux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-kernel@vger.kernel.org, miklos@szeredi.hu,
	hch@infradead.org, michael.brantley@deshaw.com,
	pstaubach@exagrid.com
Subject: [PATCH v2 00/15] vfs: add the ability to retry on ESTALE to several syscalls
Date: Tue, 22 May 2012 10:12:04 -0400	[thread overview]
Message-ID: <1337695939-2741-1-git-send-email-jlayton@redhat.com> (raw)

This patchset is the second version of the patchset to add ESTALE
handling to several syscalls. The previous version is here:

    http://lwn.net/Articles/496103/

I spoke with Al Viro about my previous set and he pointed out something
I had not considered. getname() has side effects when auditing is
enabled, so if we end up calling it multiple times for the same names,
we'll make a mess of the audit handling.

This patchset is a revised version that should fix that by ensuring that
we only call getname() once per __user path, per syscall. In order to do
that, I had to break up some of the nice user_path_* wrappers.

I've tried to keep this patchset pretty granular. Some of these patches
could be combined if that's desirable. It's probably too late for 3.5
here, but I'd like to see this considered for 3.6 if possible.

Jeff Layton (15):
  vfs: add a retry_estale helper function to handle retries on ESTALE
  vfs: add a kern_path_at function
  vfs: make fstatat retry on ESTALE errors from getattr call
  vfs: fix readlinkat to retry on ESTALE
  vfs: remove user_path_at_empty
  vfs: turn "empty" arg in getname_flags into a bool
  vfs: add new "reval" argument to kern_path_create
  vfs: fix mknodat to retry on ESTALE errors
  vfs: fix mkdir to retry on ESTALE errors
  vfs: fix symlinkat to retry on ESTALE errors
  vfs: fix linkat to retry on ESTALE errors
  vfs: make rmdir retry on ESTALE errors
  vfs: make do_unlinkat retry on ESTALE errors
  vfs: fix renameat to retry on ESTALE errors
  vfs: remove user_path_parent

 drivers/base/devtmpfs.c |    7 +-
 fs/namei.c              |  407 ++++++++++++++++++++++++++++-------------------
 fs/stat.c               |   44 ++++--
 include/linux/fs.h      |   24 +++-
 include/linux/namei.h   |    4 +-
 net/unix/af_unix.c      |    3 +-
 6 files changed, 310 insertions(+), 179 deletions(-)

-- 
1.7.7.6


             reply	other threads:[~2012-05-22 14:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-22 14:12 Jeff Layton [this message]
2012-05-22 14:12 ` [PATCH v2 01/15] vfs: add a retry_estale helper function to handle retries on ESTALE Jeff Layton
2012-05-22 14:12 ` [PATCH v2 02/15] vfs: add a kern_path_at function Jeff Layton
2012-05-22 14:12 ` [PATCH v2 03/15] vfs: make fstatat retry on ESTALE errors from getattr call Jeff Layton
2012-05-22 14:12 ` [PATCH v2 04/15] vfs: fix readlinkat to retry on ESTALE Jeff Layton
2012-05-22 14:12 ` [PATCH v2 05/15] vfs: remove user_path_at_empty Jeff Layton
2012-05-22 14:12 ` [PATCH v2 06/15] vfs: turn "empty" arg in getname_flags into a bool Jeff Layton
2012-05-22 14:12 ` [PATCH v2 07/15] vfs: add new "reval" argument to kern_path_create Jeff Layton
2012-05-22 14:12 ` [PATCH v2 08/15] vfs: fix mknodat to retry on ESTALE errors Jeff Layton
2012-05-22 14:12 ` [PATCH v2 09/15] vfs: fix mkdir " Jeff Layton
2012-05-22 14:12 ` [PATCH v2 10/15] vfs: fix symlinkat " Jeff Layton
2012-05-22 14:12 ` [PATCH v2 11/15] vfs: fix linkat " Jeff Layton
2012-05-22 14:12 ` [PATCH v2 12/15] vfs: make rmdir " Jeff Layton
2012-05-22 14:12 ` [PATCH v2 13/15] vfs: make do_unlinkat " Jeff Layton
2012-05-22 14:12 ` [PATCH v2 14/15] vfs: fix renameat to " Jeff Layton
2012-05-22 14:12 ` [PATCH v2 15/15] vfs: remove user_path_parent Jeff Layton

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=1337695939-2741-1-git-send-email-jlayton@redhat.com \
    --to=jlayton@redhat.com \
    --cc=hch@infradead.org \
    --cc=inux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=michael.brantley@deshaw.com \
    --cc=miklos@szeredi.hu \
    --cc=pstaubach@exagrid.com \
    --cc=viro@ZenIV.linux.org.uk \
    /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;
as well as URLs for NNTP newsgroup(s).