[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Diskfs Questions
From: |
Neal H. Walfield |
Subject: |
Re: Diskfs Questions |
Date: |
28 Jun 2002 14:27:33 +0200 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/21.2 |
> After the usual diskfs initialization chores, our
> create_disk_pager() is doing this:
>
> struct jfs_superblock *jfs_sb;
> struct user_pager_info *upi;
> struct port_bucket *pager_bucket;
> [..]
>
> diskfs_start_disk_pager (upi, pager_bucket, 1, store->size,
> &disk_image);
> jfs_sb = (struct jfs_superblock *) ((char *)disk_image + SUPER1_OFF);
> printf ("jfs_sb->s_magic : %s\n", jfs_sb->s_magic);
>
> With the last printf, translator crashes with this message:
>
> jfs_sb->s_magic ./my_jfs: BUG: unexpected fault on disk image (10,
> 0x10053000) in [0x1004b000,0x305fb600) eip 0x112d2de err 0xa.
>
> settrans: ./my_jfs: Translator died
It appears that you are faulting on memory inside of the mapped disk
image, however, you fail to page in the page (have you implemented the
pager_read call back yet?) and you did not protect yourself by first
calling diskfs_{,end_}catch_exception (which is used when you suspect
that paging from the disk image may fail).