Re: lockdep: bdev->bd_mutex deadlock

From: Arjan van de Ven
Date: Fri Jul 07 2006 - 03:33:09 EST



> <4> [<c0463f46>] __blkdev_put+0x22/0x123
> <4> [<c0464060>] blkdev_put+0xa/0xc
> <4> [<c04644e2>] do_open+0x313/0x385
> <4> [<c0464759>] blkdev_open+0x1f/0x48

ok this is a missing annotation in the error path

the patch below should fix this, can you verify this?



---
fs/block_dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.18-rc1/fs/block_dev.c
===================================================================
--- linux-2.6.18-rc1.orig/fs/block_dev.c
+++ linux-2.6.18-rc1/fs/block_dev.c
@@ -980,7 +980,7 @@ out_first:
bdev->bd_disk = NULL;
bdev->bd_inode->i_data.backing_dev_info = &default_backing_dev_info;
if (bdev != bdev->bd_contains)
- blkdev_put(bdev->bd_contains);
+ blkdev_put_partition(bdev->bd_contains);
bdev->bd_contains = NULL;
put_disk(disk);
module_put(owner);


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/