Re: OOps in HFS was: 2.6.0-test4-mm3

Andrew Morton
2003-09-16T21:58:54Z

Mike Fedyk <mfedyk@matchmail.com> wrote:
>
> Just reading a hfs floppy...

It's not an oops - it's a warning.

> Sep 15 10:10:49 mis-mike-wstn kernel: inserting floppy driver for 2.6.0-test4-mm3-1-mdfail
> Sep 15 10:10:49 mis-mike-wstn kernel: Floppy drive(s): fd0 is 1.44M
> Sep 15 10:10:49 mis-mike-wstn kernel: FDC 0 is a post-1991 82077
> Sep 15 10:10:49 mis-mike-wstn kernel: PM: Adding info for platform:floppy0
> Sep 15 10:11:14 mis-mike-wstn kernel: Debug: sleeping function called from invalid context at mm/slab.c:1833
> Sep 15 10:11:14 mis-mike-wstn kernel: Call Trace:
> Sep 15 10:11:14 mis-mike-wstn kernel: [__might_sleep+99/104] __might_sleep+0x63/0x68
> Sep 15 10:11:15 mis-mike-wstn kernel: [kmem_cache_alloc+37/324] kmem_cache_alloc+0x25/0x144
> Sep 15 10:11:15 mis-mike-wstn kernel: [_end+340461616/1068932160] grow_entries+0x24/0xa0 [hfs]
> Sep 15 10:11:15 mis-mike-wstn kernel: [_end+340462938/1068932160] get_new_entry+0x1e/0x460 [hfs]

get_entry() does disk I/O under spin_lock(&entry_lock). Deadlock country.
A simple fix would be to convert entry_lock into a semaphore.

> Sep 15 10:21:11 mis-mike-wstn kernel: hfs_cat_put: trying to free free entry: c261451c
> Sep 15 10:21:11 mis-mike-wstn kernel: hfs_cat_put: trying to free free entry: cc08f104
> Sep 15 10:21:11 mis-mike-wstn kernel: hfs_cat_put: trying to free free entry: c7997ccc
> Sep 15 10:21:11 mis-mike-wstn kernel: hfs_cat_put: trying to free free entry: c6cb9728

Well that's not very good. Can you make an image of that floppy available for download?

Does 2.4's HFS driver work OK?