From 82781dd6da2b6a1eb113e20d100052509bb85a90 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Thu, 19 Apr 2001 22:11:52 +0000 Subject: 2001-02-18 Marcus Brinkmann * dev.h (struct dev): New member nperopens. * storeio.c (open_hook): Hold device lock and check if this is the first open. If yes, activate the store. (close_hook): Hold global_lock and check if this was the last open. If yes, inactivate the store. * dev.c (dev_open): Open the store with STORE_INACTIVE (in store_parsed_open as well as in store_create). --- storeio/dev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'storeio/dev.c') diff --git a/storeio/dev.c b/storeio/dev.c index fdfc0fbd..108e7dd3 100644 --- a/storeio/dev.c +++ b/storeio/dev.c @@ -145,14 +145,15 @@ dev_open (struct dev *dev) /* This means we had no store arguments. We are to operate on our underlying node. */ err = store_create (storeio_fsys->underlying, - dev->readonly ? STORE_READONLY : 0, + STORE_INACTIVE | (dev->readonly ? STORE_READONLY : 0), 0, &dev->store); } else /* Open based on the previously parsed store arguments. */ err = store_parsed_open (dev->store_name, - dev->readonly ? STORE_READONLY : 0, + STORE_INACTIVE + | (dev->readonly ? STORE_READONLY : 0), &dev->store); if (err) return err; -- cgit v1.2.3