From: crquan@gmail.com
To: dm-devel@redhat.com
Cc: Alasdair G Kergon <agk@redhat.com>, linux-kernel@vger.kernel.org
Subject: [PATCH 1/3] dm-target: use the module's refcount instead
Date: Fri, 19 Dec 2008 12:19:43 +0800 [thread overview]
Message-ID: <1229660385-17153-2-git-send-email-crquan@gmail.com> (raw)
In-Reply-To: <1229660385-17153-1-git-send-email-crquan@gmail.com>
From: Cheng Renquan <crquan@gmail.com>
The tt_internal's use field is superfluous, the module's refcount has done
the work properly.
Signed-off-by: Cheng Renquan <crquan@gmail.com>
---
drivers/md/dm-target.c | 16 ++++------------
1 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/drivers/md/dm-target.c b/drivers/md/dm-target.c
index 835cf95..018df35 100644
--- a/drivers/md/dm-target.c
+++ b/drivers/md/dm-target.c
@@ -18,7 +18,6 @@ struct tt_internal {
struct target_type tt;
struct list_head list;
- long use;
};
static LIST_HEAD(_targets);
@@ -44,12 +43,8 @@ static struct tt_internal *get_target_type(const char *name)
down_read(&_lock);
ti = __find_target_type(name);
- if (ti) {
- if ((ti->use == 0) && !try_module_get(ti->tt.module))
- ti = NULL;
- else
- ti->use++;
- }
+ if (ti && !try_module_get(ti->tt.module))
+ ti = NULL;
up_read(&_lock);
return ti;
@@ -77,10 +72,7 @@ void dm_put_target_type(struct target_type *t)
struct tt_internal *ti = (struct tt_internal *) t;
down_read(&_lock);
- if (--ti->use == 0)
- module_put(ti->tt.module);
-
- BUG_ON(ti->use < 0);
+ module_put(ti->tt.module);
up_read(&_lock);
return;
@@ -140,7 +132,7 @@ int dm_unregister_target(struct target_type *t)
return -EINVAL;
}
- if (ti->use) {
+ if (ti->tt.module && module_refcount(ti->tt.module)) {
up_write(&_lock);
return -ETXTBSY;
}
--
1.6.0.2.GIT
next prev parent reply other threads:[~2008-12-19 4:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-19 4:19 [PATCH 0/3] dm-target: target_type improvements crquan
2008-12-19 4:19 ` crquan [this message]
2008-12-19 4:19 ` [PATCH 2/3] dm-target: use pointer reference instead of making a copy crquan
2008-12-19 4:19 ` [PATCH 3/3] dm-target: embed internally used list_head into target_type crquan
2009-01-02 18:12 ` [PATCH 0/3] dm-target: target_type improvements Alasdair G Kergon
2009-01-02 18:12 ` [dm-devel] " Alasdair G Kergon
2009-01-03 6:42 ` Cheng Renquan (程任全)
2009-01-03 6:42 ` Cheng Renquan (程任全)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1229660385-17153-2-git-send-email-crquan@gmail.com \
--to=crquan@gmail.com \
--cc=agk@redhat.com \
--cc=dm-devel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.