dm snapshot: persistent use define for disk header chunk size
authorTomohiro Kusumi <kusumi.tomohiro@jp.fujitsu.com>
Thu, 12 Aug 2010 03:13:59 +0000 (04:13 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Thu, 12 Aug 2010 03:13:59 +0000 (04:13 +0100)
This patch fixes hard-coded value for the size of a chunk that includes
disk header for persistent snapshot. It should be changed to existing
macro NUM_SNAPSHOT_HDR_CHUNKS instead of using hard-coded value 1.

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@jp.fujitsu.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-snap-persistent.c

index c097d8a..cc2bdb8 100644 (file)
@@ -266,7 +266,7 @@ static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, int rw,
  */
 static chunk_t area_location(struct pstore *ps, chunk_t area)
 {
-       return 1 + ((ps->exceptions_per_area + 1) * area);
+       return NUM_SNAPSHOT_HDR_CHUNKS + ((ps->exceptions_per_area + 1) * area);
 }
 
 /*
@@ -780,8 +780,8 @@ static int persistent_commit_merge(struct dm_exception_store *store,
         * ps->current_area does not get reduced by prepare_merge() until
         * after commit_merge() has removed the nr_merged previous exceptions.
         */
-       ps->next_free = (area_location(ps, ps->current_area) - 1) +
-                       (ps->current_committed + 1) + NUM_SNAPSHOT_HDR_CHUNKS;
+       ps->next_free = area_location(ps, ps->current_area) +
+                       ps->current_committed + 1;
 
        return 0;
 }