[PATCH] pktcdvd: cleanup
authorThomas Maier <balagi@justmail.de>
Sat, 10 Feb 2007 09:45:11 +0000 (01:45 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 11 Feb 2007 18:51:28 +0000 (10:51 -0800)
- update documentation

- use clear_bdi_congested/set_bdi_congested functions directly instead of
  old wrappers

- removed DECLARE_BUF_AS_STRING macro

Signed-off-by: Thomas Maier <balagi@justmail.de>
Cc: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/ABI/testing/debugfs-pktcdvd
Documentation/ABI/testing/sysfs-class-pktcdvd
Documentation/cdrom/packet-writing.txt
drivers/block/pktcdvd.c

index 03dbd883cc41599211cb1c462fc126352112bb3a..bf9c16b64c34feff4087a6b83b78995d213bcc96 100644 (file)
@@ -1,6 +1,6 @@
 What:           /debug/pktcdvd/pktcdvd[0-7]
 Date:           Oct. 2006
-KernelVersion:  2.6.19
+KernelVersion:  2.6.20
 Contact:        Thomas Maier <balagi@justmail.de>
 Description:
 
@@ -11,8 +11,7 @@ The pktcdvd module (packet writing driver) creates
 these files in debugfs:
 
 /debug/pktcdvd/pktcdvd[0-7]/
-    info            (0444) Lots of human readable driver
-                           statistics and infos. Multiple lines!
+    info            (0444) Lots of driver statistics and infos.
 
 Example:
 -------
index c4c55edc9a5c9ca7f5eaa6441049360ad5813017..b1c3f0263359150017e37081baa5f0aeb01c2121 100644 (file)
@@ -1,6 +1,6 @@
 What:           /sys/class/pktcdvd/
 Date:           Oct. 2006
-KernelVersion:  2.6.19
+KernelVersion:  2.6.20
 Contact:        Thomas Maier <balagi@justmail.de>
 Description:
 
index 7715d2247c4de4cf01045a7f46ce9ce5bf36a7a4..cf1f8126991c00fe5f904631d0471821bf958515 100644 (file)
@@ -93,7 +93,7 @@ Notes
 Using the pktcdvd sysfs interface
 ---------------------------------
 
-Since Linux 2.6.19, the pktcdvd module has a sysfs interface
+Since Linux 2.6.20, the pktcdvd module has a sysfs interface
 and can be controlled by it. For example the "pktcdvd" tool uses
 this interface. (see http://people.freenet.de/BalaGi#pktcdvd )
 
index 62462190e07e877634053cf20e41643c8ea227cf..c0e89490e3d5c97427eaf2eeb15c42bb672b037f 100644 (file)
@@ -190,15 +190,6 @@ static struct attribute *kobj_pkt_attrs_wqueue[] = {
        NULL
 };
 
-/* declares a char buffer[64] _dbuf, copies data from
- * _b with length _l into it and ensures that _dbuf ends
- * with a \0 character.
- */
-#define DECLARE_BUF_AS_STRING(_dbuf, _b, _l) \
-       char _dbuf[64]; int dlen = (_l) < 0 ? 0 : (_l); \
-       if (dlen >= sizeof(_dbuf)) dlen = sizeof(_dbuf)-1; \
-       memcpy(_dbuf, _b, dlen); _dbuf[dlen] = 0
-
 static ssize_t kobj_pkt_show(struct kobject *kobj,
                        struct attribute *attr, char *data)
 {
@@ -264,9 +255,8 @@ static ssize_t kobj_pkt_store(struct kobject *kobj,
 {
        struct pktcdvd_device *pd = to_pktcdvdkobj(kobj)->pd;
        int val;
-       DECLARE_BUF_AS_STRING(dbuf, data, len); /* ensure sscanf scans a string */
 
-       if (strcmp(attr->name, "reset") == 0 && dlen > 0) {
+       if (strcmp(attr->name, "reset") == 0 && len > 0) {
                pd->stats.pkt_started = 0;
                pd->stats.pkt_ended = 0;
                pd->stats.secs_w = 0;
@@ -274,7 +264,7 @@ static ssize_t kobj_pkt_store(struct kobject *kobj,
                pd->stats.secs_r = 0;
 
        } else if (strcmp(attr->name, "congestion_off") == 0
-                  && sscanf(dbuf, "%d", &val) == 1) {
+                  && sscanf(data, "%d", &val) == 1) {
                spin_lock(&pd->lock);
                pd->write_congestion_off = val;
                init_write_congestion_marks(&pd->write_congestion_off,
@@ -282,7 +272,7 @@ static ssize_t kobj_pkt_store(struct kobject *kobj,
                spin_unlock(&pd->lock);
 
        } else if (strcmp(attr->name, "congestion_on") == 0
-                  && sscanf(dbuf, "%d", &val) == 1) {
+                  && sscanf(data, "%d", &val) == 1) {
                spin_lock(&pd->lock);
                pd->write_congestion_on = val;
                init_write_congestion_marks(&pd->write_congestion_off,
@@ -369,8 +359,7 @@ static ssize_t class_pktcdvd_store_add(struct class *c, const char *buf,
                                        size_t count)
 {
        unsigned int major, minor;
-       DECLARE_BUF_AS_STRING(dbuf, buf, count);
-       if (sscanf(dbuf, "%u:%u", &major, &minor) == 2) {
+       if (sscanf(buf, "%u:%u", &major, &minor) == 2) {
                pkt_setup_dev(MKDEV(major, minor), NULL);
                return count;
        }
@@ -381,8 +370,7 @@ static ssize_t class_pktcdvd_store_remove(struct class *c, const char *buf,
                                        size_t count)
 {
        unsigned int major, minor;
-       DECLARE_BUF_AS_STRING(dbuf, buf, count);
-       if (sscanf(dbuf, "%u:%u", &major, &minor) == 2) {
+       if (sscanf(buf, "%u:%u", &major, &minor) == 2) {
                pkt_remove_dev(MKDEV(major, minor));
                return count;
        }
@@ -1377,7 +1365,7 @@ try_next_bio:
                        && pd->bio_queue_size <= pd->write_congestion_off);
        spin_unlock(&pd->lock);
        if (wakeup)
-               blk_clear_queue_congested(pd->disk->queue, WRITE);
+               clear_bdi_congested(&pd->disk->queue->backing_dev_info, WRITE);
 
        pkt->sleep_time = max(PACKET_WAIT_TIME, 1);
        pkt_set_state(pkt, PACKET_WAITING_STATE);
@@ -2598,7 +2586,7 @@ static int pkt_make_request(request_queue_t *q, struct bio *bio)
        spin_lock(&pd->lock);
        if (pd->write_congestion_on > 0
            && pd->bio_queue_size >= pd->write_congestion_on) {
-               blk_set_queue_congested(q, WRITE);
+               set_bdi_congested(&q->backing_dev_info, WRITE);
                do {
                        spin_unlock(&pd->lock);
                        congestion_wait(WRITE, HZ);