Messages in this thread Patch in this message | | | Date | Tue, 9 Mar 2021 08:36:41 +0000 | From | Christoph Hellwig <> | Subject | Re: [PATCH v1 01/14] vfio: Create vfio_fs_type with inode per device |
| |
On Mon, Mar 08, 2021 at 02:47:28PM -0700, Alex Williamson wrote: > By linking all the device fds we provide to userspace to an > address space through a new pseudo fs, we can use tools like > unmap_mapping_range() to zap all vmas associated with a device. > > Suggested-by: Jason Gunthorpe <jgg@nvidia.com> > Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
I'd much prefer to just piggy back on the anon_inode fs rather than duplicating this logic all over. Something like the trivial patch below should be all that is needed:
diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index a280156138ed89..6fe404aab0f0dd 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c @@ -225,6 +225,12 @@ int anon_inode_getfd_secure(const char *name, const struct file_operations *fops } EXPORT_SYMBOL_GPL(anon_inode_getfd_secure); +struct inode *alloc_anon_inode_simple(void) +{ + return alloc_anon_inode(anon_inode_mnt->mnt_sb); +} +EXPORT_SYMBOL_GPL(alloc_anon_inode_simple); + static int __init anon_inode_init(void) { anon_inode_mnt = kern_mount(&anon_inode_fs_type); diff --git a/include/linux/anon_inodes.h b/include/linux/anon_inodes.h index 71881a2b6f7860..6b2fb7d0abc57a 100644 --- a/include/linux/anon_inodes.h +++ b/include/linux/anon_inodes.h @@ -21,6 +21,7 @@ int anon_inode_getfd_secure(const char *name, const struct file_operations *fops, void *priv, int flags, const struct inode *context_inode); +struct inode *alloc_anon_inode_simple(void); #endif /* _LINUX_ANON_INODES_H */
| |