It looks innocent enough - but I have bisected it down to with (bad) and just before (good)...
4c823cc3d568277aa6340d8df6981e34f4c4dee5 is the first bad commit * commit 4c823cc | Author: Ayan George <a...@ayan.net> | Date: Wed Sep 21 10:02:13 2011 +0200 | | drivers/block/loop.c: remove unnecessary bdev argument from loop_clr_fd() | | If the loop device is associated (lo->lo_state == Lo_bound), it will have | a valid bdev pointed to by lo->lo_device. There is no reason to ever pass | an additional block_device pointer. | | Signed-off-by: Ayan George <ayan.geo...@canonical.com> | Cc: Phillip Susi <ps...@cfl.rr.com> | Cc: Jens Axboe <ax...@kernel.dk> | Signed-off-by: Andrew Morton <a...@google.com> | Signed-off-by: Jens Axboe <ax...@kernel.dk> | | M drivers/block/loop.c % git diff 4c823cc3d568277aa6340d8df6981e34f4c4dee5~ 4c823cc3d568277aa6340d8df6981e34f4c4dee5 diff --git a/drivers/block/loop.c b/drivers/block/loop.c index c2ce03c..9b2f5d3 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1051,10 +1051,11 @@ loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer, return err; } -static int loop_clr_fd(struct loop_device *lo, struct block_device *bdev) +static int loop_clr_fd(struct loop_device *lo) { struct file *filp = lo->lo_backing_file; gfp_t gfp = lo->old_gfp_mask; + struct block_device *bdev = lo->lo_device; if (lo->lo_state != Lo_bound) return -ENXIO; @@ -1372,7 +1373,7 @@ static int lo_ioctl(struct block_device *bdev, fmode_t mode, break; case LOOP_CLR_FD: /* loop_clr_fd would have unlocked lo_ctl_mutex on success */ - err = loop_clr_fd(lo, bdev); + err = loop_clr_fd(lo); if (!err) goto out_unlocked; break; @@ -1583,7 +1584,7 @@ static int lo_release(struct gendisk *disk, fmode_t mode) * In autoclear mode, stop the loop thread * and remove configuration after last close. */ - err = loop_clr_fd(lo, lo->lo_device); + err = loop_clr_fd(lo); if (!err) goto out_unlocked; } else { ------ Full git bisection history: git bisect start # good: [4c37b233616542536c75d20355d38d1065842103] fixes so can build under wheezy git bisect good 4c37b233616542536c75d20355d38d1065842103 # bad: [805a6af8dba5dfdd35ec35dc52ec0122400b2610] Linux 3.2 git bisect bad 805a6af8dba5dfdd35ec35dc52ec0122400b2610 # good: [22763c5cf3690a681551162c15d34d935308c8d7] Linux 2.6.32 git bisect good 22763c5cf3690a681551162c15d34d935308c8d7 # good: [8c4877a4128e7931077b024a891a4b284d8756a3] ehea: Use the standard logging functions git bisect good 8c4877a4128e7931077b024a891a4b284d8756a3 # good: [1d0738ea48829cb234fcaba830eef3461985ff44] ARM: mach-shmobile: Use SCIFA and SCIFB port types on sh7377 git bisect good 1d0738ea48829cb234fcaba830eef3461985ff44 # good: [03b7898d300de62078cc130fbc83b84b1d1e0f8d] ARM: perf: move active_events into struct arm_pmu git bisect good 03b7898d300de62078cc130fbc83b84b1d1e0f8d # good: [0e59e7e7feb5a12938fbf9135147eeda3238c6c4] Merge branch 'next-rebase' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci git bisect good 0e59e7e7feb5a12938fbf9135147eeda3238c6c4 # good: [1046a2c428bedd64c960dcfd0c57cc69a82fea2f] Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media git bisect good 1046a2c428bedd64c960dcfd0c57cc69a82fea2f # bad: [5b34b08996decc53a993287282e2cd42b90e02f7] Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc git bisect bad 5b34b08996decc53a993287282e2cd42b90e02f7 # bad: [32aaeffbd4a7457bf2f7448b33b5946ff2a960eb] Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux git bisect bad 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb # bad: [ec773e99ab4abce07b1ae23117179c2861831964] Merge branch 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm git bisect bad ec773e99ab4abce07b1ae23117179c2861831964 # bad: [00411ee9308e4b5f4b04caaa01685f955e259373] watchdog: Convert wm831x driver to watchdog core git bisect bad 00411ee9308e4b5f4b04caaa01685f955e259373 # good: [b4fdcb02f1e39c27058a885905bd0277370ba441] Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-block git bisect good b4fdcb02f1e39c27058a885905bd0277370ba441 # good: [51ddf31da16b1ab9da861eafedad6d263faf4388] ARM: SAMSUNG: Remove Samsung specific enum type for dma direction git bisect good 51ddf31da16b1ab9da861eafedad6d263faf4388 # bad: [b8d8bdfe31a67981bbc398a4886ccc67aff521d5] Merge branch 'stable/for-jens-3.2' of git://oss.oracle.com/git/kwilk/xen into for-3.2/drivers git bisect bad b8d8bdfe31a67981bbc398a4886ccc67aff521d5 # good: [8a9c594422ecad912d6470888acdee9a1236ad68] drivers/block/loop.c: emit uevent on auto release git bisect good 8a9c594422ecad912d6470888acdee9a1236ad68 # good: [d11e6158307bed3f178399a4e6216eec67d16200] xen-blkfront: If no barrier or flush is supported, use invalid operation. git bisect good d11e6158307bed3f178399a4e6216eec67d16200 # good: [64391b2536ca92f9c589b2bfeaca3954896fe057] xen/blkback: Fix the inhibition to map pages when discarding sector ranges. git bisect good 64391b2536ca92f9c589b2bfeaca3954896fe057 # good: [6927d92091df2848fc0e6a693a017d4b2df549c2] xen/blkback: Fix two races in the handling of barrier requests. git bisect good 6927d92091df2848fc0e6a693a017d4b2df549c2 # bad: [4c823cc3d568277aa6340d8df6981e34f4c4dee5] drivers/block/loop.c: remove unnecessary bdev argument from loop_clr_fd() git bisect bad 4c823cc3d568277aa6340d8df6981e34f4c4dee5 ------------------------- Summary of git revisions around the change: -------------------------- This rev is last one marked as bad : b8d8bdf * commit b8d8bdf <- ***** Marked as bad *** |\ Merge: 4c823cc 6927d92 | | Author: Jens Axboe <ax...@kernel.dk> | | Date: Thu Oct 20 15:10:59 2011 +0200 | | | | Merge branch 'stable/for-jens-3.2' of git://oss.oracle.com/git/kwilk/xen into for-3.2/drivers | | | X <- Ignore this 6927d92 branch - it's ok . . <this change causes the fault... - from here onwards the scsi errors.... * | commit 4c823cc | | Author: Ayan George <a...@ayan.net> | | Date: Wed Sep 21 10:02:13 2011 +0200 | | | | drivers/block/loop.c: remove unnecessary bdev argument from loop_clr_fd() | | | | If the loop device is associated (lo->lo_state == Lo_bound), it will have | | a valid bdev pointed to by lo->lo_device. There is no reason to ever pass | | an additional block_device pointer. | | | | Signed-off-by: Ayan George <ayan.geo...@canonical.com> | | Cc: Phillip Susi <ps...@cfl.rr.com> | | Cc: Jens Axboe <ax...@kernel.dk> | | Signed-off-by: Andrew Morton <a...@google.com> | | Signed-off-by: Jens Axboe <ax...@kernel.dk> | | | | M drivers/block/loop.c | | * | commit 8a9c594 <- ***** marked as good **** | | Author: Phillip Susi <ps...@cfl.rr.com> | | Date: Wed Sep 21 10:02:13 2011 +0200 | | | | drivers/block/loop.c: emit uevent on auto release | | | | The loopback driver failed to emit the change uevent when auto releasing | | the device. Fixed lo_release() to pass the bdev to loop_clr_fd() so it | | can emit the event. | | | | Signed-off-by: Phillip Susi <ps...@cfl.rr.com> | | Cc: Jens Axboe <ax...@kernel.dk> | | Cc: Ayan George <a...@ayan.net> | | Signed-off-by: Andrew Morton <a...@google.com> | | Signed-off-by: Jens Axboe <ax...@kernel.dk> | | | | M drivers/block/loop.c | | -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CA+Y=x3nONRfz1vzs=mmtmtqrz1tesward+wpzfnnj4puz_b...@mail.gmail.com