Increment mirror log disk version - it's now always little endian on disk, so stop if we see a big endian version. Index: linux-2.6.14/drivers/md/dm-log.c =================================================================== --- linux-2.6.14.orig/drivers/md/dm-log.c 2005-11-17 22:18:18.000000000 +0000 +++ linux-2.6.14/drivers/md/dm-log.c 2005-11-18 21:34:43.000000000 +0000 @@ -112,7 +112,7 @@ void dm_destroy_dirty_log(struct dirty_l /* * The on-disk version of the metadata. */ -#define MIRROR_DISK_VERSION 1 +#define MIRROR_DISK_VERSION 2 #define LOG_OFFSET 2 struct log_header { @@ -218,6 +218,12 @@ static int read_header(struct log_c *log log->header.nr_regions = 0; } + /* Version 2 is like version 1 but always little endian on disk. */ +#ifdef __LITTLE_ENDIAN + if (log->header.version == 1) + log->header.version = 2; +#endif + if (log->header.version != MIRROR_DISK_VERSION) { DMWARN("incompatible disk log version"); return -EINVAL;