OoO Peu avant le début de l'après-midi du dimanche 21 avril 2002, vers
13:31, Vincent Bernat <bernat@xxxxxxx> disait:
> I encounter the problem described in this thread with XFS and kernel
> 2.4.16 :
> <url:http://groups.google.fr/groups?q=postfix+xfs&hl=fr&selm=a8l3gg%242q0o%241%40FreeBSD.csie.NCTU.edu.tw&rnum=2>
> Is this problem fixed ?
Well, I have tried with a 2.4.18 and the problem is the same.
I have searched where the SIG_XFSZ signal is triggered and it is in
xfs_file.c. I think the error is here. The "err" variable is set to a
negative value and if it is non null, the opposite is returned. I
think that we must return the positive value :
return(err ? err : count);
instead of
return(err ? -err : count);
But I suppose that the sign flipping was here for something. The only
function that uses err (besides simple constant assignations) is the
macro VOP_WRITE which I suppose finally calls xfs_write. xfs_write is
said to return positive error value. So I suppose, that the above
change is correct and the sign flipping must occur only after the call
to xfs_write.
Am I missing something ?
--
/*
* Hash table gook..
*/
2.4.0-test2 /usr/src/linux/fs/buffer.c
|