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-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]