Re: [PATCH 0/6] reiser4: discard support: "precise discard" aka padding of extents to erase unit boundaries.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/12/2014 10:10 PM, Ivan Shapovalov wrote:
So, this patchset uses your algorithm of padding/gluing extents to be discarded.
I've added exact allocation primitives (is it what you've been talking about?


So, we found out that the old bitmap primitives don't allow us to implement
precise discard, and I asked for new ones. Also we wanted to implement the
general case, when precise discard works for any pair (offset, unit). Currently
it works only for ones determined by the function convert_lattice_params().
For some reasons (that I don't remember) I was sure, that the general case
should be obtained from this partial case by a small transformation of the
function discard_sorted_merged_extents().

Well, I'll try to dive into details and generalize things on the holidays.
If generalization is impossible, then we'll switch to non-precise discard every
time when convert_lattice_params() fails.

Thanks!
Edward.


),
made the discard procedure allocate blocks of all paddings it performs and
fixed an apparent bug in extent gluing which triggered the "edward-1635"
assertion.

Edward Shishkin (1):
   reiser4: iterate over extents in discard_atom

Ivan Shapovalov (5):
   reiser4: block_alloc: split block allocation accounting logic into separate functions for re-use.
   reiser4: block_alloc, plugin/space/bitmap: add a method for "exact" block allocation.
   reiser4: discard: don't be overly smart when gluing extents in discard_sorted_merged_extents().
   reiser4: blocknrlist: add operations blocknr_list_del() and blocknr_list_update_extent().
   reiser4: discard: allocate extent paddings.

  fs/reiser4/block_alloc.c                  | 175 +++++++++----
  fs/reiser4/block_alloc.h                  |   3 +
  fs/reiser4/blocknrlist.c                  |  38 +++
  fs/reiser4/discard.c                      | 410 +++++++++++++++++++++++++++---
  fs/reiser4/discard.h                      |   8 +-
  fs/reiser4/forward.h                      |   1 +
  fs/reiser4/init_super.c                   |   4 +
  fs/reiser4/plugin/space/bitmap.c          |  94 +++++--
  fs/reiser4/plugin/space/bitmap.h          |   3 +
  fs/reiser4/plugin/space/space_allocator.h |  10 +-
  fs/reiser4/super.h                        |   4 +
  fs/reiser4/txnmgr.h                       |   6 +
  12 files changed, 647 insertions(+), 109 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux File System Development]     [Linux BTRFS]     [Linux NFS]     [Linux Filesystems]     [Ext4 Filesystem]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Resources]

  Powered by Linux