| Hi!
|
| This moves two 4k buffers from stack to heap. Compiles, untested, but
| looks trivial.
| --
|
| --- linux-2.5.64/fs/intermezzo/journal.c Mon Feb 24 20:05:05 2003
| +++ linux-2.5.64-i2o/fs/intermezzo/journal.c Thu Mar 13 13:14:12 2003
| @@ -1245,6 +1245,7 @@
| struct file *f;
| int len;
| loff_t read_off, write_off, bytes;
| + char *buf;
|
| ENTRY;
|
| @@ -1255,15 +1256,18 @@
| return f;
| }
|
| + buf = kmalloc(4096, GFP_KERNEL);
| + if (!buf)
| + return ERR_PTR(-ENOMEM);
| +
| write_off = 0;
| read_off = start;
| bytes = fset->fset_kml.fd_offset - start;
| while (bytes > 0) {
| - char buf[4096];
| int toread;
|
| - if (bytes > sizeof(buf))
| - toread = sizeof(buf);
| + if (bytes > sizeof(*buf))
| + toread = sizeof(*buf);
I guess one of us needs some guidance here.
I thought that sizeof(*buf) == 1 here, not 4096. Anybody?
I don't see how sizeof() can determine the kmalloc-ed size,
so I would use BUF_SIZE instead, with
#define BUF_SIZE 4096
Same for <record> below (snipped).
-- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/