Signed-off-by: Sage Weil <sage@newdream.net>
goto done;
}
- pos += block_size;
-
if (bl.length()) {
+ ret = lseek64(fd, pos, SEEK_SET);
+ if (ret < 0) {
+ ret = -errno;
+ cerr << "could not seek to pos " << pos << std::endl;
+ goto done;
+ }
ret = write(fd, bl.c_str(), bl.length());
if (ret < 0)
goto done;
-
- if (bl.length() < block_size) {
- ret = lseek64(fd, pos, SEEK_SET);
- if (ret < 0) {
- ret = -errno;
- cerr << "could not seek to pos " << pos << std::endl;
- goto done;
- }
- }
}
+
+ pos += block_size;
}
r = ftruncate(fd, header.image_size);
if (r < 0)