From: Russ Allbery Date: Tue, 18 Dec 2007 00:39:45 +0000 (+0000) Subject: * Apply upstream patch to allocate vnodes from the malloc pool rather X-Git-Tag: debian/1.4.6.dfsg1-1~5 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=2bcb4f99840a875e5b992d3200262fbbaca5812c;p=packages%2Fo%2Fopenafs.git * 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) --- diff --git a/debian/changelog b/debian/changelog index 5560f7082..5eb48ab7e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,10 +4,13 @@ openafs (1.4.6.dfsg1-1) UNRELEASED; urgency=low - 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 Mon, 17 Dec 2007 16:33:28 -0800 + -- Russ Allbery Mon, 17 Dec 2007 16:42:41 -0800 openafs (1.4.5.dfsg1-1) unstable; urgency=low diff --git a/debian/patches/alloc-vnode b/debian/patches/alloc-vnode new file mode 100644 index 000000000..9c4d535c3 --- /dev/null +++ b/debian/patches/alloc-vnode @@ -0,0 +1,34 @@ +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; + } + diff --git a/debian/patches/series b/debian/patches/series index ea404a094..56433e367 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -11,3 +11,4 @@ find-core-files ktc-prototypes afs-man-name linux-2.6.24 +alloc-vnode