On Mon, 30 Oct 2006, Jun'ichi Nomura wrote: > > The code is related to bd_claim_by_disk which is called when > device-mapper or md tries to mark the underlying devices > for exclusive use and creates symlinks from/to the devices > in sysfs. The patch added error handlings which weren't in > the original code. Actually, looking closer at the code, the patch seems to add _incorrect_ error handling. For example, look at bd_claim_by_kobject(): if the "bd_claim()" inside of it succeeds, we used to always return success. Now, we don't necessarily do that: we may have done a _successful_ "bd_claim()" call, but then we return an error because something else failed, and now we're returning with from bd_claim_by_kobject() with the bd_claim() done, but with an error return (so the caller will _not_ call "bd_release()", and the block_device will forever stay exclusive). No? Now, exactly why acpi stops working as a result, I don't know, but maybe something else tries to get exclusive access to a swap partition, for example, and now fails, causing some acpi sequence to not be set up? Dunno. So I suspect it should be reverted, but maybe somebody can see exactly what goes wrong here. Linus - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html