Print this page
NEX-3288 fmd segfaults in zfs-diagnosis.so`zfs_fm_close
Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com>
Reviewed by: Marcel Telka <marcel.telka@nexenta.com>
NEX-3011 zfs-diagnosis: Memory leak in zpool_find_load_time()
Reviewed by: Dan Fields <dan.fields@nexenta.com>
OS-70 remove zio timer code
re #12393 rb3935 Kerberos and smbd disagree about who is our AD server (fix elf runtime attributes check)
re #11612 rb3907 Failing vdev of a mirrored pool should not take zfs operations out of action for extended periods of time.

*** 18,30 **** * * CDDL HEADER END */ /* - * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. */ #include <assert.h> #include <stddef.h> #include <strings.h> #include <libuutil.h> --- 18,32 ---- * * CDDL HEADER END */ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. */ + /* + * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + */ #include <assert.h> #include <stddef.h> #include <strings.h> #include <libuutil.h>
*** 930,941 **** } static void zfs_fm_close(fmd_hdl_t *hdl, fmd_case_t *cs) { ! zfs_case_t *zcp = fmd_case_getspecific(hdl, cs); if (zcp->zc_data.zc_serd_checksum[0] != '\0') fmd_serd_destroy(hdl, zcp->zc_data.zc_serd_checksum); if (zcp->zc_data.zc_serd_io[0] != '\0') fmd_serd_destroy(hdl, zcp->zc_data.zc_serd_io); if (zcp->zc_data.zc_has_remove_timer) --- 932,946 ---- } static void zfs_fm_close(fmd_hdl_t *hdl, fmd_case_t *cs) { ! zfs_case_t *zcp; + if ((zcp = fmd_case_getspecific(hdl, cs)) == NULL) + return; + if (zcp->zc_data.zc_serd_checksum[0] != '\0') fmd_serd_destroy(hdl, zcp->zc_data.zc_serd_checksum); if (zcp->zc_data.zc_serd_io[0] != '\0') fmd_serd_destroy(hdl, zcp->zc_data.zc_serd_io); if (zcp->zc_data.zc_has_remove_timer)
*** 970,980 **** { "remove_timeout", FMD_TYPE_TIME, "15sec" }, { NULL, 0, NULL } }; static const fmd_hdl_info_t fmd_info = { ! "ZFS Diagnosis Engine", "1.0", &fmd_ops, fmd_props }; void _fmd_init(fmd_hdl_t *hdl) { --- 975,985 ---- { "remove_timeout", FMD_TYPE_TIME, "15sec" }, { NULL, 0, NULL } }; static const fmd_hdl_info_t fmd_info = { ! "ZFS Diagnosis Engine", "1.1", &fmd_ops, fmd_props }; void _fmd_init(fmd_hdl_t *hdl) {