]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
fix: IncrementalRemove leaves open handle
authorPrzemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
Tue, 6 Jul 2010 06:47:02 +0000 (16:47 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 6 Jul 2010 06:47:02 +0000 (16:47 +1000)
Signed-off-by: Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com<mailto:przemyslaw.hawrylewicz.czarnowski@intel.com>>
Incremental.c

index 96bfcec7fc586f38a1cec96c746cb188981b0bc7..eb27784376c272c2b5f072b1a66a861871206d38 100644 (file)
@@ -883,6 +883,7 @@ int Incremental_container(struct supertype *st, char *devname, int verbose,
 int IncrementalRemove(char *devname, int verbose)
 {
        int mdfd;
+       int rv;
        struct mdstat_ent *ent;
        struct mddev_dev_s devlist;
 
@@ -907,5 +908,7 @@ int IncrementalRemove(char *devname, int verbose)
        devlist.disposition = 'f';
        Manage_subdevs(ent->dev, mdfd, &devlist, verbose, 0);
        devlist.disposition = 'r';
-       return Manage_subdevs(ent->dev, mdfd, &devlist, verbose, 0);
+       rv = Manage_subdevs(ent->dev, mdfd, &devlist, verbose, 0);
+       close(mdfd);
+       return rv;
 }