From 0e20bb867b58ac13224c39fa55c36f268790d25c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 26 Aug 2010 09:26:37 -0700 Subject: [PATCH] --- yaml --- r: 210057 b: refs/heads/master c: e072f8aa3587710cd35cce0f6b6efd7b4276c327 h: refs/heads/master i: 210055: 45b1c56993817dd30a81126fd32a1b7c296cae22 v: v3 --- [refs] | 2 +- trunk/fs/ceph/mds_client.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 24c58edb4a43..5569118fe482 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f44c3890d9fd6e4284518ff3bb16879fee194a3a +refs/heads/master: e072f8aa3587710cd35cce0f6b6efd7b4276c327 diff --git a/trunk/fs/ceph/mds_client.c b/trunk/fs/ceph/mds_client.c index 8d1f11c7a5a2..f091b1351786 100644 --- a/trunk/fs/ceph/mds_client.c +++ b/trunk/fs/ceph/mds_client.c @@ -2324,7 +2324,7 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, path = ceph_mdsc_build_path(dentry, &pathlen, &pathbase, 0); if (IS_ERR(path)) { err = PTR_ERR(path); - BUG_ON(err); + goto out_dput; } } else { path = NULL; @@ -2332,7 +2332,7 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, } err = ceph_pagelist_encode_string(pagelist, path, pathlen); if (err) - goto out; + goto out_free; spin_lock(&inode->i_lock); cap->seq = 0; /* reset cap seq */ @@ -2376,8 +2376,9 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, unlock_kernel(); } -out: +out_free: kfree(path); +out_dput: dput(dentry); return err; }