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

[dm-devel] Re: clustered snapshots

On Tue, Sep 29 2009 at  5:39pm -0400,
Mikulas Patocka <mpatocka redhat com> wrote:

> Hi
> I uploaded a new version there. It has selective re-read and it has 
> optimized locking --- it does no remote communication if the chunk already 
> exists, so it should be as efficient as Jon's approach.
> Jon, please look at it and review the patches, if you find out that this 
> approach can't work at all, we can drop it and go with your approach. If 
> it is OK, we can consider adopting it, it looks simpler than making 
> clustered-exception-store.
> Mikulas
> On Mon, 28 Sep 2009, Mikulas Patocka wrote:
> > Hi
> > 
> > I uploaded my test clustered snapshots to 
> > http://people.redhat.com/mpatocka/patches/kernel/clustered-snapshots-preview/

I have updated the following quilt tree and folded Mikulas' clustered
snapshots patches into the end:

Changes include:
. check for {prepare,commit}_merge not {prepare,commit}_exception in
  snapshot_merge_process (dm-snapshot-merge-process.patch)
. removed kernel/dm-exception-store-return-zero-when-empty.patch
  - adjusted dm-exception-store-merge-accounting.patch to preserve
    established kernel<->userspace interface
  - adjusted a few other patches
. removed kernel/dm-snapshot-dont-insert-before-existing-chunk.patch
. moved proper cleanup of memory exceptions in merge_callback() from
  dm-snapshot-merge-use-larger-io-when-merging.patch to
  - this merge_callback() code walks exceptions in reverse but has not
    been tested on a larger merge to know whether the 'back-merge' of
    exceptions is properly being accounted for when cleaning up the
    in-core snapshot exceptions.
    - I think the fact that the exception cleanup is 2 stage (first
      disk, then all in memory exceptions in reverse) may make
      back-merge "just work"...
. added agk's pending patches to the front of the series
  - this works on 2.6.31
  - I haven't rebased to 2.6.32-rc1 yet

I have done some light snapshot-merge testing to verify that this
updated snapshot-merge quilt tree builds and works as expected.  I'll be
testing more extensively shortly (particularly back-merge).

I have also updated the LVM2 snapshot-merge patches to work on 2.02.54-cvs:

One thing to note is dm-snapshot now depends on dm_cluster_locking; when I
tried to insmod dm-snapshot.ko I got:
dm_snapshot: Unknown symbol dm_cluster_lock_exit
dm_snapshot: Unknown symbol dm_cluster_lock_by_str
dm_snapshot: Unknown symbol dm_cluster_lock_init

I'm also seeing:
DLM (built Sep 11 2009 23:48:05) installed
dlm: no local IP address has been set
dlm: cannot start dlm lowcomms -107
device-mapper: dm-cluster-locking: Failed to create lockspace: dm-snap

Am I just missing the relevant LVM2 bits to push down proper args to the
snapshot_ctr()?  Seems to me that we could do better about defaulting to
_not_ triggering DLM/clustered calls...

Also, I have no idea if I somehow messed up the clustered-locking
patches when I refreshed them to work with my quilt tree.  I had a quick
review of the patch changes I made and the only one that needs a closer
look was dm-snapshot-clustered-locking-optimize.patch.

Mikulas please review/rebase your tree using my updated quilt tree and
let me know if you see any issues.  Maybe you have newer patches at this


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