1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00

update to 0.35.6

and include a new patch needed because RELENG-4 changed APIs again
This commit is contained in:
Assar Westerlund 2002-01-07 04:47:11 +00:00
parent dade9e1891
commit 46b4ae309c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=52688
5 changed files with 65 additions and 75 deletions

View File

@ -6,8 +6,7 @@
#
PORTNAME= arla
PORTVERSION= 0.35.5
PORTREVISION= 2
PORTVERSION= 0.35.6
CATEGORIES= net
MASTER_SITES= ftp://ftp.stacken.kth.se/pub/arla/

View File

@ -1 +1,2 @@
MD5 (arla-0.35.5.tar.gz) = 499a415c9ae6639c378288332c59d0b7
MD5 (arla-0.35.6.tar.gz) = 42dbf03c908faf72ae38dfb3cfdffe53

View File

@ -1,73 +0,0 @@
Index: xfs/bsd/xfs_node-bsd.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/bsd/xfs_node-bsd.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -w -u -w -r1.54 -r1.55
--- xfs/bsd/xfs_node-bsd.c 2001/03/14 23:04:43 1.54
+++ xfs/bsd/xfs_node-bsd.c 2001/09/03 21:16:50 1.55
@@ -171,6 +171,20 @@
XFSDEB(XDEBNODE, ("free_xfs_node done\n"));
}
+/*
+ * FreeBSD 4.4 and newer changed to API to vflush around June 2001
+ */
+
+static int
+xfs_vflush(struct mount *mp, int flags)
+{
+#if __FreeBSD__ && __FreeBSD_version > 430000
+ return vflush(mp, 0, flags);
+#else
+ return vflush(mp, NULL, flags);
+#endif
+}
+
int
free_all_xfs_nodes(struct xfs *xfsp, int flags, int unmountp)
{
@@ -190,21 +204,36 @@
XFSDEB(XDEBNODE, ("free_all_xfs_nodes now removing root\n"));
vgone(XNODE_TO_VNODE(xfsp->root));
- xfsp->root = 0;
+ xfsp->root = NULL;
}
XFSDEB(XDEBNODE, ("free_all_xfs_nodes root removed\n"));
XFSDEB(XDEBNODE, ("free_all_xfs_nodes now killing all remaining nodes\n"));
+ /*
+ * If we have a syncer vnode, release it (to emulate dounmount)
+ * and the create it again when if we are going to need it.
+ */
+
#ifdef HAVE_STRUCT_MOUNT_MNT_SYNCER
if (!unmountp) {
- XFSDEB(XDEBNODE, ("free_all_xfs_nodes not flushing syncer vnode\n"));
- error = vflush(mp, mp->mnt_syncer, flags);
- } else
+ if (mp->mnt_syncer != NULL) {
+ vrele(mp->mnt_syncer);
+ mp->mnt_syncer = NULL;
+ }
+ }
#endif
- {
- error = vflush(mp, NULL, flags);
+ error = xfs_vflush(mp, flags);
+#ifdef HAVE_STRUCT_MOUNT_MNT_SYNCER
+ if (!unmountp) {
+ XFSDEB(XDEBNODE, ("free_all_xfs_nodes not flushing syncer vnode\n"));
+ if (mp->mnt_syncer == NULL)
+ if (vfs_allocate_syncvnode(mp)) {
+ panic("failed to allocate syncer node when xfs daemon died");
+
}
+ }
+#endif
if (error) {
XFSDEB(XDEBNODE, ("xfree_all_xfs_nodes: vflush() error == %d\n",

31
net/arla/files/patch-ac Normal file
View File

@ -0,0 +1,31 @@
Index: xfs/bsd/xfs_message.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/bsd/xfs_message.c,v
retrieving revision 1.64.2.3
diff -u -w -r1.64.2.3 xfs_message.c
--- xfs/bsd/xfs_message.c 2001/10/19 04:29:31 1.64.2.3
+++ xfs/bsd/xfs_message.c 2002/01/07 04:28:29
@@ -473,6 +473,15 @@
/* XXX see comment in xfs_node_find */
/* XXXSMP do gone[l] need to get mntvnode_slock ? */
+#if __FreeBSD_version >= 440002
+ for(vp = TAILQ_FIRST(&XFS_TO_VFS(&xfs[fd])->mnt_nvnodelist);
+ vp != NULL;
+ vp = next) {
+
+ next = TAILQ_NEXT(vp, v_nmntvnodes);
+ gc_vnode (vp, p);
+ }
+#else
for(vp = XFS_TO_VFS(&xfs[fd])->mnt_vnodelist.lh_first;
vp != NULL;
vp = next) {
@@ -480,6 +489,7 @@
next = vp->v_mntvnodes.le_next;
gc_vnode (vp, p);
}
+#endif
} else {
struct xfs_node *t;
int i;

32
net/arla/files/patch-ad Normal file
View File

@ -0,0 +1,32 @@
Index: xfs/bsd/xfs_node-bsd.c
===================================================================
RCS file: /afs/stacken.kth.se/src/SourceRepository/arla/xfs/bsd/xfs_node-bsd.c,v
retrieving revision 1.47.2.4
diff -u -w -r1.47.2.4 xfs_node-bsd.c
--- xfs/bsd/xfs_node-bsd.c 2001/09/17 01:57:20 1.47.2.4
+++ xfs/bsd/xfs_node-bsd.c 2002/01/07 04:31:03
@@ -272,6 +272,15 @@
* on FreeBSD once.
*/
+#if __FreeBSD_version >= 440002
+ for(t = TAILQ_FIRST(&XFS_TO_VFS(xfsp)->mnt_nvnodelist);
+ t != NULL;
+ t = TAILQ_NEXT(t, v_nmntvnodes)) {
+ xn = VNODE_TO_XNODE(t);
+ if (xn && xfs_handle_eq(&xn->handle, handlep))
+ break;
+ }
+#else
for(t = XFS_TO_VFS(xfsp)->mnt_vnodelist.lh_first;
t != NULL;
t = t->v_mntvnodes.le_next) {
@@ -279,7 +288,7 @@
if (xn && xfs_handle_eq(&xn->handle, handlep))
break;
}
-
+#endif
if (t != NULL)
return xn;
else