From c3e87cc5f3a4893510bd5b42bcd4856dae44227d Mon Sep 17 00:00:00 2001
From: Waqas Hussain <waqas20@gmail.com>
Date: Sun, 12 Dec 2010 06:15:08 +0500
Subject: storagemanager: When we have a cached data driver, we are supposed to
 use it.

---
 core/storagemanager.lua | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

(limited to 'core')

diff --git a/core/storagemanager.lua b/core/storagemanager.lua
index db540042..e0c12190 100644
--- a/core/storagemanager.lua
+++ b/core/storagemanager.lua
@@ -44,13 +44,12 @@ local function load_driver(host, driver_name)
 		return;
 	end
 	local driver = stores_available:get(host, driver_name);
-	if not driver then
-		if driver_name ~= "internal" then
-			modulemanager.load(host, "storage_"..driver_name);
-			return stores_available:get(host, driver_name);
-		else
-			return setmetatable({host = host}, default_driver_mt);
-		end
+	if driver then return driver; end
+	if driver_name ~= "internal" then
+		modulemanager.load(host, "storage_"..driver_name);
+		return stores_available:get(host, driver_name);
+	else
+		return setmetatable({host = host}, default_driver_mt);
 	end
 end
 
-- 
cgit v1.2.3