> > Another reason a lot of distros do not support it is because a common 
> > problem we always hit is that users will write out some data, then start 
> > modifying it again. But the kernel will normally not do do a sync write 
> > when you do a write. So once the write() returns, the kernel is still 
> > sending it through the caches, block, scsi, and iscsi layers. If you are 
> > writing to the data while the it is working its way through the iscsi 
> > layers, the iscsi layer could have done the digest calculation, then you 
> > could modify it and now when the target checks it the digest check will 
> > fail. And so this happens over and over and you get digest errors all 
> > over the place and the iscsi layers fire their error handling and retry 
> > and retry, and in the end they just say forget it and do not support 
> > data digests.
> 
> So information flow seems to be a bit different from what I was expecting. I 
> thought the "physical write" is when the kernel issues the SCSI command write 
> to 
> the HBA (which should be iSCSI here). ISCSI would then build a network packet 
> from 

It does build it, but the page that references the data is unmodified - and is 
passed
along to the TCP layer which then passes it on to the NIC. This is the 
zero-page copy
path which "assembles" the network packet by assembling the components of the 
network
packet (ie, on this page is the TCP header, on this next page is the data) on 
the fly (instead of 
copying the data from iSCSI and then assembling them all on one page).

Mike, please correct me if I am wrong.

> the SCSI command and transfer it, optionally with digests attached.

Your original e-mail was asking about two different types of digests. The PDU 
header
and the data. The PDU header I am pretty sure is working - will double-check
today thought. 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---

Reply via email to