Message ID | 1390179284-4824-1-git-send-email-airlied@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jan 20, 2014 at 10:54:44AM +1000, Dave Airlie wrote: > David Herrmann's changes to use a pseudo filesystem for drm's shared > inodes requires this be exported for drm to build as a module. > > I'd like to merge this via the drm tree, so please ack. Having looked through these patches... The problem is that you'll get your module impossible to unload. Sane solution: static struct vfsmount *drm_mnt; static int count; struct inode *drm_alloc_inode(void) { struct inode *res; int err = simple_pin_fs(&drm_fs, &drm_mnt, &count); if (err) return ERR_PTR(err); res = alloc_anon_inode(drm_mnt->mnt_sb); if (IS_ERR(res)) simple_release_fs(&drm_mnt, &count); return res; } /* call from drm_free_dev() */ void drm_put_anon_inode(struct drm_device *dev) { iput(dev->anon_inode); simple_release_fs(&drm_mnt, &count); } and lose those kern_mount/kern_umount.
diff --git a/fs/dcache.c b/fs/dcache.c index 6055d61..27d66b8 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -3107,6 +3107,7 @@ char *simple_dname(struct dentry *dentry, char *buffer, int buflen) end = ERR_PTR(-ENAMETOOLONG); return end; } +EXPORT_SYMBOL(simple_dname); /* * Write full pathname from the root of the filesystem into the buffer.
David Herrmann's changes to use a pseudo filesystem for drm's shared inodes requires this be exported for drm to build as a module. I'd like to merge this via the drm tree, so please ack. Signed-off-by: Dave Airlie <airlied@redhat.com> --- fs/dcache.c | 1 + 1 file changed, 1 insertion(+)