Print this page
NEX-14666 Need to provide SMB 2.1 Client
NEX-17187 panic in smbfs_acl_store
NEX-17231 smbfs create xattr files finds wrong file
NEX-17224 smbfs lookup EINVAL should be ENOENT
NEX-17260 SMB1 client fails to list directory after NEX-14666
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Joyce McIntosh <joyce.mcintosh@nexenta.com>
and: (cleanup)
5404 smbfs needs mmap support
Portions contributed by: Gordon Ross <gordon.w.ross@gmail.com>
Reviewed by: C Fraire <cfraire@me.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Jason King <jason.brian.king@gmail.com>
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Approved by: Richard Lowe <richlowe@richlowe.net>

*** 31,43 **** * * $Id: smbfs_node.h,v 1.31.52.1 2005/05/27 02:35:28 lindak Exp $ */ /* - * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _FS_SMBFS_NODE_H_ #define _FS_SMBFS_NODE_H_ --- 31,44 ---- * * $Id: smbfs_node.h,v 1.31.52.1 2005/05/27 02:35:28 lindak Exp $ */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * + * Copyright 2018 Nexenta Systems, Inc. All rights reserved. */ #ifndef _FS_SMBFS_NODE_H_ #define _FS_SMBFS_NODE_H_
*** 219,248 **** */ int n_dirrefs; struct smbfs_fctx *n_dirseq; /* ff context */ int n_dirofs; /* last ff offset */ int n_fidrefs; ! uint16_t n_fid; /* file handle */ enum vtype n_ovtype; /* vnode type opened */ - uint32_t n_rights; /* granted rights */ - int n_vcgenid; /* gereration no. (reconnect) */ /* * Misc. bookkeeping */ cred_t *r_cred; /* current credentials */ u_offset_t r_nextr; /* next read offset (read-ahead) */ long r_mapcnt; /* count of mmapped pages */ uint_t r_count; /* # of refs not reflect in v_count */ uint_t r_awcount; /* # of outstanding async write */ uint_t r_gcount; /* getattrs waiting to flush pages */ uint_t r_flags; /* flags, see below */ ! uint32_t n_flag; /* NXXX flags below */ uint_t r_error; /* async write error */ kcondvar_t r_cv; /* condvar for blocked threads */ avl_tree_t r_dir; /* cache of readdir responses */ rddir_cache *r_direof; /* pointer to the EOF entry */ kthread_t *r_serial; /* id of purging thread */ list_t r_indelmap; /* list of delmap callers */ /* * Attributes: local, and as last seen on the server. --- 220,249 ---- */ int n_dirrefs; struct smbfs_fctx *n_dirseq; /* ff context */ int n_dirofs; /* last ff offset */ int n_fidrefs; ! smb_fh_t *n_fid; /* file handle */ enum vtype n_ovtype; /* vnode type opened */ /* * Misc. bookkeeping */ cred_t *r_cred; /* current credentials */ u_offset_t r_nextr; /* next read offset (read-ahead) */ long r_mapcnt; /* count of mmapped pages */ + uint_t r_inmap; /* to serialize read/write and mmap */ uint_t r_count; /* # of refs not reflect in v_count */ uint_t r_awcount; /* # of outstanding async write */ uint_t r_gcount; /* getattrs waiting to flush pages */ uint_t r_flags; /* flags, see below */ ! uint32_t n_flag; /* N--- flags below */ uint_t r_error; /* async write error */ kcondvar_t r_cv; /* condvar for blocked threads */ avl_tree_t r_dir; /* cache of readdir responses */ rddir_cache *r_direof; /* pointer to the EOF entry */ + u_offset_t r_modaddr; /* address for page in writenp */ kthread_t *r_serial; /* id of purging thread */ list_t r_indelmap; /* list of delmap callers */ /* * Attributes: local, and as last seen on the server.