The current sd_io function exits without unlocking pthread rwlock in the error path. This fixes the leak bug. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> --- usr/bs_sheepdog.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr/bs_sheepdog.c b/usr/bs_sheepdog.c index cfe1046..8bb5c80 100644 --- a/usr/bs_sheepdog.c +++ b/usr/bs_sheepdog.c @@ -845,7 +845,7 @@ retry: if (ret) { eprintf("%lu %d\n", idx, ret); - return -1; + goto out; } done: @@ -856,6 +856,7 @@ done: if (need_update_inode) ret = update_inode(ai); +out: pthread_rwlock_unlock(&ai->inode_lock); return ret; -- 1.7.9.3 -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html