xfs
[Top] [All Lists]

Re: [PATCH] xfs_dm_rdwr() needs to pass a vfsmount to dentry_open()

To: Lachlan McIlroy <lachlan@xxxxxxx>
Subject: Re: [PATCH] xfs_dm_rdwr() needs to pass a vfsmount to dentry_open()
From: David Chinner <dgc@xxxxxxx>
Date: Fri, 16 May 2008 13:51:08 +1000
Cc: David Chinner <dgc@xxxxxxx>, xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <482CEE1F.9050105@xxxxxxx>
References: <482CE39F.9050404@xxxxxxx> <20080516015828.GC155679365@xxxxxxx> <482CEE1F.9050105@xxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
On Fri, May 16, 2008 at 12:14:55PM +1000, Lachlan McIlroy wrote:
> David Chinner wrote:
> >On Fri, May 16, 2008 at 11:30:07AM +1000, Lachlan McIlroy wrote:
> >>There's a new check added to dentry_open():
> >>
> >>   if (!mnt) {
> >>       printk(KERN_WARNING "%s called with NULL vfsmount\n", __func__);
> >>       dump_stack();
> >>       return ERR_PTR(-EINVAL);
> >>   }
> >>
> >>We need to pass a mountpoint in the call to dentry_open() in xfs_dm_rdwr()
> >>to avoid this code.
> >>
> >>--- fs/xfs/dmapi/xfs_dm.c_1.72      2008-05-15 13:23:41.000000000 +1000
> >>+++ fs/xfs/dmapi/xfs_dm.c   2008-05-15 17:51:41.000000000 +1000
> >>@@ -52,6 +52,8 @@
> >>#include <dmapi_kern.h>
> >>#include "xfs_dm.h"
> >>
> >>+#include <linux/mount.h>
> >
> >Should be defined in fs/xfs/linux-2.6/xfs_linux.h, right?
> It's not currently in xfs_linux.h.  It's needed for mntget().  I saw that
> xfs_ioctl.c uses mntget() and pulls in linux/mount.h directly so I followed
> suit.  I can add it to xfs_linux.h if you prefer.

Typically we include linux specific headers in code outside fs/xfs/linux-2.6
via an implicit include (xfs.h pulls in linux-2.6/xfs_linux.h) to try and
keep platform specific headers out of the core code. Whether that rule applies
to dmapi is a good question - the dmapi code needs so much cleaning up
anyway I'm not sure it matters.....

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group


<Prev in Thread] Current Thread [Next in Thread>