#
519b24f0 |
|
22-Nov-2023 |
Alexander Motin <mav@FreeBSD.org> |
CAM: Replace random sbuf_printf() with cheaper cat/putc.
|
#
2ffd30f7 |
|
06-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
cam: Remove left-over sys/cdefs.h in sys/cam These weren't removed when $FreeBSD$ was removed. They aren't needed and now are a style(9) nonconformity. Sponsored by: Netflix
|
#
685dc743 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
0be27bde |
|
01-Aug-2023 |
John Baldwin <jhb@FreeBSD.org> |
cam/nvme: Remove spurious newline during periph detach announcement Other protocol denounce routines use a "short" variant of announce that does not include a trailing newline. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D41176
|
#
891c6986 |
|
07-Oct-2022 |
Warner Losh <imp@FreeBSD.org> |
cam: Use FreeBSD standard copyright For CAM, move to the FreeBSD standard copyright rather than the 'put it at the front' variation. This variaiton has been flagged as potentially problematic in other contexts. Since this variation wasn't a conscious decision on our part, use the standard license from src/COPYRIGHT. Also, remove the -FreeBSD suffix in SPDX-License-Identifier. It's obsolete at SPDX and even the original text didn't match it. MFC After: 3 days Sponsored by: Netflix
|
#
3090d504 |
|
24-Jan-2022 |
Kenneth D. Merry <ken@FreeBSD.org> |
Fix non-printable characters in NVMe model and serial numbers. The NVMe 1.4 spec simply says that Model and Serial numbers are ASCII strings. Unlike SCSI, it doesn't prohibit non-printable characters or say that the strings should be padded with spaces. Since 2014, we have had cam_strvis_sbuf(), which gives additional options for handling non-ASCII characters. That behavior hasn't been available for non-sbuf consumers, so users of cam_strvis() were left with having octal ASCII codes inserted. So, to avoid having garbage or octal chracters in the strings, use cam_strvis_sbuf() to create a new function, cam_strvis_flag(), and re-implement cam_strvis() using cam_strvis_flag(). Now, for the NVMe drives, we can use cam_strvis_flag with the CAM_STRVIS_FLAG_NONASCII_SPC flag. This transforms non-printable characters into spaces. sys/cam/cam.c: Add a new function, cam_strvis_flag(), that creates an sbuf on the stack with the user's destination buffer, and calls cam_strvis_sbuf() with the given flag argument. Re-implement cam_strvis() to call cam_strvis_flag with the CAM_STRVIS_FLAG_NONASCII_ESC argument. This should be the equivalent of the old cam_strvis() function, except for the overhead of creating the sbuf and calling sbuf_putc/printf. sys/cam/cam.h: Declaration for cam_strvis_flag. sys/cam/nvme/nvme_all.c: In nvme_print_ident, use the NONASCII_SPC flag with cam_strvis_flag(). sys/cam/nvme/nvme_da.c: In ndaregister(), use cam_strvis_flag() with the NONASCII_SPC flag for the disk description and serial number we report to GEOM. sys/cam/nvme/nvme_xpt.c: In nvme_probe_done(), use cam_strvis_flag with the NONASCII_SPC flag when storing the drive serial number in the CAM EDT. MFC after: 1 week Sponsored by: Spectra Logic Differential Revision: https://reviews.freebsd.org/D33973
|
#
cd500da9 |
|
13-Oct-2020 |
Alexander Motin <mav@FreeBSD.org> |
Fix sbuf_finish() error code check in user-space. MFC after: 1 week Sponsored by: iXsystems, Inc.
|
#
27dcd3d9 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cam: clean up empty lines in .c and .h files
|
#
e40d8dbb |
|
02-Apr-2019 |
Alexander Motin <mav@FreeBSD.org> |
Make cam_error_print() decode NVMe commands. MFC after: 2 weeks
|
#
52467047 |
|
04-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Regularize the Netflix copyright Use recent best practices for Copyright form at the top of the license: 1. Remove all the All Rights Reserved clauses on our stuff. Where we piggybacked others, use a separate line to make things clear. 2. Use "Netflix, Inc." everywhere. 3. Use a single line for the copyright for grep friendliness. 4. Use date ranges in all places for our stuff. Approved by: Netflix Legal (who gave me the form), adrian@ (pmc files)
|
#
9544e6dc |
|
21-Aug-2018 |
Chuck Tuffli <chuck@FreeBSD.org> |
Make NVMe compatible with the original API The original NVMe API used bit-fields to represent fields in data structures defined by the specification (e.g. the op-code in the command data structure). The implementation targeted x86_64 processors and defined the bit fields for little endian dwords (i.e. 32 bits). This approach does not work as-is for big endian architectures and was changed to use a combination of bit shifts and masks to support PowerPC. Unfortunately, this changed the NVMe API and forces #ifdef's based on the OS revision level in user space code. This change reverts to something that looks like the original API, but it uses bytes instead of bit-fields inside the packed command structure. As a bonus, this works as-is for both big and little endian CPU architectures. Bump __FreeBSD_version to 1200081 due to API change Reviewed by: imp, kbowling, smh, mav Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D16404
|
#
2ebb808f |
|
27-May-2018 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
cam nvme: fix array overrun Fix a classic array overrun where the index could be one past the end. Reported by: Coverity CID: 1356596 MFC after: 3 days Sponsored by: Dell EMC
|
#
041f49ae |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove the 'All Rights Reserved' clause from some of the stuff I've done for Netflix, since I'm in the neighborhood.
|
#
0d787e9b |
|
22-Feb-2018 |
Wojciech Macek <wma@FreeBSD.org> |
NVMe: Add big-endian support Remove bitfields from defined structures as they are not portable. Instead use shift and mask macros in the driver and nvmecontrol application. NVMe is now working on powerpc64 host. Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Reviewed by: imp, wma Sponsored by: IBM, QCM Technologies Differential revision: https://reviews.freebsd.org/D13916
|
#
f24882ec |
|
16-Jan-2018 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
SPDX: finish tagging sys/cam.
|
#
5e8a39f6 |
|
13-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Properly decode NVMe state of the drive and print out the information in the attach to more closely match what SCSI and ATA attached storage provides. Sponsored by: Netflix
|
#
9f8ed7e4 |
|
29-Aug-2017 |
Warner Losh <imp@FreeBSD.org> |
Fix NVMe's use of XPT_GDEV_TYPE This patch changes the way XPT_GDEV_TYPE works for NVMe. The current ccb_getdev structure includes pointers to the NVMe Identify Controller and Namespace structures, but these are kernel virtual addresses which are not accessible from user space. As an alternative, the patch changes the pointers into padding in ccb_getdev and adds two new types to ccb_dev_advinfo to retrieve the Identify Controller (CDAI_TYPE_NVME_CNTRL) and Namespace (CDAI_TYPE_NVME_NS) data structures. Reviewed By: rpokala, imp Differential Revision: https://reviews.freebsd.org/D10466 Submitted by: Chuck Tuffli
|
#
baabaca3 |
|
09-Jun-2016 |
Warner Losh <imp@FreeBSD.org> |
New NVMe front end (nda).
|