Module Name:    src
Committed By:   liamjfoy
Date:           Mon Jun  1 17:11:36 UTC 2009

Modified Files:
        src/sys/fs/udf [netbsd-5]: udf_strat_direct.c udf_strat_rmw.c
            udf_strat_sequential.c udf_subr.c

Log Message:
Pull up following revision(s) (requested by reinoud in ticket #772):
        sys/fs/udf/udf_strat_rmw.c: revision 1.19
        sys/fs/udf/udf_strat_sequential.c: revision 1.10
        sys/fs/udf/udf_strat_direct.c: revision 1.10
        sys/fs/udf/udf_subr.c: revision 1.90
        sys/fs/udf/udf_subr.c: revision 1.91
Descriptor version is 16 bit and not 8 so use udf_rw16() to access them.
UniqueID was written in the logical volume integrity without byteswapping for
bigendian machines.

Retire IN_CALLBACK_ULK flagging since its not used anymore and the old
assertions on it would trigger without cause.


To generate a diff of this commit:
cvs rdiff -u -r1.5.4.3 -r1.5.4.4 src/sys/fs/udf/udf_strat_direct.c
cvs rdiff -u -r1.9.4.7 -r1.9.4.8 src/sys/fs/udf/udf_strat_rmw.c
cvs rdiff -u -r1.5.4.2 -r1.5.4.3 src/sys/fs/udf/udf_strat_sequential.c
cvs rdiff -u -r1.73.4.9 -r1.73.4.10 src/sys/fs/udf/udf_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/udf/udf_strat_direct.c
diff -u src/sys/fs/udf/udf_strat_direct.c:1.5.4.3 src/sys/fs/udf/udf_strat_direct.c:1.5.4.4
--- src/sys/fs/udf/udf_strat_direct.c:1.5.4.3	Wed Mar 18 05:08:38 2009
+++ src/sys/fs/udf/udf_strat_direct.c	Mon Jun  1 17:11:35 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_strat_direct.c,v 1.5.4.3 2009/03/18 05:08:38 snj Exp $ */
+/* $NetBSD: udf_strat_direct.c,v 1.5.4.4 2009/06/01 17:11:35 liamjfoy Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_strat_direct.c,v 1.5.4.3 2009/03/18 05:08:38 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_strat_direct.c,v 1.5.4.4 2009/06/01 17:11:35 liamjfoy Exp $");
 #endif /* not lint */
 
 
@@ -116,9 +116,7 @@
 	udf_node->outstanding_nodedscr--;
 	if (udf_node->outstanding_nodedscr == 0) {
 		/* unlock the node */
-		KASSERT(udf_node->i_flags & IN_CALLBACK_ULK);
-		UDF_UNLOCK_NODE(udf_node, IN_CALLBACK_ULK);
-
+		UDF_UNLOCK_NODE(udf_node, 0);
 		wakeup(&udf_node->outstanding_nodedscr);
 	}
 	/* unreference the vnode so it can be recycled */

Index: src/sys/fs/udf/udf_strat_rmw.c
diff -u src/sys/fs/udf/udf_strat_rmw.c:1.9.4.7 src/sys/fs/udf/udf_strat_rmw.c:1.9.4.8
--- src/sys/fs/udf/udf_strat_rmw.c:1.9.4.7	Wed Feb 18 00:51:27 2009
+++ src/sys/fs/udf/udf_strat_rmw.c	Mon Jun  1 17:11:35 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_strat_rmw.c,v 1.9.4.7 2009/02/18 00:51:27 snj Exp $ */
+/* $NetBSD: udf_strat_rmw.c,v 1.9.4.8 2009/06/01 17:11:35 liamjfoy Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_strat_rmw.c,v 1.9.4.7 2009/02/18 00:51:27 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_strat_rmw.c,v 1.9.4.8 2009/06/01 17:11:35 liamjfoy Exp $");
 #endif /* not lint */
 
 
@@ -699,7 +699,7 @@
 	holdrele(udf_node->vnode);
 	udf_node->outstanding_nodedscr--;
 	if (udf_node->outstanding_nodedscr == 0) {
-		UDF_UNLOCK_NODE(udf_node, udf_node->i_flags & IN_CALLBACK_ULK);
+		UDF_UNLOCK_NODE(udf_node, 0);
 		wakeup(&udf_node->outstanding_nodedscr);
 	}
 

Index: src/sys/fs/udf/udf_strat_sequential.c
diff -u src/sys/fs/udf/udf_strat_sequential.c:1.5.4.2 src/sys/fs/udf/udf_strat_sequential.c:1.5.4.3
--- src/sys/fs/udf/udf_strat_sequential.c:1.5.4.2	Wed Mar 18 05:08:38 2009
+++ src/sys/fs/udf/udf_strat_sequential.c	Mon Jun  1 17:11:35 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_strat_sequential.c,v 1.5.4.2 2009/03/18 05:08:38 snj Exp $ */
+/* $NetBSD: udf_strat_sequential.c,v 1.5.4.3 2009/06/01 17:11:35 liamjfoy Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_strat_sequential.c,v 1.5.4.2 2009/03/18 05:08:38 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_strat_sequential.c,v 1.5.4.3 2009/06/01 17:11:35 liamjfoy Exp $");
 #endif /* not lint */
 
 
@@ -126,9 +126,7 @@
 	udf_node->outstanding_nodedscr--;
 	if (udf_node->outstanding_nodedscr == 0) {
 		/* first unlock the node */
-		KASSERT(udf_node->i_flags & IN_CALLBACK_ULK);
-		UDF_UNLOCK_NODE(udf_node, IN_CALLBACK_ULK);
-
+		UDF_UNLOCK_NODE(udf_node, 0);
 		wakeup(&udf_node->outstanding_nodedscr);
 	}
 

Index: src/sys/fs/udf/udf_subr.c
diff -u src/sys/fs/udf/udf_subr.c:1.73.4.9 src/sys/fs/udf/udf_subr.c:1.73.4.10
--- src/sys/fs/udf/udf_subr.c:1.73.4.9	Thu Feb 19 03:39:56 2009
+++ src/sys/fs/udf/udf_subr.c	Mon Jun  1 17:11:35 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_subr.c,v 1.73.4.9 2009/02/19 03:39:56 snj Exp $ */
+/* $NetBSD: udf_subr.c,v 1.73.4.10 2009/06/01 17:11:35 liamjfoy Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.73.4.9 2009/02/19 03:39:56 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.73.4.10 2009/06/01 17:11:35 liamjfoy Exp $");
 #endif /* not lint */
 
 
@@ -2958,7 +2958,7 @@
 		goto out;
 
 	DPRINTF(VOLUMES, ("VAT format accepted, marking it closed\n"));
-	ump->logvol_integrity->lvint_next_unique_id = unique_id;
+	ump->logvol_integrity->lvint_next_unique_id = udf_rw64(unique_id);
 	ump->logvol_integrity->integrity_type = udf_rw32(UDF_INTEGRITY_CLOSED);
 	ump->logvol_integrity->time           = *mtime;
 
@@ -3575,7 +3575,7 @@
 		vrs = (struct vrs_desc *) (buffer + 2048);
 		vrs->struct_type = 0;
 		vrs->version     = 1;
-		if (ump->logical_vol->tag.descriptor_ver == 2) {
+		if (udf_rw16(ump->logical_vol->tag.descriptor_ver) == 2) {
 			memcpy(vrs->identifier,VRS_NSR02, 5);
 		} else {
 			memcpy(vrs->identifier,VRS_NSR03, 5);
@@ -5425,7 +5425,7 @@
 {
 	union dscrptr *dscr;
 	struct long_ad *loc;
-	int extnr, flags, error;
+	int extnr, error;
 
 	DPRINTF(NODE, ("udf_writeout_node called\n"));
 
@@ -5440,8 +5440,7 @@
 	}
 
 	/* lock node */
-	flags = waitfor ? 0 : IN_CALLBACK_ULK;
-	UDF_LOCK_NODE(udf_node, flags);
+	UDF_LOCK_NODE(udf_node, 0);
 
 	/* at least one descriptor writeout */
 	udf_node->outstanding_nodedscr = 1;
@@ -5641,7 +5640,7 @@
 	udf_create_logvol_dscr(ump, udf_node, &node_icb_loc, &dscr);
 
 	/* choose a fe or an efe for it */
-	if (ump->logical_vol->tag.descriptor_ver == 2) {
+	if (udf_rw16(ump->logical_vol->tag.descriptor_ver) == 2) {
 		udf_node->fe = &dscr->fe;
 		fid_size = udf_create_new_fe(ump, udf_node->fe,
 			udf_file_type, &udf_node->loc,

Reply via email to