From 5144d3d5a4982a86f46ef023d0dc836d0fdead58 Mon Sep 17 00:00:00 2001 From: Raghavendra Bhat Date: Tue, 26 May 2015 19:22:14 +0530 Subject: features/bit-rot-stub: deny access to bad objects Backport of http://review.gluster.org/11126 * Access to bad objects (especially operations such as open, readv, writev) should be denied to prevent applications from getting wrong data. * Do not allow anyone apart from scrubber to set bad object xattr. * Do not allow bad object xattr to be removed. Change-Id: I6903184ab64a9d1ea595330b603935979c33bc26 BUG: 1241529 Reviewed-on: http://review.gluster.org/11603 Tested-by: NetBSD Build System Tested-by: Gluster Build System Reviewed-by: Venky Shankar --- xlators/performance/quick-read/src/quick-read.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'xlators/performance/quick-read') diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index 9b01db07b34..9bc27ef650b 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -409,6 +409,11 @@ qr_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } + if (dict_get (xdata, GLUSTERFS_BAD_INODE)) { + qr_inode_prune (this, inode); + goto out; + } + if (dict_get (xdata, "sh-failed")) { qr_inode_prune (this, inode); goto out; -- cgit