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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to