Loading fs/nfsd/fault_inject.c +1 −1 Original line number Diff line number Diff line Loading @@ -136,7 +136,7 @@ static struct nfsd_fault_inject_op inject_ops[] = { .file = "forget_clients", .get = nfsd_inject_print_clients, .set_val = nfsd_inject_set, .set_clnt = nfsd_inject_set_client, .set_clnt = nfsd_inject_forget_client, .forget = nfsd_forget_client, }, { Loading fs/nfsd/nfs4state.c +28 −0 Original line number Diff line number Diff line Loading @@ -5760,6 +5760,34 @@ u64 nfsd_forget_client(struct nfs4_client *clp, u64 max) return 1; } u64 nfsd_inject_forget_client(struct nfsd_fault_inject_op *op, struct sockaddr_storage *addr, size_t addr_size) { u64 count = 0; struct nfs4_client *clp; struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, nfsd_net_id); if (!nfsd_netns_ready(nn)) return count; spin_lock(&nn->client_lock); clp = nfsd_find_client(addr, addr_size); if (clp) { if (mark_client_expired_locked(clp) == nfs_ok) ++count; else clp = NULL; } spin_unlock(&nn->client_lock); if (clp) expire_client(clp); return count; } static void nfsd_print_count(struct nfs4_client *clp, unsigned int count, const char *type) { Loading fs/nfsd/state.h +3 −0 Original line number Diff line number Diff line Loading @@ -480,6 +480,9 @@ struct nfs4_client *nfsd_find_client(struct sockaddr_storage *, size_t); u64 nfsd_inject_print_clients(struct nfsd_fault_inject_op *op); u64 nfsd_forget_client(struct nfs4_client *, u64); u64 nfsd_inject_forget_client(struct nfsd_fault_inject_op *, struct sockaddr_storage *, size_t); u64 nfsd_forget_client_locks(struct nfs4_client*, u64); u64 nfsd_forget_client_openowners(struct nfs4_client *, u64); u64 nfsd_forget_client_delegations(struct nfs4_client *, u64); Loading Loading
fs/nfsd/fault_inject.c +1 −1 Original line number Diff line number Diff line Loading @@ -136,7 +136,7 @@ static struct nfsd_fault_inject_op inject_ops[] = { .file = "forget_clients", .get = nfsd_inject_print_clients, .set_val = nfsd_inject_set, .set_clnt = nfsd_inject_set_client, .set_clnt = nfsd_inject_forget_client, .forget = nfsd_forget_client, }, { Loading
fs/nfsd/nfs4state.c +28 −0 Original line number Diff line number Diff line Loading @@ -5760,6 +5760,34 @@ u64 nfsd_forget_client(struct nfs4_client *clp, u64 max) return 1; } u64 nfsd_inject_forget_client(struct nfsd_fault_inject_op *op, struct sockaddr_storage *addr, size_t addr_size) { u64 count = 0; struct nfs4_client *clp; struct nfsd_net *nn = net_generic(current->nsproxy->net_ns, nfsd_net_id); if (!nfsd_netns_ready(nn)) return count; spin_lock(&nn->client_lock); clp = nfsd_find_client(addr, addr_size); if (clp) { if (mark_client_expired_locked(clp) == nfs_ok) ++count; else clp = NULL; } spin_unlock(&nn->client_lock); if (clp) expire_client(clp); return count; } static void nfsd_print_count(struct nfs4_client *clp, unsigned int count, const char *type) { Loading
fs/nfsd/state.h +3 −0 Original line number Diff line number Diff line Loading @@ -480,6 +480,9 @@ struct nfs4_client *nfsd_find_client(struct sockaddr_storage *, size_t); u64 nfsd_inject_print_clients(struct nfsd_fault_inject_op *op); u64 nfsd_forget_client(struct nfs4_client *, u64); u64 nfsd_inject_forget_client(struct nfsd_fault_inject_op *, struct sockaddr_storage *, size_t); u64 nfsd_forget_client_locks(struct nfs4_client*, u64); u64 nfsd_forget_client_openowners(struct nfs4_client *, u64); u64 nfsd_forget_client_delegations(struct nfs4_client *, u64); Loading