]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: fix dev_open return value handling
authorDan Williams <dan.j.williams@intel.com>
Tue, 20 Jan 2009 07:29:34 +0000 (00:29 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 20 Jan 2009 07:29:34 +0000 (00:29 -0700)
dev_open returns an fd

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
super-intel.c

index 94f46cac1a021954c34154f8746b3e83489f535e..4eaca9d63047362da75f9c9bb72110fa3dfcdb38 100644 (file)
@@ -1915,7 +1915,7 @@ static int load_super_imsm_all(struct supertype *st, int fd, void **sbp,
        for (sd = sra->devs; sd; sd = sd->next) {
                sprintf(nm, "%d:%d", sd->disk.major, sd->disk.minor);
                dfd = dev_open(nm, keep_fd ? O_RDWR : O_RDONLY);
-               if (!dfd) {
+               if (dfd < 0) {
                        free_imsm(super);
                        return 2;
                }
@@ -1945,7 +1945,7 @@ static int load_super_imsm_all(struct supertype *st, int fd, void **sbp,
        /* load the most up to date anchor */
        sprintf(nm, "%d:%d", best->disk.major, best->disk.minor);
        dfd = dev_open(nm, O_RDONLY);
-       if (!dfd) {
+       if (dfd < 0) {
                free_imsm(super);
                return 1;
        }
@@ -1960,7 +1960,7 @@ static int load_super_imsm_all(struct supertype *st, int fd, void **sbp,
        for (sd = sra->devs ; sd ; sd = sd->next) {
                sprintf(nm, "%d:%d", sd->disk.major, sd->disk.minor);
                dfd = dev_open(nm, keep_fd? O_RDWR : O_RDONLY);
-               if (!dfd) {
+               if (dfd < 0) {
                        free_imsm(super);
                        return 2;
                }