Thread (15 messages) 15 messages, 7 authors, 2017-03-09

Re: [PATCH 1/4] block: Allow bdi re-registration

From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: 2017-03-08 23:17:08
Also in: linux-scsi

On Wed, 2017-03-08 at 17:55 -0500, Tejun Heo wrote:
Hello,

On Wed, Mar 08, 2017 at 05:48:31PM +0100, Jan Kara wrote:
quoted
@@ -710,6 +710,11 @@ static void cgwb_bdi_destroy(struct
backing_dev_info *bdi)
 	 */
 	atomic_dec(&bdi->usage_cnt);
 	wait_event(cgwb_release_wait, !atomic_read(&bdi
->usage_cnt));
+	/*
+	 * Grab back our reference so that we hold it when @bdi
gets
+	 * re-registered.
+	 */
+	atomic_inc(&bdi->usage_cnt);
So, this is more re-initializing the ref to the initial state so that
it can be re-used, right?  Maybe ATOMIC_INIT() is a better choice 
here just to clarify what's going on?
Seconded.  Eventually this is going to get converted to a refcount_t
and it will dump a spurious warning on the 0->1 transition.  We can
avoid that by making this a proper initialization.

James
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help