public int setxattr(ByteBuffer path, ByteBuffer name, ByteBuffer value, int flags, int position) {
        if (xattrSupport == null) {
            return handleErrno(Errno.ENOTSUPP);
        }

        String pathStr = cs.decode(path).toString();
        String nameStr = cs.decode(name).toString();

        if (log != null && log.isDebugEnabled()) {
            log.debug("setxattr: path=" + pathStr + ", name=" + nameStr + ", value=" + value + ", flags=" + flags);
        }

        try {
            return handleErrno(xattrSupport.setxattr(pathStr, nameStr, value, flags, position));
        }
        catch(Exception e) {
            return handleException(e);
        }
    }