summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* convert remaining ->clear_inode() to ->evict_inode()Al Viro2010-08-0934-59/+94
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Make ->drop_inode() just return whether inode needs to be droppedAl Viro2010-08-0910-103/+60
| | | | | | ... and let iput_final() do the actual eviction or retention Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* fs/inode.c:clear_inode() is goneAl Viro2010-08-092-25/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* fs/inode.c:evict() doesn't care about delete vs. non-delete paths nowAl Viro2010-08-091-4/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ->delete_inode() is goneAl Viro2010-08-092-3/+0
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert ext4 to ->evict_inode()Al Viro2010-08-094-10/+16
| | | | | | pretty much brute-force... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert logfs to ->evict_inode()Al Viro2010-08-093-36/+31
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* logfs: get rid of magical inodesAl Viro2010-08-096-41/+31
| | | | | | | ordering problems at ->kill_sb() time are solved by doing iput() of these suckers in ->put_super() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert nilfs2 to ->evict_inode()Al Viro2010-08-093-24/+26
| | | | | | [folded build fix from sfr] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert exofs to ->evict_inode()Al Viro2010-08-093-6/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert reiserfs to ->evict_inode()Al Viro2010-08-093-11/+12
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert btrfs to ->evict_inode()Al Viro2010-08-093-4/+8
| | | | | | | | | NB: do we want btrfs_wait_ordered_range() on eviction of inodes with positive i_nlink on subvolume with zero root_refs? If not, btrfs_evict_inode() can be simplified by unconditionally bailing out in case of i_nlink > 0 in the very beginning... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch gfs2 to ->evict_inode()Al Viro2010-08-091-24/+15
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert ocfs2 to ->evict_inode()Al Viro2010-08-093-11/+16
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch ncpfs to ->evict_inode()Al Viro2010-08-091-6/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch udf to ->evict_inode()Al Viro2010-08-094-35/+21
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch ubifs to ->evict_inode()Al Viro2010-08-091-4/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch jfs to ->evict_inode()Al Viro2010-08-093-25/+20
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch hpfs to ->evict_inode()Al Viro2010-08-093-7/+9
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch hppfs to ->evict_inode()Al Viro2010-08-091-4/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* try to get rid of races in hostfs open()Al Viro2010-08-093-12/+37
| | | | | | | | | | | | | | | | | | In case of mode mismatch, do *not* blindly close the descriptor another openers might be using right now. Open the underlying file with currently sufficient mode, then * if current mode has grown so that it's sufficient for us now, just close our new fd * if current mode has grown and our fd is *not* enough to cover it, close and repeat. * otherwise, install our fd if the file hadn't been opened at all or dup2() our fd over the current one (and close our fd). Critical section is protected by mutex; yes, system-wide. All we do under it is a bunch of comparison and maybe an overwriting dup2() on host. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* leak in hostfs_unlink()Al Viro2010-08-091-2/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hostfs: fix races in dentry_name() and inode_name()Al Viro2010-08-091-46/+60
| | | | | | | | calculating size, then doing allocation, then filling the path is a Bad Idea(tm), since the ancestors can be renamed, leading to buffer overrun. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* new helper: __dentry_path()Al Viro2010-08-092-5/+23
| | | | | | | builds path relative to fs root, called under dcache_lock, doesn't append any nonsense to unlinked ones. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hostfs: sanitize symlinksAl Viro2010-08-091-26/+35
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hostfs: get rid of inode_dentry_name()Al Viro2010-08-091-35/+20
| | | | | | it's equivalent to dentry_name() anyway Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hostfs: get rid of file_type(), fold init_inode()Al Viro2010-08-093-93/+45
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch stat_file() to passing a single struct rather than fsckloads of pointersAl Viro2010-08-093-68/+58
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hostfs: pass pathname to init_inode()Al Viro2010-08-091-30/+15
| | | | | | | | | We will calculate it in all callers anyway, so there's no need to duplicate that inside. Moreover, that way we lose all failure exits in init_inode(), so it doesn't need to return anything. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* get rid of hostfs_read_inode()Al Viro2010-08-091-53/+16
| | | | | | | | | There are only two call sites; in one (hostfs_iget()) it's actually a no-op and in another (fill_super()) it's easier to expand the damn thing and use what we know about its arguments to simplify it. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* hostfs: don't keep a field in each inode when we are using it only in rootAl Viro2010-08-091-24/+15
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* stop icache pollution in hostfs, switch to ->evict_inode()Al Viro2010-08-091-22/+8
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch affs to ->evict_inode()Al Viro2010-08-093-17/+14
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch omfs to ->evict_inode()Al Viro2010-08-091-3/+6
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch bfs to ->evict_inode(), clean upAl Viro2010-08-091-38/+32
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* convert ext3 to ->evict_inode()Al Viro2010-08-094-36/+29
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* spufs conversion to ->evict_inode()Al Viro2010-08-091-5/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch ufs to ->evict_inode()Al Viro2010-08-094-21/+28
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* covert fatfs to ->evict_inode()Al Viro2010-08-091-11/+9
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch smbfs to evict_inode()Al Viro2010-08-091-4/+4
| | | | | | NB: treatment of inode hash is completely braindead there Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch sysv to ->evict_inode()Al Viro2010-08-092-6/+10
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch shmem.c to ->evice_inode()Al Viro2010-08-091-4/+4
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch mqueue to ->evict_inode()Al Viro2010-08-091-9/+7
| | | | | | | ... and since the inodes are never hashed, we can use default ->drop_inode() just fine. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* merge ext2 delete_inode and clear_inode, switch to ->evict_inode()Al Viro2010-08-094-37/+36
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Don't dirty the victim in ext2_xattr_delete_inode()Al Viro2010-08-091-2/+0
| | | | | | | ... it's beyond fs-writeback reach already - writeback won't be started at that point. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* Take dirtying the inode to callers of ext2_free_blocks()Al Viro2010-08-093-3/+7
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* ext2: switch to dquot_free_block_nodirty()Al Viro2010-08-092-8/+16
| | | | | | brute-force conversion Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch minix to ->evict_inode(), fix write_inode/delete_inode raceAl Viro2010-08-092-9/+12
| | | | | | | We need to wait for completion of possible writeback in progress before we clear on-disk inode during deletion. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch sysfs to ->evict_inode()Al Viro2010-08-093-5/+5
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* switch procfs to ->evict_inode()Al Viro2010-08-091-3/+3
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
OpenPOWER on IntegriCloud