On Thursday 17 July 2014 at 01:35:20, Edward Shishkin wrote: > On 07/16/2014 01:24 PM, Ivan Shapovalov wrote: > > This needs your version of discard algorithm, because blocks inside extents of > > discard set are now marked as allocated. > > > OK, I'll try to finish it in weekends.. > > > > BTW, have you dropped the case with erase unit size < block size? > > > In my version all erase units are supported except ones which are > not a power of 2. We can support all erase units without exceptions, > if needed. I mean, when erase unit size < block size, erase unit size is forced to be exactly one block. Again, this is OK, but in this case any alignment (by definition less than one block then) will be dropped and represented as zero, and _this_ deserves a warning :) // btw, as you probably guess, these two patches are completely untested. Thanks, -- Ivan Shapovalov / intelfx / > > > > This is > > probably OK, but configurations with nonzero alignments are then broken. > > > I support alignments with (bdev_discard_alignment % sb->s_blocksize == 0) > We can support all alignments without exceptions, but it will lead to > complications > in discard_sorted_extents(). > > > > Not > > worth handling these, I think, but nevertheless a warning could be useful ;) > > Agreed. It is important. > > Thanks! > Edward. > > > > > > Ivan Shapovalov (2): > > reiser4: discard support: perform discards and deallocations after writing logs. > > reiser4: discard support: proof-of-concept for "discard before dealloc". > > > > fs/reiser4/block_alloc.c | 48 +++++++++++++++++++------------------- > > fs/reiser4/discard.c | 60 ++++++++++++++++++++++++++++++++++-------------- > > fs/reiser4/discard.h | 4 +++- > > fs/reiser4/txnmgr.c | 35 ---------------------------- > > fs/reiser4/txnmgr.h | 13 ++--------- > > fs/reiser4/wander.c | 3 ++- > > 6 files changed, 73 insertions(+), 90 deletions(-) > > >
Attachment:
signature.asc
Description: This is a digitally signed message part.