On 07/17/2013 01:33 AM, Heiko L. wrote:
Hallo I have a problem to understand following error: [2013-07-16 15:36:05.056955] D [afr-lk-common.c:403:transaction_lk_op] 0-gv0-replicate-0: lk op is for a transaction [2013-07-16 15:36:05.057367] D [afr-transaction.c:1027:afr_post_nonblocking_inodelk_cbk] 0-gv0-replicate-0: Non blocking inodelks done. Proceeding to FOP [2013-07-16 15:36:05.057640] D [client3_1-fops.c:2810:client_fdctx_destroy] 0-gv0-client-0: sending release on fd [2013-07-16 15:36:05.057687] D [client3_1-fops.c:2810:client_fdctx_destroy] 0-gv0-client-1: sending release on fd [2013-07-16 15:36:05.058460] W [client3_1-fops.c:2009:client3_1_setattr_cbk] 0-gv0-client-0: remote operation failed: Value too large for defined data type [2013-07-16 15:36:05.058515] W [client3_1-fops.c:2009:client3_1_setattr_cbk] 0-gv0-client-1: remote operation failed: Value too large for defined data # grep "EOVERFLOW " ./libglusterfs/src/compat-errno.c /* EOVERFLOW 79 / * value too large to be stored in data type */ /* EOVERFLOW 84 / * Value too large to be stored in data type */ /* EOVERFLOW 84 / * Value too large to be stored in data type */ root@osol4:/tmp/glusterfs-3.3.2# vi ./xlators/protocol/client/src/client3_1-fops.c 1983 if (-1 == req->rpc_status) { 1984 rsp.op_ret = -1; 1985 rsp.op_errno = ENOTCONN; 1986 goto out; 1987 } 1988 1989 ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_setattr_rsp); 1990 if (ret < 0) { 1991 gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); 1992 rsp.op_ret = -1; 1993 rsp.op_errno = EINVAL; 1994 goto out; 1995 } 1996 1997 if (-1 != rsp.op_ret) { 1998 gf_stat_to_iatt (&rsp.statpre, &prestat); 1999 gf_stat_to_iatt (&rsp.statpost, &poststat); 2000 } 2001 2002 GF_PROTOCOL_DICT_UNSERIALIZE (this, xdata, (rsp.xdata.xdata_val), 2003 (rsp.xdata.xdata_len), ret, 2004 rsp.op_errno, out); 2005 2006 out: 2007 if (rsp.op_ret == -1) { 2008 gf_log (this->name, GF_LOG_WARNING, "remote operation failed: %s", 2009 strerror (gf_error_to_errno (rsp.op_errno))); 2010 } my suggestion: - l2009 gf_log printed: remote operation failed: Value too large for defined data type - according to [1]: The symbolic name for this error is EOVERFLOW, errno=79 - l2006 out: can jumping from 1986,1994 (ENOTCONN,EINVAL) I do not see EOVERFLOW. where EOVERFLOW setting?
rsp.op_errno would be ENOTCONN or EINVAL if your client received an error from the rpc layer or if decoding of the rpc payload failed. This situation mostly indicates that the brick set rsp.op_errno to EOVERFLOW. Have you checked the brick log file to determine if a corresponding error log message is present there?
-Vijay