On Tue, 2012-10-16 at 12:30 -0400, Weston Andros Adamson wrote: > Replace BUG_ON() with WARN_ON_ONCE() and if the error condition is true > attempt to gracefully recover by calling rpc_exit(). > > Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> > --- > net/sunrpc/clnt.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > index fe8a133..76d1730 100644 > --- a/net/sunrpc/clnt.c > +++ b/net/sunrpc/clnt.c > @@ -1661,7 +1661,11 @@ call_transmit(struct rpc_task *task) > task->tk_action = call_transmit_status; > /* Encode here so that rpcsec_gss can use correct sequence number. */ > if (rpc_task_need_encode(task)) { > - BUG_ON(task->tk_rqstp->rq_bytes_sent != 0); > + WARN_ON(task->tk_rqstp->rq_bytes_sent != 0); WARN_ON_ONCE()? > + if (task->tk_rqstp->rq_bytes_sent != 0) { > + rpc_exit(task, -EINVAL); > + return; > + } > rpc_xdr_encode(task); > /* Did the encode result in an error condition? */ > if (task->tk_status != 0) { -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