[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DDDEA83.5040306@fusionio.com>
Date: Thu, 26 May 2011 07:52:03 +0200
From: Jens Axboe <jaxboe@...ionio.com>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: Tao Ma <boyu.mt@...bao.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [GIT PULL] Core block bits for 2.6.40
On 2011-05-26 07:35, Eric Dumazet wrote:
> Le mercredi 25 mai 2011 à 15:03 +0200, Jens Axboe a écrit :
>> Hi Linus,
>>
>> A real pull request this time. These are the core bits for the next
>> kernel. Nothing exciting in here in this round, with the churn in
>> the last release, this release will be mellow.
>>
>> - Optimizations for queue flushing on SATA devices, where we
>> can't queue a FLUSH command. This fixes up a performance regression
>> caused by a bug fix to prevent potential live lock on adding
>> FLUSH commands at the head of the queue.
>>
>> - Make stats lockless for blk-cgroup.
>>
>> - Various bug fixes for blk-cgroup.
>>
>> - Various little fixes and improvements to CFQ.
>>
>> - Last round of media event changes.
>>
>> - Fixes for discard topology reporting and sysfs documentation update
>> for the same.
>>
>> - Add support for batched discards. This greatly speeds up discarding
>> an entire device.
>>
>> - Fix for bad return value in the discard ioctl.
>>
>> - Remove request plug state debug checks. Haven't triggered even during
>> the 2.6.39-rc devel cycle, so get rid of them.
>>
>>
>> Please pull!
>>
>>
>> git://git.kernel.dk/linux-2.6-block.git for-2.6.40/core
>>
>
>> Tao Ma (2):
>> block: Remove 'plug/unplug' comment in blk_execute_rq_nowait
>> block: Remove extra discard_alignment from hd_struct.
>
> At boot, I have a crash in part_discard_alignment_show+0x1b/0x50
>
> CR2 : 000006ac
>
> fault in : mov 0x2c(%rcx),%edx
>
> I suspect commit 23ceb5b7719e9276d4 (block: Remove extra
> discard_alignment from hd_struct) being in fault
Hmm, that must be disk->queue == NULL. Do you have a trace of the crash,
with the surrounding boot messages? I wonder what is special about your
setup to trigger something like this.
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 8ed4d34..f82e762 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -256,10 +256,12 @@ ssize_t part_discard_alignment_show(struct device *dev,
{
struct hd_struct *p = dev_to_part(dev);
struct gendisk *disk = dev_to_disk(dev);
+ unsigned int alignment = 0;
- return sprintf(buf, "%u\n",
- queue_limit_discard_alignment(&disk->queue->limits,
- p->start_sect));
+ if (disk->queue)
+ alignment = queue_limit_discard_alignment(&disk->queue->limits,
+ p->start_sect);
+ return sprintf(buf, "%u\n", alignment);
}
ssize_t part_stat_show(struct device *dev,
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists