Andrew Price <anpr...@redhat.com> wrote:

> +                     pr_warn("-o debug and -o errors=panic are mutually 
> exclusive\n");
> +                     return -EINVAL;

return invalf(fc, "gfs2: -o debug and -o errors=panic are mutually exclusive"); 

(Note: no "\n")

> +             if (result.int_32 > 0)
> +                     args->ar_quota = opt_quota_values[result.int_32];
> +             else if (result.negated)
> +                     args->ar_quota = GFS2_QUOTA_OFF;
> +             else
> +                     args->ar_quota = GFS2_QUOTA_ON;

I recommend checking result.negated first.

> +     /* Not allowed to change locking details */
> +     if (strcmp(newargs->ar_lockproto, oldargs->ar_lockproto) ||
> +         strcmp(newargs->ar_locktable, oldargs->ar_locktable) ||
> +         strcmp(newargs->ar_hostdata, oldargs->ar_hostdata))
> +             return -EINVAL;

Use errorf().  (Not invalf - the parameter isn't exactly invalid, it's just
that you're not allowed to do this operation).

> +                     error = gfs2_make_fs_ro(sdp);
> +             else
> +                     error = gfs2_make_fs_rw(sdp);
> +             if (error)
> +                     return error;

Might want to call errorf() here too.

> -     s = sget(&gfs2_fs_type, test_gfs2_super, set_meta_super, flags,
> +     s = sget(&gfs2_fs_type, test_meta_super, set_meta_super, flags,

Try and use sget_fc() please.  If you look at the fuse patchset I cc'd you on,
there's a commit there that adds a ->bdev and ->bdev_mode to fs_context that
may be of use to you.

Can you use vfs_get_block_super()?  Would it be of use to export
test_bdev_super_fc() and set_bdev_super_fc()?

David

Reply via email to