Thanks for your patience regarding my questions. Because after I had dug (digged) very older posts, I realized
many of the older posts already had answers for many of my earlier questions :). After your couple of answers and going
through old posts, I have a better understanding of user land and kernel land.
Now one more point.
Kernel land:
While we are at kernel land, I have a confusion on that.
AFAIK in linux kernel, the linux block layer is a glue that, on the one hand, allows applications to access
diverse storage devices
in a uniform way, and on the other hand,
provides storage devices and drivers with a single point of entry from all applications.
I mean this Linux OS (host) block layer is the most
critical part of the I/O hierarchy, as it orchestrates the I/O
requests from different applications to the underlying storage.
Question:
So in context of Open-iSCSI, where does the user-land interacts the block layer in the kernel land? I
mean, when it comes to kernel land, why we are considering only scsi_transport_iscsi.c and iscsi_tcp.c codes? Shouldn't
the block request go through block layer?