Re: [lustre mess] is mgc_fs_setup() reachable at all?

From: Al Viro
Date: Fri Jul 19 2013 - 04:13:26 EST


On Thu, Jul 18, 2013 at 02:57:11PM -0600, Andreas Dilger wrote:

> > _THAT_ was going to be a remotely supplied data? I really hope I've
> > misparsed what you said above...
> >
> > And that still leaves the question about the code path that could
> > lead to execution of mgc_fs_setup().
>
> The KEY_SET_FS is only used in the server code, not on the client.
> The MGC code is shared between client and server to mount the
> filesystem and fetch the cluster configuration from the management
> server. In the case of a server mount, it also has to mount the
> underlying block device, which isn't true on the client, so this
> code is indeed unused.

Wait a minute... So we have client side of things in staging, with
parts shared with the server, which is *not* in tree at all? That
sounds painful - any changes done to the client code either risk
to break the server, or have the copies of the shared stuff diverge...

I honestly have no idea about your plans wrt merging; are you going
to put the server side of things there as well?

Another thing: is your ll_statfs_internal() safe to call right up to
the moment when client_common_put_super calls lprocfs_unregister_mountpoint?
Because procfs IO *can* come right until the procfs entry removal;
said removal will act as a barrier, so it won't leak past the return from
remove_proc_entry(), but that's it.

While we are at procfs side of thing, looks like you need exclusion between
ll_..._seq_write() that clear/set bits in ->ll_flags; at least I haven't
found anything that would prevent the races among those.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/