public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* vfsmount
@ 2008-09-22 16:57 Rohit Sharma
  2008-09-25  6:43 ` vfsmount Manish Katiyar
  0 siblings, 1 reply; 3+ messages in thread
From: Rohit Sharma @ 2008-09-22 16:57 UTC (permalink / raw)
  To: Kernelnewbies; +Cc: ext4

I am interested in getting the vfsmount structure of the mounted file
system from my module.
I used filp = get_empty_filp() (filp is file pointer)
function to create an empty file object (as this contains pointer to
vfsmount structure)
file object has a field f_vfsmnt which points to the vfsmount structure
i am storing this in my own my_vfsmnt structure of type vfsmount.
my_vfsmnt = filp->f_vfsmnt
but i am getting my_vfsmnt as NULL ??

is there any other way of getting the vfsmount structure ??

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: vfsmount
  2008-09-22 16:57 vfsmount Rohit Sharma
@ 2008-09-25  6:43 ` Manish Katiyar
  2008-09-25 11:53   ` vfsmount Srikanth Srinivasan
  0 siblings, 1 reply; 3+ messages in thread
From: Manish Katiyar @ 2008-09-25  6:43 UTC (permalink / raw)
  To: Rohit Sharma; +Cc: Kernelnewbies, ext4

On Mon, Sep 22, 2008 at 10:27 PM, Rohit Sharma <imreckless@gmail.com> wrote:
> I am interested in getting the vfsmount structure of the mounted file
> system from my module.
> I used filp = get_empty_filp() (filp is file pointer)
> function to create an empty file object (as this contains pointer to
> vfsmount structure)
> file object has a field f_vfsmnt which points to the vfsmount structure
> i am storing this in my own my_vfsmnt structure of type vfsmount.
> my_vfsmnt = filp->f_vfsmnt
> but i am getting my_vfsmnt as NULL ??
>
> is there any other way of getting the vfsmount structure ??

Will this help ??

[root@localhost test]# insmod katiyar.ko
err=0, Path = /
[root@localhost test]# cat nngfs.c
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/mount.h>
#include <linux/namei.h>

#define MOD_AUTHOR "Manish Katiyar"
#define MODULE_DESC "A Simple test module "

static int nngfs_fs_init(void){
        int err;
        struct vfsmount *tmp;
        struct nameidata nd;
        err = path_lookup(".",LOOKUP_FOLLOW | LOOKUP_DIRECTORY,&nd);
        tmp = nd.path.mnt;
        printk(KERN_CRIT "err=%d, Path = %s\n",err,tmp->mnt_root->d_name.name);
        return err;
}

static void nngfs_fs_exit(void){
        printk(KERN_INFO "Unregistering \n");
        return ;
}

module_init(nngfs_fs_init);
module_exit(nngfs_fs_exit);

MODULE_AUTHOR(MOD_AUTHOR);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION(MODULE_DESC);


Thanks -
Manish

> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: vfsmount
  2008-09-25  6:43 ` vfsmount Manish Katiyar
@ 2008-09-25 11:53   ` Srikanth Srinivasan
  0 siblings, 0 replies; 3+ messages in thread
From: Srikanth Srinivasan @ 2008-09-25 11:53 UTC (permalink / raw)
  To: mkatiyar, imreckless; +Cc: kernelnewbies, linux-ext4

On Thu, Sep 25, 2008 at 12:13 PM, Manish Katiyar <mkatiyar@gmail.com> wrote:
>
> On Mon, Sep 22, 2008 at 10:27 PM, Rohit Sharma <imreckless@gmail.com> wrote:
> > I am interested in getting the vfsmount structure of the mounted file
> > system from my module.
> > I used filp = get_empty_filp() (filp is file pointer)
> > function to create an empty file object (as this contains pointer to
> > vfsmount structure)
> > file object has a field f_vfsmnt which points to the vfsmount structure
> > i am storing this in my own my_vfsmnt structure of type vfsmount.
> > my_vfsmnt = filp->f_vfsmnt
> > but i am getting my_vfsmnt as NULL ??
> >
> > is there any other way of getting the vfsmount structure ??
>
> Will this help ??
>
> [root@localhost test]# insmod katiyar.ko
> err=0, Path = /
> [root@localhost test]# cat nngfs.c
> #include <linux/module.h>
> #include <linux/fs.h>
> #include <linux/mount.h>
> #include <linux/namei.h>
>
> #define MOD_AUTHOR "Manish Katiyar"
> #define MODULE_DESC "A Simple test module "
>
> static int nngfs_fs_init(void){
>        int err;
>        struct vfsmount *tmp;
>        struct nameidata nd;
>        err = path_lookup(".",LOOKUP_FOLLOW | LOOKUP_DIRECTORY,&nd);
>        tmp = nd.path.mnt;
>        printk(KERN_CRIT "err=%d, Path = %s\n",err,tmp->mnt_root->d_name.name);
>        return err;
> }
>
> static void nngfs_fs_exit(void){
>        printk(KERN_INFO "Unregistering \n");
>        return ;
> }
>
> module_init(nngfs_fs_init);
> module_exit(nngfs_fs_exit);
>
> MODULE_AUTHOR(MOD_AUTHOR);
> MODULE_LICENSE("GPL");
> MODULE_DESCRIPTION(MODULE_DESC);
>
>
> Thanks -
> Manish
>
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >


>From kernel version 2.6.25 on you could directly use the
"current->fs->altroot.mnt" to retrieve the vfsmount structure.


Thanks -
Srikanth

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-25 11:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-22 16:57 vfsmount Rohit Sharma
2008-09-25  6:43 ` vfsmount Manish Katiyar
2008-09-25 11:53   ` vfsmount Srikanth Srinivasan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox