xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@novell.com>
To: Daniel Stodden <daniel.stodden@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Laszlo Ersek <lersek@redhat.com>
Subject: Re: [PATCH linux-2.6.18-xen] blktap: make max # of tap devices a module parameter
Date: Thu, 24 Feb 2011 16:40:08 +0000	[thread overview]
Message-ID: <4D6697F802000078000338AD@vpn.id2.novell.com> (raw)
In-Reply-To: <4D64F19F0200007800033455@vpn.id2.novell.com>

>>> On 23.02.11 at 11:38, "Jan Beulich" <JBeulich@novell.com> wrote:
> Any reason why in .32 and newer you still don't use
> __register_chrdev() (and __unregister_chrdev())? And even
> if this still needs to be this way, I note that unregister_chrdev()
> calls __unregister_chrdev_region() before cdev_del(), while
> blktap_ring_exit() does it the other way around?

I think this could be cleaned up like this:

--- a/drivers/xen/blktap/ring.c
+++ b/drivers/xen/blktap/ring.c
@@ -8,7 +8,6 @@
 #include "blktap.h"
 
 int blktap_ring_major;
-static struct cdev blktap_ring_cdev;
 
  /* 
   * BLKTAP - immediately before the mmap area,
@@ -511,26 +510,16 @@ blktap_ring_debug(struct blktap *tap, ch
 int __init
 blktap_ring_init(void)
 {
-	dev_t dev = 0;
 	int err;
 
-	cdev_init(&blktap_ring_cdev, &blktap_ring_file_operations);
-	blktap_ring_cdev.owner = THIS_MODULE;
-
-	err = alloc_chrdev_region(&dev, 0, MAX_BLKTAP_DEVICE, "blktap2");
+	err = __register_chrdev(0, 0, MAX_BLKTAP_DEVICE, "blktap2",
+				&blktap_ring_file_operations);
 	if (err < 0) {
 		BTERR("error registering ring devices: %d\n", err);
 		return err;
 	}
 
-	err = cdev_add(&blktap_ring_cdev, dev, MAX_BLKTAP_DEVICE);
-	if (err) {
-		BTERR("error adding ring device: %d\n", err);
-		unregister_chrdev_region(dev, MAX_BLKTAP_DEVICE);
-		return err;
-	}
-
-	blktap_ring_major = MAJOR(dev);
+	blktap_ring_major = err;
 	BTINFO("blktap ring major: %d\n", blktap_ring_major);
 
 	return 0;
@@ -542,9 +531,8 @@ blktap_ring_exit(void)
 	if (!blktap_ring_major)
 		return;
 
-	cdev_del(&blktap_ring_cdev);
-	unregister_chrdev_region(MKDEV(blktap_ring_major, 0),
-				 MAX_BLKTAP_DEVICE);
+	__unregister_chrdev(blktap_ring_major, 0, MAX_BLKTAP_DEVICE,
+			    "blktap2");
 
 	blktap_ring_major = 0;
 }

And probably converting MAX_BLKTAP_DEVICE into a configure
option would also be reasonable.

In any case, if I wanted to formally submit patches to clean up
this and some other things in the pv-ops variant, what (preferably
non-topic) branch should those be against? If I'm not mistaken,
xen/next-2.6.38 for example doesn't even have a blktap - or did
it get moved out of drivers/xen/? And what would be the most
up-to-date non-experimental branch to pull blktap bits from?

Jan

  reply	other threads:[~2011-02-24 16:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-22 14:20 [PATCH linux-2.6.18-xen] blktap: make max # of tap devices a module parameter Laszlo Ersek
2011-02-22 15:49 ` Jan Beulich
2011-02-22 17:34   ` Laszlo Ersek
2011-02-22 17:44     ` Daniel Stodden
2011-02-22 18:08       ` Laszlo Ersek
2011-02-22 18:59         ` Daniel Stodden
2011-02-23 10:38       ` Jan Beulich
2011-02-24 16:40         ` Jan Beulich [this message]
2011-02-24 19:59           ` Daniel Stodden
2011-02-24 20:10           ` Daniel Stodden
2011-02-23  9:42     ` Jan Beulich

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=4D6697F802000078000338AD@vpn.id2.novell.com \
    --to=jbeulich@novell.com \
    --cc=daniel.stodden@citrix.com \
    --cc=lersek@redhat.com \
    --cc=xen-devel@lists.xensource.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).