summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'work.icache' of ↵Linus Torvalds2019-05-0774-493/+230
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs inode freeing updates from Al Viro: "Introduction of separate method for RCU-delayed part of ->destroy_inode() (if any). Pretty much as posted, except that destroy_inode() stashes ->free_inode into the victim (anon-unioned with ->i_fops) before scheduling i_callback() and the last two patches (sockfs conversion and folding struct socket_wq into struct socket) are excluded - that pair should go through netdev once davem reopens his tree" * 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (58 commits) orangefs: make use of ->free_inode() shmem: make use of ->free_inode() hugetlb: make use of ->free_inode() overlayfs: make use of ->free_inode() jfs: switch to ->free_inode() fuse: switch to ->free_inode() ext4: make use of ->free_inode() ecryptfs: make use of ->free_inode() ceph: use ->free_inode() btrfs: use ->free_inode() afs: switch to use of ->free_inode() dax: make use of ->free_inode() ntfs: switch to ->free_inode() securityfs: switch to ->free_inode() apparmor: switch to ->free_inode() rpcpipe: switch to ->free_inode() bpf: switch to ->free_inode() mqueue: switch to ->free_inode() ufs: switch to ->free_inode() coda: switch to ->free_inode() ...
| * orangefs: make use of ->free_inode()Al Viro2019-05-021-6/+3
| | | | | | | | | | Acked-by: Mike Marshall <hubcap@omnibond.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * shmem: make use of ->free_inode()Al Viro2019-05-021-3/+2
| | | | | | | | | | | | same situation as for hugetlbfs Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * hugetlb: make use of ->free_inode()Al Viro2019-05-021-3/+2
| | | | | | | | | | | | | | | | moving synchronous parts of ->destroy_inode() to ->evict_inode() is not possible here - they are balancing the stuff done in ->alloc_inode(), not the things acquired while using it or sanity checks. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * overlayfs: make use of ->free_inode()Al Viro2019-05-021-7/+6
| | | | | | | | | | | | synchronous parts are left in ->destroy_inode() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * jfs: switch to ->free_inode()Al Viro2019-05-022-21/+16
| | | | | | | | | | | | | | synchronous part can be moved to ->evict_inode(), the rest - ->free_inode() fodder Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * fuse: switch to ->free_inode()Al Viro2019-05-021-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | fuse_destroy_inode() is gone - sanity checks that need the stack trace of the caller get moved into ->evict_inode(), the rest joins the RCU-delayed part which becomes ->free_inode(). While we are at it, don't just pass the address of what happens to be the first member of structure to kmem_cache_free() - get_fuse_inode() is there for purpose and it gives the proper container_of() use. No behaviour change, but verifying correctness is easier that way. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ext4: make use of ->free_inode()Al Viro2019-05-021-3/+2
| | | | | | | | | | | | | | | | the rest of this ->destroy_inode() instance could probably be folded into ext4_evict_inode() Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ecryptfs: make use of ->free_inode()Al Viro2019-05-021-3/+2
| | | | | | | | | | | | no idea if crypto destruction could be moved there as well Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ceph: use ->free_inode()Al Viro2019-05-023-4/+3
| | | | | | | | | | | | | | a lot of non-delayed work in this case; all of that is left in ->destroy_inode() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * btrfs: use ->free_inode()Al Viro2019-05-023-5/+4
| | | | | | | | | | | | | | a lot of stuff remains in ->destroy_inode() Acked-by: David Sterba <dsterba@suse.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * afs: switch to use of ->free_inode()Al Viro2019-05-021-5/+4
| | | | | | | | | | | | | | | | | | | | debugging printks left in ->destroy_inode() and so's the update of inode count; we could take the latter to RCU-delayed part (would take only moving the check on module exit past rcu_barrier() there), but debugging output ought to either stay where it is or go into ->evict_inode() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * dax: make use of ->free_inode()Al Viro2019-05-021-5/+2
| | | | | | | | | | | | | | | | | | | | we might want to drop ->destroy_inode() there - it's used only for WARN_ON() now, and AFAICS that could be moved to ->evict_inode() if we had one... Reviewed-by: Jan Kara <jack@suse.cz> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ntfs: switch to ->free_inode()Al Viro2019-05-023-15/+6
| | | | | | | | | | | | | | move the synchronous stuff from ->destroy_inode() to ->evict_inode(), turn the RCU-delayed part into ->free_inode() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * securityfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * apparmor: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * rpcpipe: switch to ->free_inode()Al Viro2019-05-021-9/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * bpf: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | | | | | Acked-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Song Liu <songliubraving@fb.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * mqueue: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ufs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * coda: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * sysv: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * udf: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ubifs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * squashfs: switch to ->free_inode()Al Viro2019-05-021-9/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * romfs: convert to ->free_inode()Al Viro2019-05-021-9/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * reiserfs: convert to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * qnx6: switch to ->free_inode()Al Viro2019-05-021-9/+3
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * qnx4: switch to ->free_inode()Al Viro2019-05-021-9/+3
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * procfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * openpromfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ocfs2: switch to ->free_inode()Al Viro2019-05-021-9/+3
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * dlmfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * nilfs2: switch to ->free_inode()Al Viro2019-05-022-11/+2
| | | | | | | | | | | | kill an extern that went stale 9 years ago, while we are at it... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * nfs{,4}: switch to ->free_inode()Al Viro2019-05-024-11/+5
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * minix: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * jffs2: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * isofs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * hpfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * hostfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * hfsplus: switch to ->free_inode()Al Viro2019-05-021-10/+3
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * hfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * gfs2: switch to ->free_inode()Al Viro2019-05-021-9/+3
| | | | | | | | | | | | | | | | ... and use GFS2_I() to get the containing gfs2_inode by inode; yes, we can feed the address of the first member of structure to kmem_cache_free(), but let's do it in an obviously safe way. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * freevxfs: switch to ->free_inode()Al Viro2019-05-021-9/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * fat: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * f2fs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | | | Acked-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * ext2: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * efs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * debugfs: switch to ->free_inode()Al Viro2019-05-021-8/+2
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| * cifs: switch to ->free_inode()Al Viro2019-05-021-9/+3
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>