svc_xprt.c (f85142af36415cdd5be59eb4b00a231c8b6dcb49) | svc_xprt.c (e844d307d46cfa7e09cdb671941bfd5f1be86773) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/net/sunrpc/svc_xprt.c 4 * 5 * Author: Tom Tucker <tom@opengridcomputing.com> 6 */ 7 8#include <linux/sched.h> --- 125 unchanged lines hidden (view full) --- 134 len += slen; 135 strcat(buf, tmpstr); 136 } 137 spin_unlock(&svc_xprt_class_lock); 138 139 return len; 140} 141 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/net/sunrpc/svc_xprt.c 4 * 5 * Author: Tom Tucker <tom@opengridcomputing.com> 6 */ 7 8#include <linux/sched.h> --- 125 unchanged lines hidden (view full) --- 134 len += slen; 135 strcat(buf, tmpstr); 136 } 137 spin_unlock(&svc_xprt_class_lock); 138 139 return len; 140} 141 |
142/** 143 * svc_xprt_deferred_close - Close a transport 144 * @xprt: transport instance 145 * 146 * Used in contexts that need to defer the work of shutting down 147 * the transport to an nfsd thread. 148 */ 149void svc_xprt_deferred_close(struct svc_xprt *xprt) 150{ 151 if (!test_and_set_bit(XPT_CLOSE, &xprt->xpt_flags)) 152 svc_xprt_enqueue(xprt); 153} 154EXPORT_SYMBOL_GPL(svc_xprt_deferred_close); 155 |
|
142static void svc_xprt_free(struct kref *kref) 143{ 144 struct svc_xprt *xprt = 145 container_of(kref, struct svc_xprt, xpt_ref); 146 struct module *owner = xprt->xpt_class->xcl_owner; 147 if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags)) 148 svcauth_unix_info_release(xprt); 149 put_cred(xprt->xpt_cred); --- 1284 unchanged lines hidden --- | 156static void svc_xprt_free(struct kref *kref) 157{ 158 struct svc_xprt *xprt = 159 container_of(kref, struct svc_xprt, xpt_ref); 160 struct module *owner = xprt->xpt_class->xcl_owner; 161 if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags)) 162 svcauth_unix_info_release(xprt); 163 put_cred(xprt->xpt_cred); --- 1284 unchanged lines hidden --- |