From: Jeff Layton Date: Wed, 30 Nov 2016 20:56:48 +0000 (-0500) Subject: ceph: add a bit more info when BUG'ing due to parent changing X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ef650cbcecc6cfb557fd2570b22f83e4d7f7a24d;p=ceph-client.git ceph: add a bit more info when BUG'ing due to parent changing Signed-off-by: Jeff Layton --- diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index ef4d04647325..89b01fa537fc 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -1260,13 +1260,20 @@ retry_lookup: * mknod symlink mkdir : null -> new inode * unlink : linked -> null */ - struct inode *dir = req->r_locked_dir; + struct inode *parent, *dir = req->r_locked_dir; struct dentry *dn = req->r_dentry; bool have_dir_cap, have_lease; BUG_ON(!dn); BUG_ON(!dir); - BUG_ON(d_inode(dn->d_parent) != dir); + parent = d_inode(dn->d_parent); + + if (unlikely(parent != dir)) { + pr_err("%s: dir=%p parent=%p op=%d\n", __func__, dir, + parent, req->r_op); + BUG(); + } + BUG_ON(ceph_ino(dir) != le64_to_cpu(rinfo->diri.in->ino)); BUG_ON(ceph_snap(dir) !=