linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: viro@ZenIV.linux.org.uk, torvalds@linux-foundation.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	hch@infradead.org, akpm@linux-foundation.org,
	dhowells@redhat.com, zab@redhat.com, jack@suse.cz,
	luto@amacapital.net, mszeredi@suse.cz
Subject: Re: [PATCH 00/13] cross rename v4
Date: Fri, 7 Feb 2014 17:46:30 -0500	[thread overview]
Message-ID: <20140207224630.GD8801@fieldses.org> (raw)
In-Reply-To: <1391791751-2533-1-git-send-email-miklos@szeredi.hu>

On Fri, Feb 07, 2014 at 05:48:58PM +0100, Miklos Szeredi wrote:
> Changes since the last version (based on Al's review):
> 
>  - cross-rename: fix locking of nondirectories for NFSv4
>  - ext4: split cross-rename and plain rename into separate functions
>  - introduce i_op->rename2 with flags, don't touch ->rename
>  - last (optional) patch to merge ->rename2 back into ->rename
> 
> The splitting of the ext4 implemetation was indeed a good idea as it uncovered a
> memory leak and small inconsistencies with the merged implementation.
> 
> Splitting out rename2 will lessen the code churn, but I think is ugly.  However
> this is a question of taste, last patch can be ommitted without loss of
> functionality.
> 
> Bruce, could you please review the locking and delegation thing in patch #8
> "vfs: add cross-rename"?

Yep, done.  I'll also try running this through my nfs tests, for what
it's worth.  (Not today as there's some unrelated regression to sort
out first.)

Feel free to add a

	Reviewed-by: J. Bruce Fields <bfields@redhat.com>

for any but the ext4 patches, which I skipped.

--b.

