panic while mkdir(2) in msdosfs (deget())
Jeremie Le Hen
jeremie at le-hen.org
Wed Jun 15 12:37:26 GMT 2005
Hi Doug,
> > %%%
> > #22 0xc055f075 in panic (fmt=0xc0729ff0 "wrong dirclust")
> > at ../../../kern/kern_shutdown.c:537
> > #23 0xc050e207 in deget (pmp=0xc2914900, dirclust=366469, diroffset=0,
> > depp=0xe50ecae8) at ../../../fs/msdosfs/msdosfs_denode.c:142
>
> This is in a KASSERT so you must have INVARIANTS compiled in. What is the
> value of dirclust and (*depp)->de_dirclust in this frame?
Yes indeed, I have INVARIANTS compiled in.
%%%
(kgdb) up 23
#23 0xc050e207 in deget (pmp=0xc2914900, dirclust=366469, diroffset=0,
depp=0xe50ecae8) at ../../../fs/msdosfs/msdosfs_denode.c:142
142 KASSERT((*depp)->de_dirclust == dirclust, ("wrong dirclust"));
(kgdb) print (*depp)->de_dirclust
$1 = 1152901
(kgdb) print dirclust
$2 = 366469
%%%
And I case you need more informations :
%%%
(kgdb) up
#24 0xc05122c1 in createde (dep=0xe50ecafc, ddep=0xc2b30400, depp=0xe50ecae8,
cnp=0xe50ecc18) at ../../../fs/msdosfs/msdosfs_lookup.c:673
673 return deget(pmp, dirclust, diroffset, depp);
(kgdb) print *dep
$1 = {de_vnode = 0x0, de_flag = 32, de_dev = 0x0, de_dirclust = 0,
de_diroffset = 0, de_fndoffset = 0, de_fndcnt = 0, de_refcnt = 0,
de_pmp = 0xc2914900, de_Name = "ZWAN ", de_Attributes = 16 '\020',
de_LowerCase = 0 '\0', de_CHun = 109 'm', de_CTime = 26196,
de_CDate = 13002, de_ADate = 13002, de_MTime = 26196, de_MDate = 13002,
de_StartCluster = 366469, de_FileSize = 0, de_fc = {{fc_frcn = 0,
fc_fsrcn = 0}, {fc_frcn = 0, fc_fsrcn = 0}}, de_modrev = 0,
de_lockf = 0x0, de_inode = 0}
(kgdb) print *ddep
$2 = {de_vnode = 0xc2b40110, de_flag = 0, de_dev = 0x0, de_dirclust = 1330114,
de_diroffset = 0, de_fndoffset = 864, de_fndcnt = 0, de_refcnt = 1,
de_pmp = 0xc2914900, de_Name = ". ", de_Attributes = 16 '\020',
de_LowerCase = 0 '\0', de_CHun = 35 '#', de_CTime = 26090, de_CDate = 13002,
de_ADate = 13002, de_MTime = 26090, de_MDate = 13002,
de_StartCluster = 1330114, de_FileSize = 32768, de_fc = {{fc_frcn = 0,
fc_fsrcn = 1330114}, {fc_frcn = 0, fc_fsrcn = 1330114}},
de_modrev = 6639049896983, de_lockf = 0x0, de_inode = 635502592}
(kgdb) print *cnp
$2 = {cn_nameiop = 1, cn_flags = 50908168, cn_thread = 0xc2575190,
cn_cred = 0xc2bdc200, cn_lkflags = 2,
cn_pnbuf = 0xc2589000 "/mnt/mp3/rock/zwan", cn_nameptr = 0xc258900e "zwan",
cn_namelen = 4, cn_consume = 0}
%%%
Thank you.
Regards,
--
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
More information about the freebsd-current
mailing list