Skip to content

Commit

Permalink
NFS: add a sysfs link to the lockd rpc_client
Browse files Browse the repository at this point in the history
After lockd is started, add a symlink for lockd's rpc_client under
NFS' superblock sysfs.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
  • Loading branch information
Benjamin Coddington authored and Trond Myklebust committed Jun 19, 2023
1 parent e13b549 commit d97c058
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
6 changes: 6 additions & 0 deletions fs/lockd/clntlock.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ void nlmclnt_prepare_block(struct nlm_wait *block, struct nlm_host *host, struct
block->b_status = nlm_lck_blocked;
}

struct rpc_clnt *nlmclnt_rpc_clnt(struct nlm_host *host)
{
return host->h_rpcclnt;
}
EXPORT_SYMBOL_GPL(nlmclnt_rpc_clnt);

/*
* Queue up a lock for blocking so that the GRANTED request can see it
*/
Expand Down
1 change: 1 addition & 0 deletions fs/nfs/client.c
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,7 @@ static int nfs_start_lockd(struct nfs_server *server)

server->nlm_host = host;
server->destroy = nfs_destroy_server;
nfs_sysfs_link_rpc_client(server, nlmclnt_rpc_clnt(host), NULL);
return 0;
}

Expand Down
2 changes: 2 additions & 0 deletions include/linux/lockd/bind.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
/* Dummy declarations */
struct svc_rqst;
struct rpc_task;
struct rpc_clnt;

/*
* This is the set of functions for lockd->nfsd communication
Expand Down Expand Up @@ -56,6 +57,7 @@ struct nlmclnt_initdata {

extern struct nlm_host *nlmclnt_init(const struct nlmclnt_initdata *nlm_init);
extern void nlmclnt_done(struct nlm_host *host);
extern struct rpc_clnt *nlmclnt_rpc_clnt(struct nlm_host *host);

/*
* NLM client operations provide a means to modify RPC processing of NLM
Expand Down

0 comments on commit d97c058

Please sign in to comment.