char *options, *o, *v;
        int error = 0;
 
-       if (!remount) {
-               /*  If someone preloaded options, use those instead  */
-               spin_lock(&gfs2_sys_margs_lock);
-               if (gfs2_sys_margs) {
-                       data = gfs2_sys_margs;
-                       gfs2_sys_margs = NULL;
-               }
-               spin_unlock(&gfs2_sys_margs_lock);
-
-               /*  Set some defaults  */
-               args->ar_num_glockd = GFS2_GLOCKD_DEFAULT;
-               args->ar_quota = GFS2_QUOTA_DEFAULT;
-               args->ar_data = GFS2_DATA_DEFAULT;
+       /*  If someone preloaded options, use those instead  */
+       spin_lock(&gfs2_sys_margs_lock);
+       if (!remount && gfs2_sys_margs) {
+               data = gfs2_sys_margs;
+               gfs2_sys_margs = NULL;
        }
+       spin_unlock(&gfs2_sys_margs_lock);
+
+       /*  Set some defaults  */
+       memset(args, 0, sizeof(struct gfs2_args));
+       args->ar_num_glockd = GFS2_GLOCKD_DEFAULT;
+       args->ar_quota = GFS2_QUOTA_DEFAULT;
+       args->ar_data = GFS2_DATA_DEFAULT;
 
        /* Split the options into tokens with the "," character and
           process them */