Re: [PATCH 2/4] NFS: replace per-net client lock by mutex

From: Stanislav Kinsbursky
Date: Mon Feb 27 2012 - 10:43:13 EST


27.02.2012 19:00, Myklebust, Trond ÐÐÑÐÑ:
On Mon, 2012-02-27 at 17:49 +0400, Stanislav Kinsbursky wrote:
Lockdep is sad otherwise, because inode mutex is taken on PipeFS dentry
creation, which can be called on mount notification, where this per-net client
lock is taken on clients list walk.

Note: I used simple mutex instead of rw semaphore because of
nfs_put_client->atomic_dec_and_mutex_lock() call. Probably, there is a better
solution here.

Signed-off-by: Stanislav Kinsbursky<skinsbursky@xxxxxxxxxxxxx>


This is overkill... We end up blocking NFSv4 callbacks while the
rpc_pipefs notifier runs through the nfs_clients creating or destroying
idmapper dentries.

Surely the rpc_pipefs_event() can take a reference to the nfs_client and
then drop the spin_lock if it sees that it needs to create or destroy a
dentry?


Sure, thanks for notice.
Looks like this logic also works to SUNRPC clients.
I'll send updated version soon.

--
Best regards,
Stanislav Kinsbursky
--
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/