Add support for "no Data-Out Buffer" (NDOB) flag of WRITE SAME (16) command.

(cherry picked from commit 0db50d6959988aaaff9230c6f5ff7b05f1bd3102)
Allow more commands to pass persistent reservation according to SPC-4 r37.

(cherry picked from commit 2286325b1ed76654f3af1382270d4919a67b2c5f)
Fix inverted expression to report block size in mode page block descriptor.

(cherry picked from commit 5586a5309c80ad0d17ea7b5a71436f95f710b06d)
Allow SUBPAGE CODE field in MODE SENSE commands.

(cherry picked from commit aa335f6556c9795b0e4dbe2f23b03824c0dbeee1)
Polish INQUIRY command fields validation.

(cherry picked from commit 75df401e0f174979207ea5f642d32d82fd7ab891)
Report proper errors codes for unsupported SERVICE ACTION values.

(cherry picked from commit 4710a99b86964ee15d37000c0b61924dea4c8e1c)
Don't report unsupported FUA_NV bit set in READ/WRITE commands as error.

While this bit is obsolete in SBC-3, SBC-2 allowed to silently ignore it.

(cherry picked from commit dc04923c4855e6e49896516515ee1f9d4faa9538)
Simplify legacy reservation handling.  Drop it on I_T nexus loss.

(cherry picked from commit 724af6b5c3e043d8c23475fb6fdb6767be220dcb)
Fix UNMAP stuck if the last block descriptor in the list is empty.

MFC after:	3 days

(cherry picked from commit 2e3ecd2f04c1fe976995f9a41ece8f68c6abc571)
Don't try to continue aborted commands if status was not set.

(cherry picked from commit 3832b4fbc3f7a0166cb453409d588008c1f05163)
Deny ANCHOR flag set without UNMAP flag set in WRITE SAME commands.

(cherry picked from commit 9e711a15d73e7f9e8992f45e4b5969b413680623)
Fix read overrun handling, broken by using wrong variable.

MFC after:	3 days

(cherry picked from commit 1eb6a7500b6a6588e6845e6b63deeb86f3b246c0)
Pretend that we support BYTCHK=1 in WRITE AND VERIFY command.

Technically that is not true, but since we don't implement VERIFY there
at all, doing only WRITE part, this is a minor sin.

(cherry picked from commit 039c7786f9ef9208fc361c4faa23ccb7398e0917)