Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 2008 00:50:43 +0400
From:      Chagin Dmitry <dchagin@freebsd.org>
To:        freebsd-fs@freebsd.org
Subject:   Re: new file system (my experiments)
Message-ID:  <20080812205043.GA9233@dchagin.dialup.corbina.ru>
In-Reply-To: <48A1DB63.3050804@FreeBSD.org>
References:  <20080812182028.GA7047@dchagin.dialup.corbina.ru> <48A1DB63.3050804@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 12, 2008 at 08:50:11PM +0200, Kris Kennaway wrote:
> Chagin Dmitry wrote:
> >Hi
> >
> >I experiment resalization of new file system based on tmpfs - shmfs for
> >Linux emulation layer. for the beginning has simply copied current source
> >codes to compat/lintmps, has compiled a module and tried to mount:
> >
> >mount -t lintmpfs lintmpfs /compat/linux/dev/shm
> >and has received a panic:
> >
> >#11 0xffffffff803b6ade in calltrap ()
> >    at /usr/local/root/pub/linux_shmfs/sys/amd64/amd64/exception.S:217
> >---Type <return> to continue, or q <return> to quit---
> >#12 0xffffffff802a794b in vfs_filteropt (opts=0x0, 
> >legal=0xffffffff808497e0)
> >    at /usr/local/root/pub/linux_shmfs/sys/kern/vfs_mount.c:1812
> >#13 0xffffffff80847015 in tmpfs_mount (mp=0xffffff0001a3a000,
> >    td=0xffffff004dcb56c0)
> >    at 
> >    /usr/local/root/pub/linux_shmfs/sys/modules/lintmpfs/../../compat/lintmpf
> >    s/lintmpfs_vfsops.c:206
> >#14 0xffffffff802a947f in vfs_donmount (td=0xffffff004dcb56c0, fsflags=0,
> >    fsoptions=0xffffff000190e800)
> >    at /usr/local/root/pub/linux_shmfs/sys/kern/vfs_mount.c:1010
> >#15 0xffffffff802aaa46 in nmount (td=0xffffff004dcb56c0,
> >    uap=0xfffffffe7e7fcbf0)
> >    at /usr/local/root/pub/linux_shmfs/sys/kern/vfs_mount.c:417
> >#16 0xffffffff803d4e47 in syscall (frame=0xfffffffe7e7fcc80)
> >    at /usr/local/root/pub/linux_shmfs/sys/amd64/amd64/trap.c:902
> >#17 0xffffffff803b6ceb in Xfast_syscall ()
> >
> >(kgdb) f 12
> >#12 0xffffffff802a794b in vfs_filteropt (opts=0x0, 
> >legal=0xffffffff808497e0)
> >    at /usr/local/root/pub/linux_shmfs/sys/kern/vfs_mount.c:1812
> >1812    {
> >(kgdb) list *0xffffffff802a794b
> >0xffffffff802a794b is in vfs_filteropt 
> >(/usr/local/root/pub/linux_shmfs/sys/kern
> >/vfs_mount.c:1818).
> >1813            struct vfsopt *opt;
> >1814            char errmsg[255];
> >1815            const char **t, *p, *q;
> >1816            int ret = 0;
> >1817
> >1818            TAILQ_FOREACH(opt, opts, link) {
> >1819                    p = opt->name;
> >1820                    q = NULL;
> >1821                    if (p[0] == 'n' && p[1] == 'o')
> >1822                            q = p + 2;
> >(kgdb)
> >(kgdb) up
> >#13 0xffffffff80847015 in tmpfs_mount (mp=0xffffff0001a3a000,
> >    td=0xffffff004dcb56c0)
> >    at 
> >    /usr/local/root/pub/linux_shmfs/sys/modules/lintmpfs/../../compat/lintmpf
> >s/lintmpfs_vfsops.c:206
> >206             if (vfs_filteropt(mp->mnt_optnew, lintmpfs_opts))
> >(kgdb)
> >
> >Problem in that mp->mnt_optnew is 0, but tmpfs works correctly.
> >I shall not understand that I have missied...
> >
> 
> If you have DEBUG_LOCKS and/or DEBUG_VFS_LOCKS then one of them changes 
> the kernel ABI (adds entries to structs somewhere).  You need to either 
> add them to the module CFLAGS or use make buildkernel.
> 

yes, it has helped. thnx!

-- 
Have fun!
chd



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080812205043.GA9233>