Print this page
5133 Upstream SMB client fixes: Nexenta SUP-538 and SUP-548

*** 30,42 **** * SUCH DAMAGE. * * $Id: smb_trantcp.c,v 1.39 2005/03/02 01:27:44 lindak Exp $ */ /* - * Copyright 2012 Nexenta Systems, Inc. All rights reserved. * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #include <sys/param.h> #include <sys/systm.h> #include <sys/autoconf.h> --- 30,42 ---- * SUCH DAMAGE. * * $Id: smb_trantcp.c,v 1.39 2005/03/02 01:27:44 lindak Exp $ */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ #include <sys/param.h> #include <sys/systm.h> #include <sys/autoconf.h>
*** 594,604 **** nbp->nbp_flags &= ~NBF_CONNECTED; while (nbp->nbp_flags & (NBF_SENDLOCK | NBF_RECVLOCK)) { nbp->nbp_flags |= NBF_LOCKWAIT; cv_wait(&nbp->nbp_cv, &nbp->nbp_lock); } ! if (nbp->nbp_tiptr != NULL) { (void) t_kclose(nbp->nbp_tiptr, 0); nbp->nbp_tiptr = NULL; } nbp->nbp_state = NBST_CLOSED; --- 594,607 ---- nbp->nbp_flags &= ~NBF_CONNECTED; while (nbp->nbp_flags & (NBF_SENDLOCK | NBF_RECVLOCK)) { nbp->nbp_flags |= NBF_LOCKWAIT; cv_wait(&nbp->nbp_cv, &nbp->nbp_lock); } ! if (nbp->nbp_frag != NULL) { ! freemsg(nbp->nbp_frag); ! nbp->nbp_frag = NULL; ! } if (nbp->nbp_tiptr != NULL) { (void) t_kclose(nbp->nbp_tiptr, 0); nbp->nbp_tiptr = NULL; } nbp->nbp_state = NBST_CLOSED;
*** 661,676 **** mutex_enter(&nbp->nbp_lock); if ((nbp->nbp_flags & NBF_CONNECTED) != 0) { nbp->nbp_flags &= ~NBF_CONNECTED; - - if (nbp->nbp_frag != NULL) { - freemsg(nbp->nbp_frag); - nbp->nbp_frag = NULL; - } - err = nb_snddis(nbp); } mutex_exit(&nbp->nbp_lock); return (err); --- 664,673 ----