The following patches were made over Linus's tree and allow the PR/pr_ops users to handle errors without having to know the device type and also for SCSI handle devices that require the sense code. Currently, we return a -Exyz type of error code if the PR call fails before the drivers can send the command and a device specific error code if it's queued. The problem is that the callers don't always know the device type so they can't check for specific errors like reservation conflicts, or transport errors or invalid operations. These patches add common error codes which callers can check for.