summaryrefslogtreecommitdiffstats
path: root/super0.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-05-29 02:06:32 +0000
committerNeil Brown <neilb@suse.de>2006-05-29 02:06:32 +0000
commit9fca7d6236e9775d0269b9802f740c08db46f4d7 (patch)
treeaef0c99d844a3eacf037294e6722079c01c44ae9 /super0.c
parent280a927d3d8da258a70df13df4f780d823fc1da2 (diff)
downloadmdadm-9fca7d6236e9775d0269b9802f740c08db46f4d7.tar.gz
mdadm-9fca7d6236e9775d0269b9802f740c08db46f4d7.tar.xz
mdadm-9fca7d6236e9775d0269b9802f740c08db46f4d7.zip
check return status of all write/fwrite functions as required by glibc 2.4
From: Luca Berra <bluca@vodka.it> glibc 2.4 is pedantic on ignoring return values from fprintf, fwrite and write, so now we check the rval and actually do something with it. in the Grow.c case i only print a warning, since i don't think we can do anything in case we fail invalidating those superblocks (is should never happen, but then...) Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'super0.c')
-rw-r--r--super0.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/super0.c b/super0.c
index 4d02300..f14f076 100644
--- a/super0.c
+++ b/super0.c
@@ -625,7 +625,8 @@ static int store_super0(struct supertype *st, int fd, void *sbv)
if (super->state & (1<<MD_SB_BITMAP_PRESENT)) {
struct bitmap_super_s * bm = (struct bitmap_super_s*)(super+1);
if (__le32_to_cpu(bm->magic) == BITMAP_MAGIC)
- write(fd, bm, sizeof(*bm));
+ if (write(fd, bm, sizeof(*bm)) != sizeof(*bm))
+ return 5;
}
fsync(fd);