in iscsi_copy_operational_params, the conn->max_recv_dlength is set to
_padding (conn_conf->MaxRecvDataSegmentLength);

initiator_common.c:153 ::  conn->max_recv_dlength =
__padding(conn_conf->MaxRecvDataSegmentLength);

This (_padding) rounds up the value. If the configured
MaxRecvDataSegmentLength is set to the actual maximum (2^24 -1 :
16777215), the _padding function changes it to 16777216, causing the
comparison to fail since it is above the maximum and it resets the
value to the default minimum (262144).  This is probably not the
intended result.

The actual maximum is really 16777212 since 16777212 & 0x03 == 0,
which will cause it to pass thru the _padding function with no change.

The _padding issue probably affects other parameters as well, thats
the one where I first noticed the problem.


-Wyllys Ingersoll

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to