Skip to content

BUG Fixes for OSD in mainline (2.6.30)

Boaz Harrosh linux-scsi 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2libosd: BUG: blk_put_request called from within request_end_iodrivers/scsi/osd/osd_initiator.c+24 -180 replies
2/2osd_uld: Remove creation of osd_scsi class symlinkdrivers/scsi/osd/osd_uld.c+0 -60 replies

Reviews trailers per patch

None of the 2 patches has a Reviewed-by or Acked-by.

PatchXu Yang
SeriesT-b
1/2T-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [BUGFIX 0/2] BUG Fixes for OSD in mainline (2.6.30)

A very serious and stupid bug was found by users in current osd code, which caused it not to be usable in it's current form.

It would hard-lock immediately on any asynchronous execution call on an SMP Kernel. Just to show that it was only run on uni-machines until today.

Since found I've setup a test rig with SMP machines banging on each other with multi threaded/devices/mounts and they are still up. (Same setup I used to run with UMLs before)

Thanks to Xu Yang <[email protected]> for reporting this and his devotion to finding a fix.

These are the patches

[PATCH 1/2] libosd: BUGFIX: blk_put_request can't be called from within request_end_io

A fix for a very serious and stupid bug in osd_initiator. It used to call blk_put_request() regardless of if it was from the end_io callback or if called after a sync execution. It should call the unlocked version __blk_put_request() instead.

Also fixed is the remove of _abort_unexecuted_bios hack, and use of blk_end_request(,-ERROR,) to deallocate half baked requests. I've audited the code and it should be safe.

Reported and

[PATCH 2/2] osd_uld: Remove creation of osd_scsi class symlink

Remove the creation of the symlink from the device to it's class. On modern systems this is already created by a udev rule and would WARN on load. On old systems it is not needed, none of the current osd user-mode tools use this link.

Please apply for inclusion in the next round of scsi fixes for 2.6.30

Thank you
Boaz