Age | Commit message (Expand) | Author | Files | Lines |
2022-07-14 | ccan/list: Import latest list helpers | Dan Williams | 1 | -1/+0 |
2022-06-15 | ndctl/bus: Handle missing scrub commands more gracefully | Tarun Sahu | 1 | -4/+14 |
2022-06-15 | ndctl/dimm: Flush invalidated labels after overwrite | Dan Williams | 1 | -12/+22 |
2022-06-15 | namespace-action: Drop more zero namespace checks | Michal Suchanek | 3 | -14/+6 |
2022-06-15 | build: Move utility helpers to libutil.a | Dan Williams | 1 | -2/+0 |
2022-04-08 | monitor: Fix the monitor config file parsing | Shivaprasad G Bhat | 1 | -9/+20 |
2022-04-08 | ndctl,daxctl,util/build: Reconcile 'iniparser' dependency | Vaibhav Jain | 1 | -1/+0 |
2022-02-23 | Merge branch 'for-73/rpm_fixes' into pending | Vishal Verma | 2 | -43/+4 |
2022-02-23 | Merge branch 'for-73/vj/papr' into pending | Vishal Verma | 8 | -23/+201 |
2022-02-22 | config: deduplicate monitor sample configuration. | Michal Suchanek | 2 | -43/+4 |
2022-02-22 | ndctl,libndctl: Update nvdimm flags after smart-inject | Vaibhav Jain | 5 | -14/+51 |
2022-02-18 | libndctl/papr: Add limited support for inject-smart | Vaibhav Jain | 2 | -0/+78 |
2022-02-18 | libndctl, intel: Indicate supported smart-inject types | Vaibhav Jain | 3 | -8/+38 |
2022-02-18 | libndctl/papr: Add support for reporting shutdown-count | Vaibhav Jain | 3 | -1/+34 |
2022-01-26 | util: Implement common bind/unbind helpers | Dan Williams | 1 | -91/+12 |
2022-01-26 | util/sysfs: Uplevel modalias lookup helper to util/ | Dan Williams | 1 | -28/+5 |
2022-01-26 | json: Add support for json_object_new_uint64() | Dan Williams | 2 | -6/+6 |
2022-01-26 | ndctl: Rename util_filter to ndctl_filter | Dan Williams | 4 | -25/+26 |
2022-01-13 | ndctl: Jettison autotools | Dan Williams | 2 | -144/+0 |
2022-01-13 | build: Add meson build infrastructure | Dan Williams | 2 | -0/+130 |
2022-01-13 | build: Drop unnecessary $tool/config.h includes | Dan Williams | 2 | -2/+0 |
2022-01-13 | util: Distribute 'filter' and 'json' helpers to per-tool objects | Dan Williams | 21 | -31/+1746 |
2022-01-13 | ndctl: Deprecate BLK aperture support | Dan Williams | 3 | -21/+1 |
2021-12-17 | Merge branch 'for-72/vv/daxctl_config' into pending | Vishal Verma | 8 | -38/+133 |
2021-12-17 | ndctl, monitor: refator monitor for supporting multiple config files | QI Fuli | 1 | -34/+39 |
2021-12-17 | ndctl, config: add the default ndctl configuration file | QI Fuli | 2 | -1/+59 |
2021-12-17 | ndctl: make ndctl support configuration files | QI Fuli | 6 | -2/+33 |
2021-12-17 | ndctl, util: add parse-configs helper | QI Fuli | 1 | -1/+2 |
2021-07-08 | Merge branch 'for-72/ms/namespace_fixes' into pending | Vishal Verma | 2 | -18/+16 |
2021-07-08 | namespace-action: Drop zero namespace checks. | Santosh Sivaraj | 2 | -15/+0 |
2021-07-08 | ndctl/namespace: Suppress -ENXIO when processing all namespaces. | Michal Suchanek | 1 | -0/+3 |
2021-07-08 | ndctl/namespace: Skip seed namespaces when processing all namespaces. | Michal Suchanek | 1 | -3/+13 |
2021-07-08 | ndctl/dimm: Fix label index block calculations | Jingqi Liu | 4 | -4/+22 |
2021-05-26 | ndctl/scrub: Reread scrub-engine status at start | Dan Williams | 1 | -1/+11 |
2021-05-26 | ndctl/scrub: Stop translating return values | Dan Williams | 1 | -7/+1 |
2021-05-20 | libndctl/papr: Fix probe for papr-scm compatible nvdimms | Vaibhav Jain | 1 | -2/+55 |
2021-05-18 | libndctl: Remove redundant checks and assignments | Santosh Sivaraj | 1 | -6/+3 |
2021-05-13 | Merge branch 'for-72/ss/papr_test' into pending | Vishal Verma | 1 | -66/+42 |
2021-05-13 | papr: Add support to parse save_fail flag for dimm | Santosh Sivaraj | 1 | -1/+4 |
2021-05-13 | libndctl: Unify adding dimms for papr and nfit families | Santosh Sivaraj | 1 | -65/+38 |
2021-03-30 | libndctl: check for active system-ram before disabling daxctl devices | Vishal Verma | 1 | -1/+24 |
2021-03-10 | Expose ndctl_bus_nfit_translate_spa as a public function. | Tsaur, Erwin | 4 | -3/+7 |
2021-03-10 | zero_info_block: skip seed devices | Jeff Moyer | 1 | -0/+3 |
2021-03-10 | ndctl/namespace: Fix disable-namespace accounting relative to seed devices | Redhairer Li | 3 | -7/+13 |
2021-03-09 | msft: Add xlat_firmware_status for JEDEC Byte Addressable Energy Backed DSM | Redhairer Li | 2 | -0/+28 |
2020-12-21 | ndctl/dimm: Fix submit_abort_firmware() | Jane Chu | 1 | -1/+1 |
2020-12-21 | ndctl/dimm: Attempt an abort upon firmware-update-busy status | Dan Williams | 1 | -42/+67 |
2020-12-18 | Merge branches 'for-71/jm/devdax_subdiv', 'for-71/djbw/reconfig-ns', 'for-71/... | Vishal Verma | 40 | -390/+162 |
2020-12-16 | ndctl/namespace: Reconfigure in-place | Dan Williams | 1 | -24/+45 |
2020-12-16 | Rework license identification | Dan Williams | 40 | -357/+81 |
2020-12-16 | Check whether seed is NULL in validate_namespace_options | Zhiqiang Liu | 1 | -4/+12 |
2020-12-16 | lib/inject: check whether cmd is created successfully | Zhiqiang Liu | 1 | -0/+10 |
2020-12-16 | dimm: fix potential fd leakage in dimm_action() | Zhiqiang Liu | 1 | -5/+7 |
2020-12-16 | lib/libndctl: fix memory leakage problem in add_bus | Zhiqiang Liu | 1 | -0/+1 |
2020-12-16 | namespace: check whether pfn|dax|btt is NULL in setup_namespace | Zhiqiang Liu | 1 | -0/+6 |
2020-10-09 | libndctl: Fix probe of non-nfit nvdimms | Vaibhav Jain | 1 | -3/+0 |
2020-10-07 | ndctl/namespace: Catch attempts to sub-divide legacy / label-less capacity | Dan Williams | 1 | -0/+11 |
2020-10-01 | ndctl/inject-error: remove logically dead code | Vishal Verma | 1 | -3/+0 |
2020-10-01 | libndctl: fix a potential buffer overflow | Vishal Verma | 1 | -1/+1 |
2020-09-29 | ndctl: Refactor nfit.h to acpi.h | Dan Williams | 1 | -52/+14 |
2020-08-20 | ndctl/bus: Add 'activate-firmware' command | Dan Williams | 7 | -8/+249 |
2020-08-20 | ndctl/dimm: Auto-arm firmware activation | Dan Williams | 4 | -11/+149 |
2020-08-20 | ndctl/list: Add firmware activation enumeration | Dan Williams | 6 | -2/+185 |
2020-08-20 | ndctl/dimm: Emit dimm firmware details after update | Dan Williams | 2 | -7/+17 |
2020-08-20 | ndctl/dimm: Prepare to emit dimm json object after firmware update | Dan Williams | 3 | -94/+2 |
2020-08-20 | ndctl/dimm: Improve firmware-update failure message | Dan Williams | 1 | -53/+55 |
2020-08-20 | ndctl/dimm: Detect firmware-update vs ARS conflict | Dan Williams | 1 | -9/+23 |
2020-08-20 | ndctl/list: Indicate firmware update capability | Dan Williams | 1 | -0/+5 |
2020-08-20 | ndctl/dimm: Fix chatty status messages | Dan Williams | 1 | -7/+9 |
2020-07-22 | ndctl/lib: fix new symbol location in the symbol script | Vishal Verma | 1 | -1/+1 |
2020-07-21 | ndctl/namespace: fix a resource leak in file_write_infoblock() | Vishal Verma | 1 | -1/+1 |
2020-07-21 | papr: Check for command type in papr_xlat_firmware_status() | Vaibhav Jain | 1 | -3/+1 |
2020-07-20 | infoblock: Set the default alignment to the platform alignment | Santosh Sivaraj | 1 | -13/+56 |
2020-07-20 | ndctl/build: Fix zero-length array warnings | Dan Williams | 3 | -4/+4 |
2020-07-20 | libndctl/papr_scm: Add support for reporting "life_used_percentage" metric | Vaibhav Jain | 2 | -1/+34 |
2020-07-20 | Skip region filtering if numa_node attribute is not present | Santosh Sivaraj | 3 | -3/+15 |
2020-07-01 | monitor: Add epoll timeout for forcing a full dimm health check | Vaibhav Jain | 1 | -3/+28 |
2020-06-19 | libndctl,papr_scm: Implement support for PAPR_PDSM_HEALTH | Vaibhav Jain | 1 | -1/+72 |
2020-06-19 | papr: Add scaffolding to issue and handle PDSM requests | Vaibhav Jain | 1 | -0/+124 |
2020-06-19 | libndctl,papr_scm: Add definitions for PAPR nvdimm specific methods | Vaibhav Jain | 4 | -0/+150 |
2020-06-19 | libncdtl: Add initial support for NVDIMM_FAMILY_PAPR nvdimm family | Vaibhav Jain | 7 | -0/+123 |
2020-06-19 | libndctl: Refactor out add_dimm() to handle NFIT specific init | Vaibhav Jain | 1 | -81/+113 |
2020-03-23 | ndctl/namespace: Fix a resource leak in file_write_infoblock | Vishal Verma | 1 | -2/+4 |
2020-03-20 | ndctl/lib/namespace: Fix resource retrieval after size change | Dan Williams | 1 | -0/+18 |
2020-03-20 | ndctl/list: Add option to list configured + disabled namespaces | Dan Williams | 1 | -5/+18 |
2020-03-20 | ndctl/namespace: Add write-infoblock command | Dan Williams | 4 | -13/+317 |
2020-03-20 | ndctl/namespace: Parse infoblocks from stdin | Dan Williams | 1 | -7/+18 |
2020-03-20 | ndctl/namespace: Fix read-info-block vs read-infoblock | Dan Williams | 1 | -10/+10 |
2020-03-20 | ndctl/namespace: Update 'pfn' infoblock definition | Dan Williams | 2 | -1/+13 |
2020-03-20 | ndctl/namespace: Fix namespace-action vs namespace-mode confusion | Dan Williams | 1 | -11/+11 |
2020-03-20 | ndctl/dimm: Rework iteration to drop unaligned pointers | Dan Williams | 2 | -14/+52 |
2020-03-20 | ndctl/dimm: Rework dimm command status reporting | Dan Williams | 9 | -52/+157 |
2020-03-20 | ndctl/namespace: Clarify 16M minimum size requirement | Dan Williams | 1 | -1/+20 |
2020-03-20 | ndctl/namespace: Validate namespace size within validate_namespace_options() | Dan Williams | 1 | -17/+33 |
2020-03-20 | ndctl/namespace: Introduce mode-to-name and name-to-mode helpers | Dan Williams | 1 | -32/+7 |
2020-03-20 | ndctl/namespace: Kill off the legacy mode names | Dan Williams | 3 | -35/+36 |
2020-03-20 | ndctl/namespace: Disable autorecovery of create-namespace failures | Dan Williams | 1 | -4/+9 |
2020-03-20 | ndctl/namespace: Always zero info-blocks | Dan Williams | 1 | -10/+5 |
2020-03-20 | ndctl/namespace: Add read-infoblock command | Dan Williams | 6 | -21/+457 |
2020-03-20 | ndctl/namespace: Validate resource alignment for dax-mode namespaces | Dan Williams | 1 | -0/+24 |
2020-03-20 | ndctl/util: Up-level is_power_of_2() and introduce IS_ALIGNED | Dan Williams | 1 | -5/+1 |
2020-03-20 | ndctl/namespace: Check for region alignment violations | Dan Williams | 1 | -0/+8 |
2020-03-20 | ndctl/namespace: Emit better errors on failure | Dan Williams | 1 | -27/+47 |
2020-03-20 | ndctl/region: Support ndctl_region_{get, set}_align() | Dan Williams | 4 | -1/+58 |
2020-03-20 | ndctl/namespace: Fix destroy-namespace accounting relative to seed devices | Dan Williams | 1 | -0/+10 |
2020-03-20 | ndctl/list: Drop named list objects from verbose listing | Dan Williams | 1 | -4/+13 |
2020-03-20 | ndctl/list: Add 'target_node' to region and namespace verbose listings | Dan Williams | 5 | -3/+38 |
2020-02-28 | ndctl/build: Ensure header and other misc files are listed. | Auke Kok | 2 | -2/+19 |
2020-02-28 | ndctl/zero-labels: Display error if regions are active | Santosh Sivaraj | 1 | -0/+6 |
2020-02-28 | namespace/create: Don't create multiple namespaces unless greedy | Vaibhav Jain | 1 | -4/+2 |
2020-02-27 | ndctl/namespace: Fix enable-namespace error for seed namespaces | Santosh Sivaraj | 1 | -0/+5 |
2020-02-20 | ndctl: add util/filter.{c,h} to ndctl_SOURCES in Makefile.am | Vishal Verma | 1 | -1/+3 |
2020-02-20 | ndctl/lib: fix symbol redefinitions reported by GCC10 | Vishal Verma | 3 | -6/+6 |
2019-11-12 | Merge branch 'vv/ns_configuration_idle' | Vishal Verma | 4 | -11/+29 |
2019-11-04 | ndctl/namespace: introduce ndctl_namespace_is_configuration_idle() | Vishal Verma | 4 | -3/+29 |
2019-11-04 | ndctl/namespace: remove open coded is_namespace_active() | Vishal Verma | 1 | -11/+3 |
2019-11-01 | ndctl: Clean up loop logic in query_fw_finish_status | Ira Weiny | 1 | -68/+70 |
2019-10-23 | load-keys: get rid of duplicate assignment | Jeff Moyer | 1 | -1/+0 |
2019-10-23 | query_fw_finish_status: get rid of redundant variable | Jeff Moyer | 1 | -6/+2 |
2019-10-23 | fix building of tags tables | Jeff Moyer | 1 | -1/+1 |
2019-10-14 | ndctl: Reuse the align value from the original namespace on reconfiguration | Aneesh Kumar K.V | 1 | -0/+16 |
2019-09-20 | libndctl: Fix a potentially non NUL-terminated string operation | Vishal Verma | 1 | -2/+2 |
2019-08-29 | ndctl/namespace: add a --continue option to create namespaces greedily | Vishal Verma | 1 | -6/+28 |
2019-08-27 | ndctl/namespace: Fix 'clear-error -s' excessive scrubbing | Dan Williams | 1 | -5/+13 |
2019-08-20 | ndctl/check-namespace: improve error message in absence of a BTT | Vishal Verma | 1 | -0/+2 |
2019-08-19 | ndctl/dimm: Add support for separate security-frozen attribute | Dan Williams | 4 | -1/+31 |
2019-08-07 | ndctl/lib: Fix duplicate bus detection | Dan Williams | 1 | -1/+3 |
2019-08-06 | ndctl, check: Ensure mmap of BTT sections work with 64K page-sizes | Vaibhav Jain | 1 | -26/+67 |
2019-08-05 | ndctl/namespace: Report ENOSPC when regions are full | Dan Williams | 1 | -0/+9 |
2019-08-05 | ndctl/namespace: Continue region search on 'missing seed' event | Dan Williams | 1 | -1/+1 |
2019-08-05 | ndctl/namespace: Minimize label data transfer for autolabel | Dan Williams | 1 | -1/+1 |
2019-08-05 | ndctl/dimm: Limit read-labels with --index option | Dan Williams | 1 | -16/+27 |
2019-08-05 | ndctl/dimm: Add offset and size options to {read, write, zero}-labels | Dan Williams | 6 | -21/+74 |
2019-08-05 | ndctl/dimm: Minimize data-transfer for init-labels | Dan Williams | 4 | -4/+53 |
2019-08-05 | ndctl/dimm: Support small label reads/writes | Dan Williams | 4 | -15/+103 |
2019-08-05 | ndctl/monitor: Allow monitor to be manually moved to the background | Dan Williams | 1 | -2/+2 |
2019-08-05 | ndctl/dimm: Fix init-labels success reporting | Dan Williams | 1 | -1/+1 |
2019-08-05 | ndctl/namespace: Handle 'create-namespace' in label-less mode | Dan Williams | 1 | -3/+7 |
2019-08-05 | ndctl/dimm: Add --human support to read-labels | Dan Williams | 1 | -8/+12 |
2019-08-05 | ndctl/dimm: Add 'flags' field to read-labels output | Dan Williams | 1 | -0/+5 |
2019-08-01 | ndctl/monitor: make the daemon exit message 'info' level | Vishal Verma | 1 | -1/+1 |
2019-06-14 | libndctl/inject: Refuse error injection for BTT namespaces | Vishal Verma | 1 | -9/+24 |
2019-05-10 | ndctl/namespace.c: fix a potential integer overflow | Vishal Verma | 1 | -1/+1 |
2019-05-10 | libndctl: fix an unhandled return in ndctl_bus_poll_scrub_completion() | Vishal Verma | 1 | -0/+2 |
2019-05-10 | ndctl/namespace.c: fix an unchecked return value | Vishal Verma | 1 | -2/+4 |
2019-05-10 | ndctl/namespace.c: fix a resource leak in bus_send_clear() | Vishal Verma | 1 | -9/+11 |
2019-05-07 | ndctl: add a 'clear-errors' command | Vishal Verma | 4 | -0/+282 |
2019-04-15 | ndctl/region: fix error propagation in region_action() | Yi Zhang | 1 | -1/+1 |
2019-04-01 | monitor: remove the requirement of a default config | QI Fuli | 1 | -2/+5 |
2019-03-28 | ndctl: fix key blob loading for non-TPM keys | Dave Jiang | 3 | -15/+28 |
2019-03-28 | ndctl: fix load-keys for non-TPM master-keys | Dave Jiang | 1 | -4/+2 |
2019-03-27 | ndctl: allow a "zero-key" for secure erase | Dave Jiang | 3 | -8/+21 |
2019-03-26 | libndctl: Implement the "cmd_is_supported" dimm-op for Hyper-V | Dexuan Cui | 1 | -0/+14 |
2019-03-26 | libndctl: Add a new dimm-op cmd_is_supported() | Dexuan Cui | 2 | -0/+6 |
2019-03-26 | ndctl, monitor: Don't require the support of ND_CMD_SMART_THRESHOLD | Dexuan Cui | 1 | -8/+4 |
2019-03-26 | libndctl: Implement the smart_get_shutdown_count dimm-op for Hyper-V | Dexuan Cui | 2 | -0/+51 |
2019-03-25 | libndctl: Implement the "smart_get_health" dimm-op for Hyper-V | Dexuan Cui | 6 | -0/+163 |
2019-03-22 | ndctl/list: Introduce region capability objects | Dan Williams | 1 | -0/+12 |
2019-03-22 | ndctl: preserve keys after an overwrite command | Dave Jiang | 1 | -3/+0 |
2019-03-20 | ndctl: fix a memory leak in libndctl | Ćukasz Plewa | 1 | -0/+1 |
2019-03-20 | ndctl/bus: Add poll interval to wait-scrub | Dan Williams | 4 | -24/+97 |
2019-02-05 | ndctl: fix ndctl linking with libkeyutils | Piotr Balcer | 2 | -4/+4 |
2019-02-05 | ndctl: Fix building in the absence of keyutils | Oliver O'Halloran | 2 | -1/+3 |
2019-02-01 | ndctl, load-keys: fix a resource leak in load_dimm_keys() | Vishal Verma | 1 | -4/+10 |
2019-02-01 | libndctl: fix a couple of theoretical buffer overruns | Vishal Verma | 1 | -2/+2 |
2019-02-01 | ndctl, keys: fix a resource leak in verify_kek() | Vishal Verma | 1 | -5/+11 |
2019-02-01 | ndctl, keys: fix a memory leak in dimm_create_key() | Vishal Verma | 1 | -8/+9 |
2019-02-01 | ndctl, rpmbuild: Add a dummy readme file to ndctl_keysdir | Vishal Verma | 2 | -0/+3 |
2019-02-01 | ndctl: allow for a 'secure erase' using the master passphrase | Dave Jiang | 6 | -13/+44 |
2019-02-01 | ndctl: master phassphrase management support | Dave Jiang | 6 | -35/+119 |
2019-02-01 | ndctl: add a wait-overwrite command | Dave Jiang | 6 | -0/+109 |
2019-02-01 | ndctl: add an overwrite option to 'sanitize-dimm' | Dave Jiang | 6 | -12/+83 |
2019-02-01 | ndctl: add a load-keys command and a modprobe config | Dave Jiang | 6 | -23/+310 |
2019-02-01 | ndctl: add a sanitize-dimm command | Dave Jiang | 8 | -5/+103 |
2019-02-01 | ndctl: add a freeze-security command | Dave Jiang | 6 | -0/+37 |
2019-02-01 | ndctl: add passphrase management commands | Dave Jiang | 10 | -11/+677 |
2019-02-01 | ndctl: add support for displaying the security state | Dave Jiang | 3 | -0/+45 |
2019-01-30 | libndctl: fix bb iterator leak in namespaces | Piotr Balcer | 1 | -0/+1 |
2019-01-30 | ndctl/namespace: Make the create-namespace JSON output non-verbose | Oliver O'Halloran | 1 | -1/+1 |
2019-01-30 | ndctl/namespace: Validate alignment from the {pfn|dax} seed | Oliver O'Halloran | 1 | -8/+29 |
2019-01-30 | ndctl/namespace: Use seed alignment as the default | Oliver O'Halloran | 1 | -53/+43 |
2019-01-30 | ndctl/namespace: Check for seed namespaces earlier | Oliver O'Halloran | 1 | -25/+23 |
2019-01-30 | libndctl: Use the supported_alignment attribute | Oliver O'Halloran | 3 | -0/+51 |
2019-01-30 | libndctl: Fix the failure interpretation for status translations | Vishal Verma | 1 | -1/+1 |
2019-01-17 | ndctl/build: Fix config.h dependency | Dan Williams | 1 | -3/+3 |
2019-01-16 | ndctl: Introduce ndctl/config.h | Dan Williams | 2 | -0/+8 |
2019-01-16 | ndctl/init-labels: Fix label slot accounting per UEFI 2.7 | Dan Williams | 1 | -10/+25 |
2019-01-14 | ndctl: clean up usage of ndctl_cmd_submit | Vishal Verma | 4 | -17/+13 |
2019-01-14 | ndctl, monitor: switch to ndctl_cmd_submit_xlat | Vishal Verma | 1 | -3/+3 |
2019-01-14 | ndctl, inject-smart: switch to ndctl_cmd_submit_xlat | Vishal Verma | 2 | -12/+12 |
2019-01-14 | libndctl, intel: Add infrastructure for firmware_status translation | Vishal Verma | 6 | -0/+88 |
2019-01-08 | libndctl: ignore ENXIO in ndctl_namespace_delete | Vishal Verma | 1 | -1/+6 |
2019-01-08 | ndctl, monitor: use type=simple instead of type=forking | Johannes Thumshirn | 1 | -3/+2 |
2019-01-02 | ndctl/monitor: Kill usage of ndctl/lib/private.h | Dan Williams | 3 | -44/+47 |
2019-01-02 | ndctl/monitor: Drop vasprintf usage | Dan Williams | 1 | -35/+8 |
2019-01-02 | ndctl/monitor: Fix / cleanup log_file() | Dan Williams | 1 | -17/+6 |
2019-01-02 | ndctl/monitor: Unify definition of default monitor configfile path | Dan Williams | 2 | -5/+3 |
2019-01-02 | ndctl/monitor: Drop 'struct ndctl_ctx *' casts | Dan Williams | 1 | -11/+11 |
2019-01-02 | ndctl, daxctl: Add type-safety to command harness | Dan Williams | 13 | -78/+80 |
2019-01-02 | ndctl, daxctl: Split builtin.h per-command | Dan Williams | 2 | -3/+36 |