fs does not work?

Assar Westerlund assar at sics.se
Fri Jun 26 09:12:11 CEST 1998


Derrick J Brashear <shadow at dementia.org> writes:
> But lo, what is in /var/log/messages but lots of things like:
> Jun 26 02:37:56 jooky kernel: sys_afs operation: 20 a_pathP: 00000000 a_opcode:
> -2146675197 a_paramsP: efffdc40 a_followSymlinks: 0
> Jun 26 02:37:56 jooky kernel: xfs_pioctl

I do think that one of the appended patches will `solve'
({work,kludge}-around) that problem.  Choose your poison.

As for solving it, can anybody tell me copy_{from,to}_user are
supposed to return?

> Since it looks like /afs doesn't want to unmount i guess i'll debug further
> tomorrow.

Can you unmount it if you kill arlad first?

/assar


Index: xfs/linux/xfs_syscalls.c
===================================================================
RCS file: /usr/local/cvsroot/arla/xfs/linux/xfs_syscalls.c,v
retrieving revision 1.16
diff -u -w -u -w -r1.16 xfs_syscalls.c
--- xfs_syscalls.c	1998/06/04 15:51:54	1.16
+++ xfs_syscalls.c	1998/06/26 07:10:14
@@ -259,8 +259,6 @@
     case AFSCALL_PIOCTL:
 	printk("xfs_pioctl\n");
 	error = copy_from_user(&vice_ioctl,a_paramsP,sizeof(*a_paramsP));
-	if (error)
-	    return error;
 	if (vice_ioctl.in_size > 2048) {
 	    printk("xfs_pioctl_call: got a humongous in packet: opcode: %d",
 		   a_opcode);
@@ -268,8 +266,6 @@
 	}
 	if (vice_ioctl.in_size != 0) {
 	    error = copy_from_user(&msg.msg,vice_ioctl.in,vice_ioctl.in_size);
-	    if (error)
-		return error;
 	}
 	if (a_pathP != NULL) {
 #ifndef LINUX2_1



Index: xfs/linux/xfs_common.h
===================================================================
RCS file: /usr/local/cvsroot/arla/xfs/linux/xfs_common.h,v
retrieving revision 1.8
diff -u -w -u -w -r1.8 xfs_common.h
--- xfs_common.h	1998/05/23 20:03:25	1.8
+++ xfs_common.h	1998/06/26 07:11:44
@@ -59,7 +59,7 @@
     if ((error = verify_area(VERIFY_WRITE, dst, len)) != 0)
 	return error;
     memcpy_tofs(dst, src, len);
-    return len;
+    return 0;
 }
 
 static inline unsigned long
@@ -70,7 +70,7 @@
     if ((error = verify_area(VERIFY_READ, src, len)) != 0)
 	return error;
     memcpy_fromfs(dst, src, len);
-    return len;
+    return 0;
 }
 #endif
 





More information about the Arla-drinkers mailing list