From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: interims VFS queue, part2 Date: Wed, 2 Nov 2011 09:28:46 -0400 Message-ID: <20111102132846.GA5444@infradead.org> References: <20111028133017.GA11747@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org To: torvalds@linux-foundation.org, sfr@canb.auug.org.au Return-path: Received: from 173-166-109-252-newengland.hfc.comcastbusiness.net ([173.166.109.252]:51283 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752969Ab1KBN2v (ORCPT ); Wed, 2 Nov 2011 09:28:51 -0400 Content-Disposition: inline In-Reply-To: <20111028133017.GA11747@infradead.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Here are more VFS bits: - a simple leak fix for the simple_fill_super failure path. - Andy's fix for a user space visible error code regression in readlinkat. This one is a bit ugly, and Anessh mentioned that Al didn't particularly like the fix, but I think we need to fix the user visible effects ASAP, and can clean up the implementation later. - the first part of Miklos' remount r/o fixes. This is mostly finishing the i_link abstraction Al started a while ago, and while it touches a few lines it's entirely mechanical. The second part is marking a filesystem as read-only even if ->remount_fs failed in case of an emergency remount r/o from sysrq. I'm still looking into the rest of his series. - Sage's ->d_prune dentry operation. This was skipped last time because it hit the only possible bug it could introduce. I'm confident this new version is fine, and it's really needed for ceph to get cache coherency right. I've ordered it at last in case you do not want it anymore at this stage. The series passes xfstests without regressions on btrfs, ext3, ext4 and xfs. The following changes since commit 994c0e992522c123298b4a91b72f5e67ba2d1123: Merge branch 'next/soc' of git://git.linaro.org/people/arnd/arm-soc (2011-11-01 21:08:03 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue.git for-next Andy Whitcroft (1): readlinkat: ensure we return ENOENT for the empty pathname for normal lookups Konstantin Khlebnikov (1): vfs: fix dentry leak in simple_fill_super() Miklos Szeredi (8): vfs: ignore error on forced remount hypfs: remove unnecessary nlink setting jfs: remove unnecessary nlink setting ocfs2: remove unnecessary nlink setting logfs: remove unnecessary nlink setting filesystems: add missing nlink wrappers filesystems: add set_nlink() vfs: protect i_nlink Sage Weil (1): vfs: add d_prune dentry operation Documentation/filesystems/Locking | 1 + arch/s390/hypfs/inode.c | 6 +--- drivers/mtd/mtdchar.c | 2 +- drivers/staging/pohmelfs/inode.c | 2 +- fs/9p/vfs_inode.c | 4 +- fs/9p/vfs_inode_dotl.c | 4 +- fs/adfs/inode.c | 2 +- fs/affs/amigaffs.c | 4 +- fs/affs/inode.c | 8 +++--- fs/affs/namei.c | 6 ++-- fs/afs/fsclient.c | 2 +- fs/afs/inode.c | 4 +- fs/autofs4/inode.c | 2 +- fs/befs/linuxvfs.c | 2 +- fs/bfs/dir.c | 2 +- fs/bfs/inode.c | 2 +- fs/binfmt_misc.c | 2 +- fs/btrfs/delayed-inode.c | 2 +- fs/btrfs/disk-io.c | 2 +- fs/btrfs/inode.c | 4 +- fs/btrfs/tree-log.c | 2 +- fs/ceph/caps.c | 2 +- fs/ceph/inode.c | 2 +- fs/cifs/inode.c | 6 ++-- fs/cifs/link.c | 2 +- fs/coda/coda_linux.c | 2 +- fs/coda/dir.c | 2 +- fs/dcache.c | 40 ++++++++++++++++++++++++++++++++---- fs/devpts/inode.c | 4 +- fs/ecryptfs/inode.c | 12 +++++----- fs/efs/inode.c | 2 +- fs/exofs/inode.c | 2 +- fs/ext2/ialloc.c | 2 +- fs/ext2/inode.c | 2 +- fs/ext3/ialloc.c | 2 +- fs/ext3/inode.c | 2 +- fs/ext3/namei.c | 6 ++-- fs/ext4/ialloc.c | 2 +- fs/ext4/inode.c | 2 +- fs/ext4/migrate.c | 2 +- fs/ext4/namei.c | 8 +++--- fs/fat/inode.c | 4 +- fs/fat/namei_msdos.c | 2 +- fs/fat/namei_vfat.c | 2 +- fs/freevxfs/vxfs_inode.c | 2 +- fs/fuse/control.c | 2 +- fs/fuse/inode.c | 2 +- fs/gfs2/glops.c | 2 +- fs/hfs/dir.c | 4 +- fs/hfs/inode.c | 4 +- fs/hfsplus/dir.c | 4 +- fs/hfsplus/inode.c | 10 ++++---- fs/hostfs/hostfs_kern.c | 2 +- fs/hpfs/dir.c | 2 +- fs/hpfs/inode.c | 10 ++++---- fs/hpfs/namei.c | 8 +++--- fs/hppfs/hppfs.c | 2 +- fs/hugetlbfs/inode.c | 2 +- fs/inode.c | 2 +- fs/isofs/inode.c | 4 +- fs/isofs/rock.c | 4 +- fs/jffs2/dir.c | 6 ++-- fs/jffs2/fs.c | 6 ++-- fs/jfs/jfs_imap.c | 6 ++-- fs/jfs/jfs_inode.c | 2 +- fs/jfs/namei.c | 12 +++++----- fs/jfs/super.c | 1 - fs/libfs.c | 6 +++- fs/logfs/dir.c | 8 +++--- fs/logfs/inode.c | 3 +- fs/logfs/readwrite.c | 2 +- fs/minix/inode.c | 4 +- fs/namei.c | 18 ++++++++++++---- fs/ncpfs/inode.c | 2 +- fs/nfs/inode.c | 6 ++-- fs/nilfs2/inode.c | 4 +- fs/nilfs2/namei.c | 2 +- fs/ntfs/inode.c | 8 +++--- fs/ocfs2/dir.c | 4 +- fs/ocfs2/dlmglue.c | 2 +- fs/ocfs2/inode.c | 4 +- fs/ocfs2/namei.c | 18 +++++++--------- fs/openpromfs/inode.c | 4 +- fs/proc/base.c | 12 +++++----- fs/proc/generic.c | 2 +- fs/proc/inode.c | 2 +- fs/proc/proc_sysctl.c | 2 +- fs/qnx4/inode.c | 2 +- fs/reiserfs/inode.c | 10 ++++---- fs/reiserfs/namei.c | 16 +++++++------- fs/romfs/super.c | 2 +- fs/squashfs/inode.c | 18 ++++++++-------- fs/stack.c | 2 +- fs/stat.c | 5 ++- fs/super.c | 9 ++++++- fs/sysfs/inode.c | 2 +- fs/sysv/inode.c | 2 +- fs/ubifs/super.c | 2 +- fs/ubifs/xattr.c | 4 +- fs/udf/inode.c | 8 ++++-- fs/udf/namei.c | 15 +++++-------- fs/ufs/ialloc.c | 2 +- fs/ufs/inode.c | 4 +- fs/xfs/xfs_iops.c | 2 +- include/linux/dcache.h | 8 ++++-- include/linux/fs.h | 31 +++++++++++++++++++++++++--- include/linux/namei.h | 1 + mm/shmem.c | 2 +- 108 files changed, 301 insertions(+), 235 deletions(-)