Messages in this thread | | | Subject | Re: [2.6.26] kobject_add_internal failed for 2:0 with -EEXIST / unable to handle kernel NULL pointer dereference in sysfs_create_link | From | Peter Zijlstra <> | Date | Fri, 31 Oct 2008 10:28:55 +0100 |
| |
On Fri, 2008-10-31 at 00:23 +0100, Kay Sievers wrote:
> Peter, it looks like bdi does not work for devices which share a single queue. > If I add: > --- a/mm/backing-dev.c > +++ b/mm/backing-dev.c > @@ -184,6 +184,8 @@ int bdi_register(struct backing_dev_info *bdi, > struct device *parent, > goto exit; > } > > + printk("XXXXXXX old bdidev is %p\n", bdi->dev); > + printk("XXXXXXX new bdidev is %p\n", dev); > bdi->dev = dev; > bdi_debug_register(bdi, dev_name(dev)); > > I get: > $ modprobe floppy > Floppy drive(s): fd0 is 1.44M, fd1 is 1.44M > FDC 0 is a S82078B > XXXXXXX old bdidev is 0000000000000000 > XXXXXXX new bdidev is ffff88001f20cd10 > XXXXXXX old bdidev is ffff88001f20cd10 > XXXXXXX new bdidev is ffff88001f20de30 > > which very much looks like bdi will not remove any earlier registered > device, only the last one, right?
Sharing a bdi is odd to begin with, let me poke at this a little.
| |