state_show(mdk_rdev_t *rdev, char *page)
 {
        char *sep = "";
-       int len=0;
+       size_t len = 0;
 
        if (test_bit(Faulty, &rdev->flags)) {
                len+= sprintf(page+len, "%sfaulty",sep);
 static ssize_t
 level_store(mddev_t *mddev, const char *buf, size_t len)
 {
-       int rv = len;
+       ssize_t rv = len;
        if (mddev->pers)
                return -EBUSY;
        if (len == 0)
                return len;
        }
        if (strncmp(buf, "external:", 9) == 0) {
-               int namelen = len-9;
+               size_t namelen = len-9;
                if (namelen >= sizeof(mddev->metadata_type))
                        namelen = sizeof(mddev->metadata_type)-1;
                strncpy(mddev->metadata_type, buf+9, namelen);