diff options
author | NeilBrown <neilb@suse.de> | 2012-05-21 09:42:26 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2012-05-21 09:42:26 +1000 |
commit | 3c0cb0d21ecc183e82205e680ef441ee8ebe6291 (patch) | |
tree | 5d1d2a885de942dd3ac04d8e9c0519a699a92423 | |
parent | 2c01e1d859afa61402d3deadd45001ed26be90ce (diff) | |
download | mdadm-3c0cb0d21ecc183e82205e680ef441ee8ebe6291.tar.gz |
Grow: set new_data_offset if appropriate
-rw-r--r-- | mdadm.h | 1 | ||||
-rw-r--r-- | sysfs.c | 5 |
2 files changed, 6 insertions, 0 deletions
@@ -188,6 +188,7 @@ struct mdinfo { int uuid[4]; char name[33]; unsigned long long data_offset; + unsigned long long new_data_offset; unsigned long long component_size; /* same as array.size, except in * sectors and up to 64bits. */ @@ -307,6 +307,11 @@ struct mdinfo *sysfs_read(int fd, int devnum, unsigned long options) if (load_sys(fname, buf)) goto abort; dev->data_offset = strtoull(buf, NULL, 0); + strcpy(dbase, "new_offset"); + if (load_sys(fname, buf) == 0) + dev->new_data_offset = strtoull(buf, NULL, 0); + else + dev->new_data_offset = dev->data_offset; } if (options & GET_SIZE) { strcpy(dbase, "size"); |