* [git pull] vfs patches, part 1
@ 2008-12-31 7:43 Al Viro
2008-12-31 17:21 ` Linus Torvalds
0 siblings, 1 reply; 14+ messages in thread
From: Al Viro @ 2008-12-31 7:43 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel
Beginning of VFS queue for .29-rc1; that's just the first part. Please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus.
Shortlog:
Al Viro (8):
fix switch_names() breakage in short-to-short case
take init_fs to saner place
kill ->dir_notify()
nfsd/create race fixes, infrastructure
nfsd races, ext2
nfsd races, ext3
nfsd races, ext4
nfsd races, reiserfs
Arjan van de Ven (1):
[patch 10/11] vfs: expand some comments (d_path / seq_path)
Christoph Hellwig (4):
remove incorrect comment in inode_permission
kill walk_init_root
pass a struct path * to may_open
kill vfs_permission
Dave Kleikamp (1):
nfsd races, jfs
Denis ChengRq (1):
[patch 05/11] fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization
Duane Griffin (9):
eCryptfs: check readlink result was not an error before using it
vfs: introduce helper function to safely NUL-terminate symlinks
vfs: ensure page symlinks are NUL-terminated
ext2: ensure fast symlinks are NUL-terminated
ext3: ensure fast symlinks are NUL-terminated
ext4: ensure fast symlinks are NUL-terminated
sysv: ensure fast symlinks are NUL-terminated
freevxfs: ensure fast symlinks are NUL-terminated
befs: ensure fast symlinks are NUL-terminated
Eric Dumazet (2):
fix f_count description in Documentation/filesystems/files.txt
filp_cachep can be static in fs/file_table.c
Eric Paris (1):
filesystem notification: create fs/notify to contain all fs
Jan Engelhardt (1):
[patch 02/11] include: linux/fs.h: put declarations in __KERNEL__
Julia Lawall (1):
[patch 03/11] fs/namespace.c: drop code after return
Kentaro Takeda (1):
introduce new LSM hooks where vfsmount is available.
Nick Piggin (1):
[patch][rfc] fs: shrink struct dentry
Richard Kennedy (1):
fs: reorder struct inotify_device on 64bits to remove
Steven Rostedt (1):
make INIT_FS use the __RW_LOCK_UNLOCKED initialization
Zhaolei (1):
[patch 09/11] vfs: correct wrong function name of d_put in kernel document and source comment
Diffstat:
Documentation/filesystems/Locking | 2 -
Documentation/filesystems/files.txt | 6 +-
Documentation/filesystems/vfs.txt | 5 +-
arch/alpha/kernel/init_task.c | 1 -
arch/arm/kernel/init_task.c | 1 -
arch/avr32/kernel/init_task.c | 1 -
arch/blackfin/kernel/init_task.c | 1 -
arch/cris/kernel/process.c | 1 -
arch/frv/kernel/init_task.c | 1 -
arch/h8300/kernel/init_task.c | 1 -
arch/ia64/kernel/init_task.c | 1 -
arch/m32r/kernel/init_task.c | 1 -
arch/m68k/kernel/process.c | 1 -
arch/m68knommu/kernel/init_task.c | 1 -
arch/mips/kernel/init_task.c | 1 -
arch/mn10300/kernel/init_task.c | 1 -
arch/parisc/kernel/init_task.c | 1 -
arch/powerpc/kernel/init_task.c | 1 -
arch/powerpc/oprofile/cell/spu_task_sync.c | 2 +-
arch/s390/kernel/init_task.c | 1 -
arch/sh/kernel/init_task.c | 1 -
arch/sparc/kernel/init_task.c | 1 -
arch/um/kernel/init_task.c | 1 -
arch/x86/kernel/init_task.c | 1 -
arch/xtensa/kernel/init_task.c | 1 -
drivers/oprofile/buffer_sync.c | 2 +-
fs/Kconfig | 39 +--------
fs/Makefile | 5 +-
fs/bad_inode.c | 6 -
fs/befs/linuxvfs.c | 5 +-
fs/block_dev.c | 9 +-
fs/cifs/Makefile | 2 +-
fs/cifs/cifsfs.c | 7 --
fs/cifs/cifsfs.h | 1 -
fs/cifs/fcntl.c | 118 ------------------------
fs/dcache.c | 25 ++---
fs/dcookies.c | 28 ++++--
fs/ecryptfs/inode.c | 3 +-
fs/exec.c | 5 +-
fs/ext2/ialloc.c | 6 +-
fs/ext2/inode.c | 7 +-
fs/ext2/namei.c | 15 +++-
fs/ext3/ialloc.c | 6 +-
fs/ext3/inode.c | 7 +-
fs/ext3/namei.c | 15 +++-
fs/ext4/ialloc.c | 6 +-
fs/ext4/inode.c | 7 +-
fs/ext4/namei.c | 14 +++-
fs/file_table.c | 10 ++-
fs/freevxfs/vxfs_inode.c | 4 +-
fs/inode.c | 59 ++++++++++++
fs/jfs/jfs_inode.c | 29 ++++--
fs/jfs/namei.c | 24 +++--
fs/namei.c | 115 +++++++++++++++--------
fs/namespace.c | 2 +-
fs/nfsctl.c | 5 +-
fs/notify/Kconfig | 2 +
fs/notify/Makefile | 2 +
fs/notify/dnotify/Kconfig | 10 ++
fs/notify/dnotify/Makefile | 1 +
fs/{ => notify/dnotify}/dnotify.c | 3 -
fs/notify/inotify/Kconfig | 27 ++++++
fs/notify/inotify/Makefile | 2 +
fs/{ => notify/inotify}/inotify.c | 0
fs/{ => notify/inotify}/inotify_user.c | 2 +-
fs/open.c | 5 +
fs/reiserfs/inode.c | 15 ++-
fs/reiserfs/namei.c | 8 ++
fs/seq_file.c | 10 ++-
fs/sysv/inode.c | 6 +-
include/linux/dcache.h | 21 +++--
include/linux/fdtable.h | 2 -
include/linux/fs.h | 24 +++---
include/linux/fs_struct.h | 6 -
include/linux/init_task.h | 1 +
include/linux/namei.h | 5 +
include/linux/security.h | 137 ++++++++++++++++++++++++++++
net/unix/af_unix.c | 4 +
security/Kconfig | 9 ++
security/capability.c | 57 ++++++++++++
security/security.c | 66 +++++++++++++
81 files changed, 696 insertions(+), 351 deletions(-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2008-12-31 7:43 Al Viro
@ 2008-12-31 17:21 ` Linus Torvalds
2008-12-31 17:31 ` Linus Torvalds
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Linus Torvalds @ 2008-12-31 17:21 UTC (permalink / raw)
To: Al Viro; +Cc: linux-kernel
On Wed, 31 Dec 2008, Al Viro wrote:
>
> Beginning of VFS queue for .29-rc1; that's just the first part. Please pull from
> git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus.
Al, can you please try to clean up the commit messages?
There's tons of unnecessary "[PATCH, v5]" things in those commit headers,
and that seems to mean that you intentionally pass the "--keep" flag to
git to keep the crap in subject lines, rather than let git clean it up for
you.
Git by default will try to clean things up, so you literally have done
extra work to make your commits look like shit!
Similarly, look at commit ef564e5cb82dbadc49949c93d8f7908f58c1016b: not
only does it have a "[patch][rfc]" at the head of the subject line (it
sure as hell isn't a rfc any more when you've committed it and intend to
push it to me!), but the commit message itself contains
Hi,
Comments?
Thanks,
Nick
--
in front of the actual message (that commit also lacks a sign-off, btw,
probably exactly because Nick wasn't sure it should be applied).
Those things make sense when people pass around patches for comments, but
you're supposed to clean the damn things up before applying them! They are
pure and utter crap if they make it into the git history - they only add
distracting noise, and look bad.
I can understand _occasional_ cases where you miss something like this,
but EVERY SINGLE COMMIT is broken in this series. Some just have the
crappy [PATCH] thing, but there are several that have extra email crud
that makes sense in an email, but not in a commit message.
I pulled it, but after looking at it, I unpulled it again. It really is
every single commit that is broken. Even the ones that aren't from emails
(they seem to be just your own commits) are broken. Look at
4edb9c1f26c7b7ccd39b7e3fe8aee5096786fdee: it has that [PATCH] header even
though it's your own commit (so you apparently wrote it by hand), and the
one-liner thing (the one you see in shortlogs or in the gitk overview) is
just
[PATCH] nfsd races, reiserfs
which isn't exactly readable. Why isn't it real proper English, something
like
Fix nfsd races in reiserfs
which is a properly capitalized real sentence and thus just more readable?
And shorter to boot?
Yeah, "git shortlog" will get rid of at least some of these things (it
will remove the pure "[patch] " prefixes), and yeah, it used to be common
to see [PATCH] in the git logs back early on before we learnt how to make
things more readable, so it wouldn't _hurt_ to pull. But I decided to
unpull just because I don't want to continue to see things like this.
And btw, feel free to push the pain downward. If they people who send you
patches send bad changelogs, just tell them to re-send with a better one.
I end up just always editing the mbox I have by hand in order to fix
things like this, but I also make sure that people who send me lots of
patches know to send them in the right format where I no longer need to
fix things. After a while, the number of messages I need to fix up has
dropped dramatically, and everybody is happy.
Linus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2008-12-31 17:21 ` Linus Torvalds
@ 2008-12-31 17:31 ` Linus Torvalds
2008-12-31 17:41 ` Linus Torvalds
2008-12-31 23:10 ` Al Viro
2 siblings, 0 replies; 14+ messages in thread
From: Linus Torvalds @ 2008-12-31 17:31 UTC (permalink / raw)
To: Al Viro; +Cc: linux-kernel
On Wed, 31 Dec 2008, Linus Torvalds wrote:
>
> There's tons of unnecessary "[PATCH, v5]" things in those commit headers,
> and that seems to mean that you intentionally pass the "--keep" flag to
> git to keep the crap in subject lines, rather than let git clean it up for
> you.
>
> Git by default will try to clean things up, so you literally have done
> extra work to make your commits look like shit!
The alternative, of course, is that you're using some _really_ old git
version, or that you have your own scripts that create the commits by
hand. If so, please just update.
Linus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2008-12-31 17:21 ` Linus Torvalds
2008-12-31 17:31 ` Linus Torvalds
@ 2008-12-31 17:41 ` Linus Torvalds
2008-12-31 20:43 ` Junio C Hamano
2008-12-31 23:10 ` Al Viro
2 siblings, 1 reply; 14+ messages in thread
From: Linus Torvalds @ 2008-12-31 17:41 UTC (permalink / raw)
To: Al Viro; +Cc: linux-kernel
On Wed, 31 Dec 2008, Linus Torvalds wrote:
>
> I pulled it, but after looking at it, I unpulled it again. It really is
> every single commit that is broken.
Btw, I can re-pull and just do a rebase and fix things up by hand myself,
so if you don't want to, I can clean up this sequence myself. But I just
don't want it to become a habit, so I want to make sure that at least in
the future these things won't look as horrible.
In case you wonder what the easiest way to fix things up is: just export
the series as a mbox ("git log -p --stat --pretty=email linus.. > mbox")
and then just edit the single mbox file to remove crud. Then you can
re-apply it with "git am".
Of course, with git you can do it in a million different ways: You could
do it with "git format-patch" or with "git rebase -i" too, for example,
but exporting it as an mbox means that you can do it in one single editing
session, which is how at least I personally work. Much nicer than having
to handle each commit individually.
Linus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2008-12-31 17:41 ` Linus Torvalds
@ 2008-12-31 20:43 ` Junio C Hamano
0 siblings, 0 replies; 14+ messages in thread
From: Junio C Hamano @ 2008-12-31 20:43 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Al Viro, linux-kernel
Linus Torvalds <torvalds@linux-foundation.org> writes:
> In case you wonder what the easiest way to fix things up is: just export
> the series as a mbox ("git log -p --stat --pretty=email linus.. > mbox")
> and then just edit the single mbox file to remove crud. Then you can
> re-apply it with "git am".
>
> Of course, with git you can do it in a million different ways: You could
> do it with "git format-patch" or with "git rebase -i" too, for example,
> but exporting it as an mbox means that you can do it in one single editing
> session, which is how at least I personally work. Much nicer than having
> to handle each commit individually.
The "format-patch" equivalent to export to a single mbox is:
$ git format-patch --stdout linus.. >mbox
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2008-12-31 17:21 ` Linus Torvalds
2008-12-31 17:31 ` Linus Torvalds
2008-12-31 17:41 ` Linus Torvalds
@ 2008-12-31 23:10 ` Al Viro
2009-01-01 0:05 ` Linus Torvalds
2 siblings, 1 reply; 14+ messages in thread
From: Al Viro @ 2008-12-31 23:10 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel
On Wed, Dec 31, 2008 at 09:21:57AM -0800, Linus Torvalds wrote:
>
>
> On Wed, 31 Dec 2008, Al Viro wrote:
> >
> > Beginning of VFS queue for .29-rc1; that's just the first part. Please pull from
> > git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus.
>
> Al, can you please try to clean up the commit messages?
Done. Same branch, same patches...
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2008-12-31 23:10 ` Al Viro
@ 2009-01-01 0:05 ` Linus Torvalds
0 siblings, 0 replies; 14+ messages in thread
From: Linus Torvalds @ 2009-01-01 0:05 UTC (permalink / raw)
To: Al Viro; +Cc: linux-kernel
On Wed, 31 Dec 2008, Al Viro wrote:
> On Wed, Dec 31, 2008 at 09:21:57AM -0800, Linus Torvalds wrote:
> >
> > Al, can you please try to clean up the commit messages?
>
> Done. Same branch, same patches...
Thanks. Pulled. You had missed one (e2b689d82), but now it's par for the
course (ie just the normal occasional mistake) and so I don't mind any
more.
Linus
^ permalink raw reply [flat|nested] 14+ messages in thread
* [git pull] vfs patches, part 1
@ 2009-06-12 1:45 Al Viro
2009-06-12 3:13 ` Linus Torvalds
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Al Viro @ 2009-06-12 1:45 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel
All sorts of stuff, from more people than usual. Among other stuff:
* sanitizing superblock methods (me, hch, Jan Kara)
* more pushing of lock_super() and BKL down into fs (by now only ->get_sb()
has the latter held by caller and nothing in VFS touches the former) (me,
hch, Alessio Igor Bogani)
* ->fsync() sanitizing and fixes (tangentially related to sb methods work;
file_fsync() must die and it's getting on the way to extinction)
* _very_ welcome speedup of mnt_want_write() from Nick Piggin
* solution for Trond's "nfs wants to have pathname resolution starting
at isolate vfsmount, with automounting" problem
Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus
Shortlog:
Al Viro (36):
Get rid of path_lookup in autofs4
Preparations to caching root in path_walk()
Cache root in nameidata
Make vfs_path_lookup() use starting point as root
Don't bother with check_mnt() in do_add_mount() on shrinkable ones
nfsd struct path use: exp_get_by_name()
switch exp_parent() to struct path
switch rqst_exp_get_by_name()
switch rqst_exp_parent()
switch follow_up() to struct path
Switch collect_mounts() to struct path
switch follow_down()
switch follow_mount()
switch lookup_mnt()
Move junk from proc_fs.h to fs/proc/internal.h
Make sure that all callers of remount hold s_umount exclusive
Trim a bit of crap from fs.h
No need to do lock_super() for exclusion in generic_shutdown_super()
Push lock_super() into the ->remount_fs() of filesystems that care about it
Push BKL into do_mount()
Push BKL down beyond VFS-only parts of do_mount()
Push BKL down into do_remount_sb()
New helper - simple_fsync()
Sanitize qnx4 fsync handling
fs/qnx4: sanitize includes
Sanitize ->fsync() for FAT
switch ext2 to simple_fsync()
switch minix to simple_fsync()
repair sysv_write_inode(), switch sysv to simple_fsync()
switch ufs to simple_fsync()
switch udf to simple_fsync()
switch omfs to simple_fsync()
repair adfs ->write_inode(), switch to simple_fsync()
Fix adfs GET_FRAG_ID() on big-endian
repair bfs_write_inode(), switch bfs to simple_fsync()
sanitize ->fsync() for affs
Alessio Igor Bogani (1):
Push BKL down into ->remount_fs()
Alexey Dobriyan (1):
dcache: extrace and use d_unlinked()
Christoph Hellwig (26):
remove s_async_list
quota: cleanup dquota sync functions (version 4)
btrfs: remove ->write_super and stop maintaining ->s_dirt
ext3: remove ->write_super and stop maintaining ->s_dirt
gfs2: remove ->write_super and stop maintaining ->s_dirt
ocfs2: remove ->write_super and stop maintaining ->s_dirt
qnx4: remove ->write_super
remove ->write_super call in generic_shutdown_super
cleanup sync_supers
enforce ->sync_fs is only called for rw superblock
push BKL down into ->put_super
jffs2: move jffs2_write_super to super.c
->write_super lock_super pushdown
xfs: remove ->write_super and stop maintaining ->s_dirt
affs: add ->sync_fs
bfs: add ->sync_fs
exofs: add ->sync_fs
ext2: add ->sync_fs
fat: add ->sync_fs
hfs: add ->sync_fs
hfsplus: add ->sync_fs
sysv: add ->sync_fs
ufs: add ->sync_fs
jffs2: call jffs2_write_super from jffs2_sync_fs
nilfs2: call nilfs2_write_super from nilfs2_sync_fs
remove the call to ->write_super in __sync_filesystem
Jan Kara (7):
vfs: Fix sys_sync() and fsync_super() reliability (version 4)
vfs: Call ->sync_fs() even if s_dirt is 0 (version 4)
vfs: Make __fsync_super() a static function (version 4)
vfs: Make sys_sync() use fsync_super() (version 4)
vfs: Move syncing code from super.c to sync.c (version 4)
vfs: Rename fsync_super() to sync_filesystem() (version 4)
quota: Introduce writeout_quota_sb() (version 4)
Jeff Mahoney (1):
reiserfs: allow exposing privroot w/ xattrs enabled
Jens Axboe (1):
ntfs: remove old debug check for dirty data in ntfs_put_super()
Mike Frysinger (1):
linux/magic.h: move cramfs magic out of cramfs_fs.h
Nick Piggin (5):
fs: remove incorrect I_NEW warnings
fs: block_dump missing dentry locking
fs: mnt_want_write speedup
fs: introduce mnt_clone_write
fs: move mark_files_ro into file_table.c
Ryusuke Konishi (6):
nilfs2: remove meaningless EBUSY case from nilfs_get_sb function
nilfs2: get rid of sget use for acquiring nilfs object
nilfs2: get rid of sget use for checking if current mount is present
nilfs2: simplify remaining sget() use
nilfs2: correct exclusion control in nilfs_remount function
nilfs2: get rid of bd_mount_sem use from nilfs
Theodore Ts'o (2):
fs: Remove i_cindex from struct inode
fs: Rearrange inode structure elements to avoid waste due to padding
Diffstat:
arch/alpha/kernel/osf_sys.c | 3 -
drivers/ieee1394/dv1394.c | 5 +-
drivers/ieee1394/ieee1394_core.h | 6 +-
drivers/usb/core/inode.c | 5 +
fs/adfs/adfs.h | 4 +-
fs/adfs/dir.c | 10 +-
fs/adfs/dir_f.c | 17 ++
fs/adfs/dir_fplus.c | 17 ++
fs/adfs/file.c | 2 +-
fs/adfs/inode.c | 4 +-
fs/adfs/map.c | 2 +-
fs/adfs/super.c | 4 +
fs/affs/affs.h | 1 +
fs/affs/dir.c | 2 +-
fs/affs/file.c | 14 ++-
fs/affs/super.c | 54 +++++--
fs/afs/mntpt.c | 2 +-
fs/afs/super.c | 4 +
fs/autofs/dirhash.c | 5 +-
fs/autofs4/autofs_i.h | 6 +-
fs/autofs4/dev-ioctl.c | 195 +++++++----------------
fs/autofs4/expire.c | 15 +-
fs/autofs4/root.c | 7 +-
fs/befs/linuxvfs.c | 5 +-
fs/bfs/dir.c | 8 +-
fs/bfs/inode.c | 52 +++++--
fs/block_dev.c | 19 ++-
fs/btrfs/inode.c | 7 -
fs/btrfs/super.c | 11 --
fs/cachefiles/interface.c | 4 +-
fs/char_dev.c | 14 ++-
fs/cifs/cifs_dfs_ref.c | 2 +-
fs/cifs/cifsfs.c | 6 +-
fs/compat.c | 2 -
fs/dcache.c | 7 +-
fs/ecryptfs/super.c | 5 +
fs/exofs/super.c | 25 +++-
fs/ext2/Makefile | 2 +-
fs/ext2/dir.c | 2 +-
fs/ext2/ext2.h | 3 -
fs/ext2/file.c | 4 +-
fs/ext2/fsync.c | 50 ------
fs/ext2/inode.c | 11 +-
fs/ext2/super.c | 60 +++++--
fs/ext3/balloc.c | 3 +-
fs/ext3/ialloc.c | 3 +-
fs/ext3/inode.c | 1 -
fs/ext3/resize.c | 2 -
fs/ext3/super.c | 34 ++---
fs/ext3/xattr.c | 1 -
fs/ext4/super.c | 16 ++-
fs/fat/dir.c | 16 +-
fs/fat/fat.h | 6 +
fs/fat/fatent.c | 13 +-
fs/fat/file.c | 14 ++-
fs/fat/inode.c | 31 ++++-
fs/fat/namei_msdos.c | 4 +-
fs/fat/namei_vfat.c | 4 +-
fs/file_table.c | 40 +++++-
fs/freevxfs/vxfs_super.c | 4 +
fs/fs-writeback.c | 92 +++--------
fs/gfs2/log.c | 2 -
fs/gfs2/super.c | 15 +--
fs/hfs/super.c | 23 +++-
fs/hfsplus/super.c | 25 +++-
fs/hpfs/super.c | 12 ++
fs/inode.c | 2 +-
fs/internal.h | 17 ++
fs/isofs/inode.c | 5 +
fs/jffs2/fs.c | 18 +--
fs/jffs2/os-linux.h | 1 -
fs/jffs2/super.c | 26 +++
fs/jfs/super.c | 27 +++-
fs/libfs.c | 25 +++
fs/minix/dir.c | 2 +-
fs/minix/file.c | 20 +---
fs/minix/inode.c | 37 ++---
fs/minix/minix.h | 2 -
fs/namei.c | 129 +++++++++------
fs/namespace.c | 327 ++++++++++++++++----------------------
fs/ncpfs/inode.c | 4 +
fs/nfs/namespace.c | 2 +-
fs/nfs/super.c | 2 +
fs/nfsd/export.c | 78 ++++------
fs/nfsd/vfs.c | 54 +++---
fs/nilfs2/cpfile.c | 6 +-
fs/nilfs2/sb.h | 1 +
fs/nilfs2/super.c | 256 +++++++++++-------------------
fs/nilfs2/the_nilfs.c | 113 +++++++++++++-
fs/nilfs2/the_nilfs.h | 23 +++-
fs/ntfs/super.c | 54 +++----
fs/ocfs2/super.c | 22 +--
fs/omfs/file.c | 17 +--
fs/open.c | 4 +-
fs/proc/internal.h | 25 +++
fs/proc/proc_devtree.c | 1 +
fs/qnx4/Makefile | 2 +-
fs/qnx4/bitmap.c | 7 +-
fs/qnx4/dir.c | 9 +-
fs/qnx4/file.c | 5 +-
fs/qnx4/fsync.c | 169 --------------------
fs/qnx4/inode.c | 58 ++-----
fs/qnx4/namei.c | 13 +--
fs/qnx4/qnx4.h | 57 +++++++
fs/qnx4/truncate.c | 6 +-
fs/quota/quota.c | 25 ++--
fs/reiserfs/dir.c | 10 +-
fs/reiserfs/super.c | 33 +++--
fs/reiserfs/xattr.c | 3 +-
fs/smbfs/inode.c | 4 +
fs/squashfs/super.c | 4 +
fs/super.c | 192 ++++-------------------
fs/sync.c | 117 ++++++++++++--
fs/sysv/dir.c | 2 +-
fs/sysv/file.c | 17 +--
fs/sysv/inode.c | 75 +++++----
fs/sysv/sysv.h | 1 -
fs/ubifs/super.c | 17 ++-
fs/udf/Makefile | 2 +-
fs/udf/dir.c | 2 +-
fs/udf/file.c | 2 +-
fs/udf/fsync.c | 52 ------
fs/udf/super.c | 11 ++-
fs/udf/udfdecl.h | 3 -
fs/ufs/dir.c | 2 +-
fs/ufs/file.c | 23 +---
fs/ufs/super.c | 65 ++++++--
fs/ufs/ufs.h | 1 -
fs/xattr.c | 4 +-
fs/xfs/linux-2.6/xfs_super.c | 12 --
fs/xfs/xfs_trans.c | 2 -
include/linux/Kbuild | 2 +-
include/linux/cdev.h | 2 +
include/linux/cramfs_fs.h | 3 +-
include/linux/dcache.h | 7 +-
include/linux/fs.h | 21 +--
include/linux/magic.h | 2 +
include/linux/mount.h | 25 +++-
include/linux/namei.h | 5 +-
include/linux/nfsd/export.h | 6 +-
include/linux/proc_fs.h | 24 ---
include/linux/qnx4_fs.h | 61 -------
include/linux/quotaops.h | 20 ++-
include/linux/reiserfs_fs_sb.h | 2 +
include/linux/writeback.h | 1 -
kernel/audit_tree.c | 6 +-
kernel/cgroup.c | 3 +
147 files changed, 1707 insertions(+), 1834 deletions(-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2009-06-12 1:45 [git pull] vfs patches, part 1 Al Viro
@ 2009-06-12 3:13 ` Linus Torvalds
2009-06-12 3:38 ` Al Viro
2009-06-16 16:19 ` hooanon05
2009-06-18 14:30 ` hooanon05
2 siblings, 1 reply; 14+ messages in thread
From: Linus Torvalds @ 2009-06-12 3:13 UTC (permalink / raw)
To: Al Viro; +Cc: linux-kernel
On Fri, 12 Jun 2009, Al Viro wrote:
>
> Please, pull from
> git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus
Done. Should I be expecting the posix xattr cleanups stuff too, or will
that be for the next merge window?
Linus
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2009-06-12 3:13 ` Linus Torvalds
@ 2009-06-12 3:38 ` Al Viro
0 siblings, 0 replies; 14+ messages in thread
From: Al Viro @ 2009-06-12 3:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel
On Thu, Jun 11, 2009 at 08:13:59PM -0700, Linus Torvalds wrote:
>
>
> On Fri, 12 Jun 2009, Al Viro wrote:
> >
> > Please, pull from
> > git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus
>
> Done. Should I be expecting the posix xattr cleanups stuff too, or will
> that be for the next merge window?
Later in this one, after XFS merge. At least part of that - I've several
patches sitting in local tree on top of vfs-2.6.git#acl, but I'm still
not convinced that they are moving in the right direction. E.g. it's bloody
tempting to merge the "how to pick ACLs for new object" logics, but
journalling filesystems want to have handle/transaction id/whatnot for
what would appear to be natural fs-specific callbacks. We can deal with
that in obvious way (pass void *context, basically), but I want to look
a bit more at the results before deciding if it's worth doing.
Stuff in vfs-2.6.git#acl probably will go, but it has 3 cherry-picked
changesets and at least XFS one should go in via XFS tree.
There's other pending stuff as well (sysfs ->readdir(), etc.), so there'll
probably be a couple of merges after this one.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2009-06-12 1:45 [git pull] vfs patches, part 1 Al Viro
2009-06-12 3:13 ` Linus Torvalds
@ 2009-06-16 16:19 ` hooanon05
2009-06-16 17:31 ` Al Viro
2009-06-18 14:30 ` hooanon05
2 siblings, 1 reply; 14+ messages in thread
From: hooanon05 @ 2009-06-16 16:19 UTC (permalink / raw)
To: Al Viro; +Cc: Linus Torvalds, linux-kernel
Al Viro:
> * more pushing of lock_super() and BKL down into fs (by now only ->get_sb()
> has the latter held by caller and nothing in VFS touches the former) (me,
> hch, Alessio Igor Bogani)
:::
> Al Viro (36):
:::
> Push BKL down into do_remount_sb()
:::
> Alessio Igor Bogani (1):
> Push BKL down into ->remount_fs()
These two patches conflict, or are unmatched.
Al's patch adds one lock_kernel() call and several unlock_kernel() into
do_remount_sb(), and then Alessio's patch removes only single pair of
lock/unlock_kernel().
Finally a few unlock_kernel() are left in do_remount_sb().
I guess Alessio's base was different from Al's.
J. R. Okajima
commit 8219ce0904f57cd0893092369fbde39471cfb5a7
Author: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Wed Jun 17 01:16:50 2009 +0900
remove unlock_kernel() left accidentally
commit 337eb00a2c3a421999c39c94ce7e33545ee8baa7
Push BKL down into ->remount_fs()
and
commit 4aa98cf768b6f2ea4b204620d949a665959214f6
Push BKL down into do_remount_sb()
were uncorrectly merged.
The former removes one pair of lock/unlock_kernel(), but the latter adds
several unlock_kernel(). Finally a few unlock_kernel() calls left.
Signed-off-by: J. R. Okajima <hooanon05@yahoo.co.jp>
diff --git a/fs/super.c b/fs/super.c
index 83b4741..d40d53a 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -545,24 +545,18 @@ int do_remount_sb(struct super_block *sb, int flags, void *data, int force)
if ((flags & MS_RDONLY) && !(sb->s_flags & MS_RDONLY)) {
if (force)
mark_files_ro(sb);
- else if (!fs_may_remount_ro(sb)) {
- unlock_kernel();
+ else if (!fs_may_remount_ro(sb))
return -EBUSY;
- }
retval = vfs_dq_off(sb, 1);
- if (retval < 0 && retval != -ENOSYS) {
- unlock_kernel();
+ if (retval < 0 && retval != -ENOSYS)
return -EBUSY;
- }
}
remount_rw = !(flags & MS_RDONLY) && (sb->s_flags & MS_RDONLY);
if (sb->s_op->remount_fs) {
retval = sb->s_op->remount_fs(sb, &flags, data);
- if (retval) {
- unlock_kernel();
+ if (retval)
return retval;
- }
}
sb->s_flags = (sb->s_flags & ~MS_RMT_MASK) | (flags & MS_RMT_MASK);
if (remount_rw)
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2009-06-16 16:19 ` hooanon05
@ 2009-06-16 17:31 ` Al Viro
0 siblings, 0 replies; 14+ messages in thread
From: Al Viro @ 2009-06-16 17:31 UTC (permalink / raw)
To: hooanon05; +Cc: Linus Torvalds, linux-kernel
On Wed, Jun 17, 2009 at 01:19:09AM +0900, hooanon05@yahoo.co.jp wrote:
> These two patches conflict, or are unmatched.
> Al's patch adds one lock_kernel() call and several unlock_kernel() into
> do_remount_sb(), and then Alessio's patch removes only single pair of
> lock/unlock_kernel().
> Finally a few unlock_kernel() are left in do_remount_sb().
Nice catch...
Applied, will push today.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2009-06-12 1:45 [git pull] vfs patches, part 1 Al Viro
2009-06-12 3:13 ` Linus Torvalds
2009-06-16 16:19 ` hooanon05
@ 2009-06-18 14:30 ` hooanon05
2009-06-20 0:29 ` Linus Torvalds
2 siblings, 1 reply; 14+ messages in thread
From: hooanon05 @ 2009-06-18 14:30 UTC (permalink / raw)
To: Al Viro; +Cc: Linus Torvalds, linux-kernel
Al Viro:
> Cache root in nameidata
Didn't you forget path_put() for the new member before returning in the
middle of do_filp_open()?
J. R. Okajima
----------------------------------------------------------------------
commit ccf163f67e7c4bf3890010a5a593eb62c3004a6a
Author: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Thu Jun 18 23:26:34 2009 +0900
vfs: nd->root in do_filp_open()
commit 2a737871108de9ba8930f7650d549f1383767f8b
"Cache root in nameidata"
introduced a new member nd->root, but forgot to put it in
do_filp_open().
Signed-off-by: J. R. Okajima <hooanon05@yahoo.co.jp>
diff --git a/fs/namei.c b/fs/namei.c
index 527119a..5b961eb 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1698,8 +1698,11 @@ struct file *do_filp_open(int dfd, const char *pathname,
if (error)
return ERR_PTR(error);
error = path_walk(pathname, &nd);
- if (error)
+ if (error) {
+ if (nd.root.mnt)
+ path_put(&nd.root);
return ERR_PTR(error);
+ }
if (unlikely(!audit_dummy_context()))
audit_inode(pathname, nd.path.dentry);
@@ -1759,6 +1762,8 @@ do_last:
}
filp = nameidata_to_filp(&nd, open_flag);
mnt_drop_write(nd.path.mnt);
+ if (nd.root.mnt)
+ path_put(&nd.root);
return filp;
}
@@ -1819,6 +1824,8 @@ ok:
*/
if (will_write)
mnt_drop_write(nd.path.mnt);
+ if (nd.root.mnt)
+ path_put(&nd.root);
return filp;
exit_mutex_unlock:
@@ -1859,6 +1866,8 @@ do_link:
* with "intent.open".
*/
release_open_intent(&nd);
+ if (nd.root.mnt)
+ path_put(&nd.root);
return ERR_PTR(error);
}
nd.flags &= ~LOOKUP_PARENT;
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [git pull] vfs patches, part 1
2009-06-18 14:30 ` hooanon05
@ 2009-06-20 0:29 ` Linus Torvalds
0 siblings, 0 replies; 14+ messages in thread
From: Linus Torvalds @ 2009-06-20 0:29 UTC (permalink / raw)
To: Al Viro; +Cc: hooanon05, Linux Kernel Mailing List
Al? There does seem to be a leak there.
Linus
On Thu, 18 Jun 2009, hooanon05@yahoo.co.jp wrote:
>
> Didn't you forget path_put() for the new member before returning in the
> middle of do_filp_open()?
>
>
> J. R. Okajima
>
> ----------------------------------------------------------------------
> commit ccf163f67e7c4bf3890010a5a593eb62c3004a6a
> Author: J. R. Okajima <hooanon05@yahoo.co.jp>
> Date: Thu Jun 18 23:26:34 2009 +0900
>
> vfs: nd->root in do_filp_open()
>
> commit 2a737871108de9ba8930f7650d549f1383767f8b
> "Cache root in nameidata"
> introduced a new member nd->root, but forgot to put it in
> do_filp_open().
>
> Signed-off-by: J. R. Okajima <hooanon05@yahoo.co.jp>
>
> diff --git a/fs/namei.c b/fs/namei.c
> index 527119a..5b961eb 100644
> --- a/fs/namei.c
> +++ b/fs/namei.c
> @@ -1698,8 +1698,11 @@ struct file *do_filp_open(int dfd, const char *pathname,
> if (error)
> return ERR_PTR(error);
> error = path_walk(pathname, &nd);
> - if (error)
> + if (error) {
> + if (nd.root.mnt)
> + path_put(&nd.root);
> return ERR_PTR(error);
> + }
> if (unlikely(!audit_dummy_context()))
> audit_inode(pathname, nd.path.dentry);
>
> @@ -1759,6 +1762,8 @@ do_last:
> }
> filp = nameidata_to_filp(&nd, open_flag);
> mnt_drop_write(nd.path.mnt);
> + if (nd.root.mnt)
> + path_put(&nd.root);
> return filp;
> }
>
> @@ -1819,6 +1824,8 @@ ok:
> */
> if (will_write)
> mnt_drop_write(nd.path.mnt);
> + if (nd.root.mnt)
> + path_put(&nd.root);
> return filp;
>
> exit_mutex_unlock:
> @@ -1859,6 +1866,8 @@ do_link:
> * with "intent.open".
> */
> release_open_intent(&nd);
> + if (nd.root.mnt)
> + path_put(&nd.root);
> return ERR_PTR(error);
> }
> nd.flags &= ~LOOKUP_PARENT;
>
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2009-06-20 0:29 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-12 1:45 [git pull] vfs patches, part 1 Al Viro
2009-06-12 3:13 ` Linus Torvalds
2009-06-12 3:38 ` Al Viro
2009-06-16 16:19 ` hooanon05
2009-06-16 17:31 ` Al Viro
2009-06-18 14:30 ` hooanon05
2009-06-20 0:29 ` Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2008-12-31 7:43 Al Viro
2008-12-31 17:21 ` Linus Torvalds
2008-12-31 17:31 ` Linus Torvalds
2008-12-31 17:41 ` Linus Torvalds
2008-12-31 20:43 ` Junio C Hamano
2008-12-31 23:10 ` Al Viro
2009-01-01 0:05 ` Linus Torvalds
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox