]> err.no Git - linux-2.6/commit
[PATCH] dm snapshot: unify chunk_size
authorAlasdair G Kergon <agk@redhat.com>
Mon, 26 Jun 2006 07:27:18 +0000 (00:27 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 26 Jun 2006 16:58:34 +0000 (09:58 -0700)
commitc51c2752491e5e771de6c8861a85ba46752d7888
tree9371dab2a38e1a17bf91d9bc143b47b1c58c5fb7
parentb877a96409a3a99f2ce27b3c6473c9b28298ac7c
[PATCH] dm snapshot: unify chunk_size

Persistent snapshots currently store a private copy of the chunk size.
Userspace also supplies the chunk size when loading a snapshot.  Ensure
consistency by only storing the chunk_size in one place instead of two.

Currently the two sizes will differ if the chunk size supplied by userspace
does not match the chunk size an existing snapshot actually uses.  Amongst
other problems, this causes an incorrect 'percentage full' to be reported.

The patch ensures consistency by only storing the chunk_size in one place,
removing it from struct pstore.  Some initialisation is delayed until the
correct chunk_size is known.  If read_header() discovers that the wrong chunk
size was supplied, the 'area' buffer (which the header already got read into)
is reinitialised to the correct size.

[akpm: too late for 2.6.17 - suitable for 2.6.17.x after it has settled]

Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/dm-exception-store.c
drivers/md/dm-snap.c