Thread (16 messages) 16 messages, 7 authors, 2012-03-18

Re: [patch 0/7] Add TRIM support for raid linear/0/1/10

From: Shaohua Li <shli@kernel.org>
Date: 2012-03-14 02:47:42
Also in: lkml

On 3/14/12 10:24 AM, NeilBrown wrote:
 On Mon, 12 Mar 2012 11:04:12 +0800 Shaohua Li [off-list ref] wrote:
quoted
The patches add TRIM support for raid linear/0/1/10. I'll add TRIM 
support for
quoted
raid 4/5/6 later. The implementation is pretty straightforward and
self-explained.

Thanks,
Shaohua
 Thanks.
 They look mostly OK.

 In raid0.c, I think you'll need to change

 /* Sanity check -- queue functions should prevent this happening */
 if (bio->bi_vcnt != 1 ||
 bio->bi_idx != 0)
 goto bad_map;

 to also allow for 'bi_vcnt == 0' like you did in bio_split.

 Also I wonder about handling failure in RAID1.
 I think the code will currently treat it like a write error, and
 maybe record a bad block (then fail the device is writing the badblock
 record fails). Is that what were want?
Mainly to simplify the code. And I thought a normal discard should not fail.
If it fails, something is wrong, marked it as badblock maybe not bad.
 And of course resync/recovery will mess up the discarded sector 
information,
 so this isn't a complete solution for RAID1. But it is a reasonable start.
Yes, this is a mess. Looks impossible without ondisk format change at
first glance.

Thanks,
Shaohua
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help