linux/fs
Christoph Hellwig 85fe4025c6 fs: do not assign default i_ino in new_inode
Instead of always assigning an increasing inode number in new_inode
move the call to assign it into those callers that actually need it.
For now callers that need it is estimated conservatively, that is
the call is added to all filesystems that do not assign an i_ino
by themselves.  For a few more filesystems we can avoid assigning
any inode number given that they aren't user visible, and for others
it could be done lazily when an inode number is actually needed,
but that's left for later patches.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2010-10-25 21:26:11 -04:00
..
9p new helper: ihold() 2010-10-25 21:26:11 -04:00
adfs Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:01 -07:00
affs new helper: ihold() 2010-10-25 21:26:11 -04:00
afs new helper: ihold() 2010-10-25 21:26:11 -04:00
autofs Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:01 -07:00
autofs4 fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
befs
bfs new helper: ihold() 2010-10-25 21:26:11 -04:00
btrfs new helper: ihold() 2010-10-25 21:26:11 -04:00
cachefiles llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
ceph ceph: do not carry i_lock for readdir from dcache 2010-10-20 15:38:27 -07:00
cifs Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 2010-10-22 17:52:29 -07:00
coda new helper: ihold() 2010-10-25 21:26:11 -04:00
configfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
cramfs cramfs: only unlock new inodes 2010-08-18 01:01:33 -04:00
debugfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
devpts
dlm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm 2010-10-22 17:33:16 -07:00
ecryptfs Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
efs
exofs new helper: ihold() 2010-10-25 21:26:11 -04:00
exportfs
ext2 new helper: ihold() 2010-10-25 21:26:11 -04:00
ext3 new helper: ihold() 2010-10-25 21:26:11 -04:00
ext4 fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
fat Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block 2010-10-22 17:07:18 -07:00
freevxfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
fscache Add a dummy printk function for the maintenance of unused printks 2010-08-12 09:51:35 -07:00
fuse fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
gfs2 new helper: ihold() 2010-10-25 21:26:11 -04:00
hfs switch hfs to hlist_add_fake() 2010-10-25 21:24:16 -04:00
hfsplus new helper: ihold() 2010-10-25 21:26:11 -04:00
hostfs hostfs: fix UML crash: remove f_spare from hostfs 2010-10-25 21:18:21 -04:00
hpfs Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:01 -07:00
hppfs llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
hugetlbfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
isofs isofs: Fix isofs_get_blocks for 8TB files 2010-10-25 21:18:20 -04:00
jbd Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block 2010-10-22 17:07:18 -07:00
jbd2 Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block 2010-10-22 17:07:18 -07:00
jffs2 new helper: ihold() 2010-10-25 21:26:11 -04:00
jfs new helper: ihold() 2010-10-25 21:26:11 -04:00
lockd
logfs new helper: ihold() 2010-10-25 21:26:11 -04:00
minix new helper: ihold() 2010-10-25 21:26:11 -04:00
ncpfs ncpfs: Lock socket in ncpfs while setting its callbacks 2010-10-05 11:02:14 +02:00
nfs new helper: ihold() 2010-10-25 21:26:11 -04:00
nfs_common
nfsd fs: add sync_inode_metadata 2010-10-25 21:18:19 -04:00
nilfs2 new helper: ihold() 2010-10-25 21:26:11 -04:00
nls
notify Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
ntfs new helper: ihold() 2010-10-25 21:26:11 -04:00
ocfs2 fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
omfs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bcopeland/omfs 2010-08-10 11:47:36 -07:00
openpromfs
partitions Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2010-10-25 07:45:10 -07:00
proc fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
qnx4 BKL: remove BKL from qnx4 2010-10-21 18:48:04 +02:00
quota Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
ramfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
reiserfs new helper: ihold() 2010-10-25 21:26:11 -04:00
romfs llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
smbfs smbfs never retains inodes with zero refcount in the first place 2010-10-25 21:23:01 -04:00
squashfs Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
sysfs Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2010-10-22 19:36:42 -07:00
sysv new helper: ihold() 2010-10-25 21:26:11 -04:00
ubifs new helper: ihold() 2010-10-25 21:26:11 -04:00
udf new helper: ihold() 2010-10-25 21:26:11 -04:00
ufs new helper: ihold() 2010-10-25 21:26:11 -04:00
xfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
aio.c new helper: ihold() 2010-10-25 21:26:11 -04:00
anon_inodes.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
attr.c check ATTR_SIZE contraints in inode_change_ok 2010-08-09 16:47:39 -04:00
bad_inode.c bkl: Remove locked .ioctl file operation 2010-08-14 00:24:24 +02:00
binfmt_aout.c Don't dump task struct in a.out core-dumps 2010-10-14 10:57:40 -07:00
binfmt_elf_fdpic.c
binfmt_elf.c ARM: 6342/1: fix ASLR of PIE executables 2010-10-08 10:02:53 +01:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
binfmt_script.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
binfmt_som.c
bio-integrity.c fs/bio-integrity.c: return -ENOMEM on kmalloc failure 2010-08-23 13:36:59 +02:00
bio.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
block_dev.c new helper: ihold() 2010-10-25 21:26:11 -04:00
buffer.c fs/buffer.c: call __block_write_begin() if we have page 2010-10-25 21:18:23 -04:00
char_dev.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
compat_binfmt_elf.c
compat_ioctl.c fix rawctl compat ioctls breakage on amd64 and itanic 2010-10-19 11:29:54 +02:00
compat.c Prevent freeing uninitialized pointer in compat_do_readv_writev 2010-09-22 17:22:38 -07:00
dcache.c fs: brlock vfsmount_lock 2010-08-18 08:35:48 -04:00
dcookies.c
direct-io.c O_DIRECT: fix the splitting up of contiguous I/O 2010-09-09 18:57:22 -07:00
drop_caches.c simplify checks for I_CLEAR/I_FREEING 2010-08-09 16:47:44 -04:00
eventfd.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
eventpoll.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
exec.c Export dump_{write,seek} to binary loader modules 2010-10-14 19:15:28 -07:00
fcntl.c vfs: take O_NONBLOCK out of the O_* uniqueness test 2010-09-09 18:57:25 -07:00
fifo.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
file_table.c fs: allow for more than 2^31 files 2010-10-25 21:18:20 -04:00
file.c vfs: use kmalloc() to allocate fdmem if possible 2010-08-11 08:59:02 -07:00
filesystems.c
fs_struct.c fs: fs_struct rwlock to spinlock 2010-08-18 08:35:46 -04:00
fs-writeback.c fs: Implement lazy LRU updates for inodes 2010-10-25 21:26:09 -04:00
generic_acl.c vfs: update ctime when changing the file's permission by setfacl 2010-08-18 01:04:22 -04:00
inode.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
internal.h fs: Convert nr_inodes and nr_unused to per-cpu counters 2010-10-25 21:26:09 -04:00
ioctl.c bkl: Remove locked .ioctl file operation 2010-08-14 00:24:24 +02:00
ioprio.c
Kconfig fs: move exportfs since it is not a networking filesystem 2010-10-25 21:18:22 -04:00
Kconfig.binfmt
libfs.c new helper: ihold() 2010-10-25 21:26:11 -04:00
locks.c fs/locks.c: prepare for BKL removal 2010-10-05 11:02:04 +02:00
Makefile
mbcache.c mbcache: Limit the maximum number of cache entries 2010-08-18 06:24:41 -04:00
mpage.c
namei.c new helper: ihold() 2010-10-25 21:26:11 -04:00
namespace.c vfs: fix infinite loop caused by clone_mnt race 2010-10-25 21:24:16 -04:00
nfsctl.c
no-block.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
open.c fs: cleanup files_lock locking 2010-08-18 08:35:47 -04:00
pipe.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
pnode.c fs: brlock vfsmount_lock 2010-08-18 08:35:48 -04:00
pnode.h
posix_acl.c
read_write.c vfs: introduce FMODE_UNSIGNED_OFFSET for allowing negative f_pos 2010-10-25 21:18:21 -04:00
read_write.h
readdir.c vfs: fix warning: 'dirent' is used uninitialized in this function 2010-08-09 20:45:05 -07:00
select.c
seq_file.c fs/seq_file.c: Remove unnecessary casts of private_data 2010-09-23 13:28:23 +02:00
signalfd.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
splice.c splice: fix misuse of SPLICE_F_NONBLOCK 2010-08-07 18:52:56 +02:00
stack.c
stat.c Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
statfs.c add f_flags to struct statfs(64) 2010-08-09 16:48:44 -04:00
super.c fs: scale files_lock 2010-08-18 08:35:48 -04:00
sync.c get rid of file_fsync() 2010-08-09 16:47:43 -04:00
timerfd.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
utimes.c Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
xattr_acl.c
xattr.c