提交 7fa10cd1 编写于 作者: J J. Bruce Fields

nfsd4: don't BUG in delegation break callback

These conditions would indeed indicate bugs in the code, but if we want
to hear about them we're likely better off warning and returning than
immediately dying while holding file_lock_lock.
Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
上级 7032a3dd
......@@ -2554,9 +2554,14 @@ static void nfsd_break_deleg_cb(struct file_lock *fl)
struct nfs4_file *fp = (struct nfs4_file *)fl->fl_owner;
struct nfs4_delegation *dp;
BUG_ON(!fp);
/* We assume break_lease is only called once per lease: */
BUG_ON(fp->fi_had_conflict);
if (!fp) {
WARN(1, "(%p)->fl_owner NULL\n", fl);
return;
}
if (fp->fi_had_conflict) {
WARN(1, "duplicate break on %p\n", fp);
return;
}
/*
* We don't want the locks code to timeout the lease for us;
* we'll remove it ourself if a delegation isn't returned
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册