]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r269123:
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 2 Aug 2014 06:56:00 +0000 (06:56 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 2 Aug 2014 06:56:00 +0000 (06:56 +0000)
commit163f982935a2ee4d7400cc7f6a6d2d57b7196530
tree830491e78ed5b17781df256e70116e569f09d266
parenta140ef06dd0c5b7cb117292649dfeb42e088e6ef
MFC r269123:
Implement separate I/O dispatch method for ZVOLs in "dev" mode.

Unlike disk devices ZVOLs process all requests synchronously.  That makes
impossible sending multiple requests to them from single thread.  From the
other side ZVOLs have real d_read/d_write methods, which unlike d_strategy
can handle uio scatter/gather and have no strict I/O size limitations.

So, if ZVOL in "dev" mode is detected, use of d_read/d_write methods instead
of d_strategy allows to avoid pointless splitting of large requests into
MAXPHYS (128K) sized chunks.

git-svn-id: svn://svn.freebsd.org/base/stable/10@269429 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/cam/ctl/ctl_backend_block.c