staging: lustre: obd_mount: use correct niduuid suffix.
authorNeilBrown <neilb@suse.com>
Thu, 1 Mar 2018 23:31:25 +0000 (10:31 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 Mar 2018 12:17:26 +0000 (04:17 -0800)
Commit 4f016420d368 ("Staging: lustre: obdclass: Use kasprintf") moved
some sprintf() calls earlier in the code to combine them with
memory allocation and create kasprintf() calls.

In one case, this code movement moved the sprintf to a location where the
values being formatter were different.
In particular
       sprintf(niduuid, "%s_%x", mgcname, i);
was move from *after* the line
        i = 0;
to a location where the value of 'i' was at least 1.

This cause the wrong name to be formatted, and triggers

       CERROR("del MDC UUID %s failed: rc = %d\n",
              niduuid, rc);

at unmount time.

So use '0' instead of 'i'.

Fixes: 4f016420d368 ("Staging: lustre: obdclass: Use kasprintf")
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/obdclass/obd_mount.c

index acc1ea7..f5e8214 100644 (file)
@@ -243,7 +243,7 @@ int lustre_start_mgc(struct super_block *sb)
        libcfs_nid2str_r(nid, nidstr, sizeof(nidstr));
        mgcname = kasprintf(GFP_NOFS,
                            "%s%s", LUSTRE_MGC_OBDNAME, nidstr);
-       niduuid = kasprintf(GFP_NOFS, "%s_%x", mgcname, i);
+       niduuid = kasprintf(GFP_NOFS, "%s_%x", mgcname, 0);
        if (!mgcname || !niduuid) {
                rc = -ENOMEM;
                goto out_free;