When btrfs-image failed to create an image, the invalid output file
had better be deleted to prevent being used mistakenly in the future.
Signed-off-by: Gui Hecheng guihc.f...@cn.fujitsu.com
---
changelog
v1-v2: use a new local variable to avoid return value overwritten
v2-v3: fix patch format problem: tailing whitespace
---
btrfs-image.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/btrfs-image.c b/btrfs-image.c
index 9e5b8b3..1a3e6ca 100644
--- a/btrfs-image.c
+++ b/btrfs-image.c
@@ -2608,8 +2608,18 @@ int main(int argc, char *argv[])
out:
if (out == stdout)
fflush(out);
- else
+ else {
fclose(out);
+ if (ret create) {
+ int unlink_ret;
+
+ unlink_ret = unlink(target);
+ if (unlink_ret)
+ fprintf(stderr,
+ unlink output file failed : %s\n,
+ strerror(errno));
+ }
+ }
return !!ret;
}
--
1.8.1.4
--
To unsubscribe from this list: send the line unsubscribe linux-btrfs in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html