- Fixes multiple serious problems with the file server.
* Apply upstream patch for Linux 2.6.24 support. Thanks to Anders
Kaseorg for researching the necessary deltas. (Closes: #456258)
+ * Apply upstream patch to allocate vnodes from the malloc pool rather
+ than off the stack, fixing file server problems on SPARC. Thanks to
+ Barney Sowood for tracking down the patch. (Closes: #448380)
* Add more debugging and bug reporting instructions to README.Debian.
* Update to standards version 3.7.3 (no changes required).
- -- Russ Allbery <rra@debian.org> Mon, 17 Dec 2007 16:33:28 -0800
+ -- Russ Allbery <rra@debian.org> Mon, 17 Dec 2007 16:42:41 -0800
openafs (1.4.5.dfsg1-1) unstable; urgency=low
--- /dev/null
+Allocate vnodes rather than using the stack, which fixes file server
+problems on SPARC. Upstream delta:
+
+STABLE14-volprocs-alloc-vnode-instead-of-using-stack-20071126
+
+Debian Bug#448380
+
+--- openafs.orig/src/volser/volprocs.c
++++ openafs/src/volser/volprocs.c
+@@ -210,14 +210,14 @@
+ struct acl_accessList *ACL;
+ ViceFid did;
+ Inode inodeNumber, nearInode;
+- char buf[SIZEOF_LARGEDISKVNODE];
+- struct VnodeDiskObject *vnode = (struct VnodeDiskObject *)buf;
++ struct VnodeDiskObject *vnode;
+ struct VnodeClassInfo *vcp = &VnodeClassInfo[vLarge];
+ IHandle_t *h;
+ FdHandle_t *fdP;
+ int code;
+ afs_fsize_t length;
+
++ vnode = (struct VnodeDiskObject *)malloc(SIZEOF_LARGEDISKVNODE);
+ memset(vnode, 0, SIZEOF_LARGEDISKVNODE);
+
+ V_pref(vp, nearInode);
+@@ -282,6 +282,7 @@
+ VNDISK_GET_LEN(length, vnode);
+ V_diskused(vp) = nBlocks(length);
+
++ free(vnode);
+ return 1;
+ }
+