new file system (my experiments)
Chagin Dmitry
dchagin at freebsd.org
Tue Aug 12 18:44:03 UTC 2008
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...
--
Have fun!
chd
More information about the freebsd-fs
mailing list