NVMe: Change the definition of nvme_user_io
authorMatthew Wilcox <matthew.r.wilcox@intel.com>
Mon, 21 Mar 2011 13:48:57 +0000 (09:48 -0400)
committerMatthew Wilcox <matthew.r.wilcox@intel.com>
Fri, 4 Nov 2011 19:53:01 +0000 (15:53 -0400)
commit6c7d49455ceb63064f992347d9185ff5bf43497a
tree8a5fde81a68cd41c12079d8c2baf7ea1cf3e40fe
parent9d4af1b7796ba02b73a79a8694399e5a3cd1c55d
NVMe: Change the definition of nvme_user_io

The read and write commands don't define a 'result', so there's no need
to copy it back to userspace.

Remove the ability of the ioctl to submit commands to a different
namespace; it's just asking for trouble, and the use case I have in mind
will be addressed througha  different ioctl in the future.  That removes
the need for both the block_shift and nsid arguments.

Check that the opcode is one of 'read' or 'write'.  Future opcodes may
be added in the future, but we will need a different structure definition
for them.

The nblocks field is redefined to be 0-based.  This allows the user to
request the full 65536 blocks.

Don't byteswap the reftag, apptag and appmask.  Martin Petersen tells
me these are calculated in big-endian and are transmitted to the device
in big-endian.

Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
drivers/block/nvme.c
include/linux/nvme.h