From de909177699bdf0e084476e8191834be56edd9b0 Mon Sep 17 00:00:00 2001 From: Ravishankar N Date: Mon, 13 Apr 2015 05:47:09 +0000 Subject: quick-read: Do a null check before unref Backport of http://review.gluster.org/10206 Commit 4ea5b8d2046b9e0bc7f24cdf1b2e72ab8b462c9e seems to have removed the check as a part of static analyis fixes but I'm seeing errors in the client log. --------------------- touch /mnt/fuse_mnt/zero-byte-file echo 3 > /proc/sys/vm/drop_caches cat /mnt/fuse_mnt/zero-byte-file mount log: [2015-04-13 05:52:21.683256] E [iobuf.c:790:iobuf_unref] (--> /usr/local/lib/libglusterfs.so.0(_gf_log_callingfn+0x232)[0x7feda12c0e24] (--> /usr/local/lib/libglusterfs.so.0(iobuf_unref+0x56)[0x7feda1304c8e] (--> /usr/local/lib/glusterfs/3.7dev/xlator/performance/quick-read.so(qr_readv_cached+0x466)[0x7fed95b7e2fc] (--> /usr/local/lib/glusterfs/3.7dev/xlator/performance/quick-read.so(qr_readv+0x70)[0x7fed95b7e385] (--> /usr/local/lib/libglusterfs.so.0(default_readv_resume+0x270)[0x7feda12d4401] ))))) 0-iobuf: invalid argument: iobuf --------------------- Change-Id: Ia6b29165cdef8783a716fe1e72d3d13bf0220aae BUG: 1214168 Signed-off-by: Ravishankar N Reviewed-on: http://review.gluster.org/10329 Tested-by: NetBSD Build System Reviewed-by: Raghavendra Talur Tested-by: Raghavendra Talur Reviewed-by: Vijay Bellur --- xlators/performance/quick-read/src/quick-read.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index aa44c5d388b..53f9a5d44ce 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -587,9 +587,11 @@ unlock: STACK_UNWIND_STRICT (readv, frame, op_ret, 0, &iov, 1, &buf, iobref, xdata); } - iobuf_unref (iobuf); + if (iobuf) + iobuf_unref (iobuf); - iobref_unref (iobref); + if (iobref) + iobref_unref (iobref); return op_ret; } -- cgit