Acked-by: Latchesar Ionkov <[EMAIL PROTECTED]>

On Sep 10, 2008, at 4:12 PM, Abhishek Kulkarni wrote:


On Wed, 2008-09-10 at 16:00 -0600, Latchesar Ionkov wrote:

On Sep 10, 2008, at 3:52 PM, Abhishek Kulkarni wrote:


1) _GNU_SOURCE needs to be defined for strerror_r to work correctly in
libnpfs/error.c

No, if it needs to be defined, we need to find out another way of
getting that result. I don't want to make xcpu work only on GNU OSes.


Fair enough. It makes complete sense to me. It's already in a bunch of
places though (in libspfs too).
The way to deal with strerror_r would be to use the XSI compliant
version of the function.

Index: libnpfs/error.c
===================================================================
--- libnpfs/error.c     (revision 693)
+++ libnpfs/error.c     (working copy)
@@ -152,10 +152,10 @@
void
np_suerror(char *s, int ecode)
{
-       char err[256], *str;
+       char err[256];
       char buf[512];

-       str = strerror_r(ecode, err, sizeof(err));
-       snprintf(buf, sizeof(buf), "%s: %s", s, str);
+       strerror_r(ecode, err, sizeof(err));
+       snprintf(buf, sizeof(buf), "%s: %s", s, err);
       np_werror(buf, ecode);
}
Index: libspfs/error.c
===================================================================
--- libspfs/error.c     (revision 693)
+++ libspfs/error.c     (working copy)
@@ -20,7 +20,6 @@
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */
-#define _GNU_SOURCE
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -92,10 +91,10 @@
void
sp_suerror(char *s, int ecode)
{
-       char err[256], *str;
+       char err[256];
       char buf[512];

-       str = strerror_r(ecode, err, sizeof(err));
-       snprintf(buf, sizeof(buf), "%s: %s", s, str);
+       strerror_r(ecode, err, sizeof(err));
+       snprintf(buf, sizeof(buf), "%s: %s", s, err);
        sp_werror(buf, ecode);
}





2) After the error handling changes in utils, local errors are not
registered properly as xp_nodeerror takes into account errors returned
by the remote nodes only. This patch makes sure we return errors
correctly, local or remote.

Signed-off-by: Abhishek Kulkarni <[EMAIL PROTECTED]>
<all.patch>



Reply via email to