Message ID | 501A752B.9030702@panasas.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 15fc7e4..e25b686 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -6249,7 +6249,7 @@ static void nfs4_layoutreturn_done(struct rpc_task *task, void *calldata) if (lrp->res.lrs_present) { pnfs_set_layout_stateid(lo, &lrp->res.stateid, true); } else - BUG_ON(!list_empty(&lo->plh_segs)); + WARN_ON(!list_empty(&lo->plh_segs)); } lo->plh_block_lgets--; spin_unlock(&lo->plh_inode->i_lock);
In nfs4_layoutreturn_done() there is a BUG_ON on a Server returned member, when received in what the client thinks is an impossible situation. [The server returned ! lrp->res.lrs_present, but client still had more segments] This BUG really hit me with the Linux pnfs Server, but regardless of who is at fault here, Server or client, client must not crash, even on a buggy Server. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> --- fs/nfs/nfs4proc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)