> 
> Git tree is here:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git cross-rename
> 
> Thanks,
> Miklos
> 
> ---
> Miklos Szeredi (13):
>       vfs: add d_is_dir()
>       vfs: rename: move d_move() up
>       vfs: rename: use common code for dir and non-dir
>       vfs: add renameat2 syscall
>       vfs: add RENAME_NOREPLACE flag
>       security: add flags to rename hooks
>       vfs: lock_two_nondirectories: allow directory args
>       vfs: add cross-rename
>       ext4: rename: create ext4_renament structure for local vars
>       ext4: rename: move EMLINK check up
>       ext4: rename: split out helper functions
>       ext4: add cross rename support
>       vfs: merge rename2 into rename
> 
> ---
>  Documentation/filesystems/Locking                  |   2 +-
>  Documentation/filesystems/vfs.txt                  |  14 +-
>  arch/x86/syscalls/syscall_64.tbl                   |   1 +
>  .../lustre/lustre/include/linux/lustre_compat25.h  |   4 +-
>  drivers/staging/lustre/lustre/llite/namei.c        |   3 +-
>  drivers/staging/lustre/lustre/lvfs/lvfs_linux.c    |   2 +-
>  fs/9p/v9fs.h                                       |   3 +-
>  fs/9p/vfs_inode.c                                  |   4 +-
>  fs/affs/affs.h                                     |   3 +-
>  fs/affs/namei.c                                    |   3 +-
>  fs/afs/dir.c                                       |   6 +-
>  fs/bad_inode.c                                     |   3 +-
>  fs/bfs/dir.c                                       |   3 +-
>  fs/btrfs/inode.c                                   |   3 +-
>  fs/cachefiles/namei.c                              |   4 +-
>  fs/ceph/dir.c                                      |   3 +-
>  fs/cifs/cifsfs.h                                   |   2 +-
>  fs/cifs/inode.c                                    |   3 +-
>  fs/coda/dir.c                                      |   8 +-
>  fs/dcache.c                                        |  45 +-
>  fs/debugfs/inode.c                                 |   2 +-
>  fs/ecryptfs/inode.c                                |   5 +-
>  fs/exofs/namei.c                                   |   3 +-
>  fs/ext2/namei.c                                    |   5 +-
>  fs/ext3/namei.c                                    |   5 +-
>  fs/ext4/namei.c                                    | 483 +++++++++++++++------
>  fs/ext4/super.c                                    |   6 +-
>  fs/f2fs/namei.c                                    |   3 +-
>  fs/fat/namei_msdos.c                               |   3 +-
>  fs/fat/namei_vfat.c                                |   3 +-
>  fs/fuse/dir.c                                      |   3 +-
>  fs/gfs2/inode.c                                    |   3 +-
>  fs/hfs/dir.c                                       |   3 +-
>  fs/hfsplus/dir.c                                   |   3 +-
>  fs/hostfs/hostfs_kern.c                            |   3 +-
>  fs/hpfs/namei.c                                    |   3 +-
>  fs/inode.c                                         |  20 +-
>  fs/jffs2/dir.c                                     |   5 +-
>  fs/jfs/namei.c                                     |   3 +-
>  fs/kernfs/dir.c                                    |   3 +-
>  fs/libfs.c                                         |   3 +-
>  fs/logfs/dir.c                                     |   3 +-
>  fs/minix/namei.c                                   |   5 +-
>  fs/namei.c                                         | 310 +++++++------
>  fs/ncpfs/dir.c                                     |   5 +-
>  fs/nfs/dir.c                                       |   3 +-
>  fs/nfs/internal.h                                  |   3 +-
>  fs/nfsd/vfs.c                                      |   2 +-
>  fs/nilfs2/namei.c                                  |   3 +-
>  fs/ocfs2/namei.c                                   |   3 +-
>  fs/omfs/dir.c                                      |   3 +-
>  fs/reiserfs/namei.c                                |   3 +-
>  fs/sysv/namei.c                                    |   5 +-
>  fs/ubifs/dir.c                                     |   3 +-
>  fs/udf/namei.c                                     |   3 +-
>  fs/ufs/namei.c                                     |   3 +-
>  fs/xfs/xfs_iops.c                                  |   3 +-
>  include/linux/dcache.h                             |   8 +-
>  include/linux/fs.h                                 |   7 +-
>  include/linux/security.h                           |  12 +-
>  include/uapi/linux/fs.h                            |   3 +
>  kernel/cgroup.c                                    |   5 +-
>  mm/shmem.c                                         |   2 +-
>  security/security.c                                |  22 +-
>  64 files changed, 736 insertions(+), 372 deletions(-)
> 

  parent reply	other threads:[~2014-02-07 22:46 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-07 16:48 [PATCH 00/13] cross rename v4 Miklos Szeredi
2014-02-07 16:48 ` [PATCH 01/13] vfs: add d_is_dir() Miklos Szeredi
2014-02-07 17:36   ` J. Bruce Fields
2014-02-07 19:30   ` David Howells
2014-02-07 16:49 ` [PATCH 02/13] vfs: rename: move d_move() up Miklos Szeredi
2014-02-07 16:49 ` [PATCH 03/13] vfs: rename: use common code for dir and non-dir Miklos Szeredi
2014-02-07 16:49 ` [PATCH 04/13] vfs: add renameat2 syscall Miklos Szeredi
2014-02-07 16:49 ` [PATCH 05/13] vfs: add RENAME_NOREPLACE flag Miklos Szeredi
2014-02-07 16:49 ` [PATCH 06/13] security: add flags to rename hooks Miklos Szeredi
2014-02-07 16:49 ` [PATCH 07/13] vfs: lock_two_nondirectories: allow directory args Miklos Szeredi
2014-02-07 21:16   ` J. Bruce Fields
2014-02-11 15:32     ` Miklos Szeredi
2014-02-07 16:49 ` [PATCH 08/13] vfs: add cross-rename Miklos Szeredi
2014-02-07 22:40   ` J. Bruce Fields
2014-02-11 15:55     ` Miklos Szeredi
2014-02-07 16:49 ` [PATCH 09/13] ext4: rename: create ext4_renament structure for local vars Miklos Szeredi
2014-02-07 16:49 ` [PATCH 10/13] ext4: rename: move EMLINK check up Miklos Szeredi
2014-02-07 16:49 ` [PATCH 11/13] ext4: rename: split out helper functions Miklos Szeredi
2014-02-07 16:49 ` [PATCH 12/13] ext4: add cross rename support Miklos Szeredi
2014-02-11 21:23   ` Jan Kara
2014-02-07 16:49 ` [PATCH 13/13] vfs: merge rename2 into rename Miklos Szeredi
2014-02-07 22:46 ` J. Bruce Fields [this message]
2014-02-11 15:57   ` [PATCH 00/13] cross rename v4 Miklos Szeredi
2014-02-13 19:32     ` J. Bruce Fields
2014-02-10 10:51 ` Dave Chinner
2014-02-11 16:01   ` Miklos Szeredi
2014-02-12 17:18     ` Miklos Szeredi
2014-02-17  8:19       ` Dave Chinner
2014-02-17 18:04         ` Theodore Ts'o
2014-03-19 13:57         ` xfstest for renameat2 system call (was: [PATCH 00/13] cross rename v4) Miklos Szeredi
2014-04-08  1:23           ` Dave Chinner
2014-02-13 15:54 ` [PATCH 00/13] cross rename v4 David Howells
2014-02-13 16:25   ` Miklos Szeredi
2014-02-13 16:42   ` David Howells
2014-02-13 17:28     ` Miklos Szeredi
2014-02-13 18:21       ` Andy Lutomirski
2014-02-13 18:29       ` Linus Torvalds
2014-02-13 18:56         ` Miklos Szeredi
2014-02-13 19:20           ` Linus Torvalds
2014-02-13 19:02       ` David Howells
2014-02-13 19:32         ` Linus Torvalds
2014-02-13 20:17           ` Eric W. Biederman
2014-02-13 20:28           ` Miklos Szeredi
2014-02-24 17:12             ` Miklos Szeredi
2014-02-24 17:49               ` Linus Torvalds
2014-02-25  4:07               ` J. R. Okajima
2014-02-26 15:15               ` Jan Kara

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=20140207224630.GD8801@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=miklos@szeredi.hu \
    --cc=mszeredi@suse.cz \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@ZenIV.linux.org.uk \
    --cc=zab@redhat.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 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).