Print this page
Implement ioctl _FIODIRECTIO
Kill flags arg in smbfs_purge_caches
5404 smbfs needs mmap support
Portions contributed by: Gordon Ross <gordon.w.ross@gmail.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/smbclnt/smbfs/smbfs_subr.h
          +++ new/usr/src/uts/common/fs/smbclnt/smbfs/smbfs_subr.h
↓ open down ↓ 229 lines elided ↑ open up ↑
 230  230  void smbfs_subrfini(void);
 231  231  int smbfs_clntinit(void);
 232  232  void smbfs_clntfini(void);
 233  233  
 234  234  void smbfs_zonelist_add(smbmntinfo_t *smi);
 235  235  void smbfs_zonelist_remove(smbmntinfo_t *smi);
 236  236  
 237  237  int smbfs_check_table(struct vfs *vfsp, struct smbnode *srp);
 238  238  void smbfs_destroy_table(struct vfs *vfsp);
 239  239  void smbfs_rflush(struct vfs *vfsp, cred_t *cr);
      240 +void smbfs_flushall(cred_t *cr);
 240  241  
      242 +int smbfs_directio(vnode_t *vp, int cmd, cred_t *cr);
      243 +
 241  244  uint32_t smbfs_newnum(void);
 242  245  int smbfs_newname(char *buf, size_t buflen);
 243  246  
 244  247  /*
 245  248   * Function definitions - those having to do with
 246  249   * smbfs nodes, vnodes, etc
 247  250   */
 248  251  
 249  252  void smbfs_attrcache_prune(struct smbnode *np);
 250  253  void smbfs_attrcache_remove(struct smbnode *np);
 251  254  void smbfs_attrcache_rm_locked(struct smbnode *np);
 252  255  #ifndef DEBUG
 253  256  #define smbfs_attrcache_rm_locked(np)   (np)->r_attrtime = gethrtime()
 254  257  #endif
 255  258  void smbfs_attr_touchdir(struct smbnode *dnp);
 256  259  void smbfs_attrcache_fa(vnode_t *vp, struct smbfattr *fap);
 257      -void smbfs_cache_check(struct vnode *vp, struct smbfattr *fap);
 258  260  
      261 +int smbfs_validate_caches(struct vnode *vp, cred_t *cr);
      262 +void smbfs_purge_caches(struct vnode *vp, cred_t *cr);
      263 +
 259  264  void smbfs_addfree(struct smbnode *sp);
 260  265  void smbfs_rmhash(struct smbnode *);
 261  266  
 262  267  /* See avl_create in smbfs_vfsops.c */
 263  268  void smbfs_init_hash_avl(avl_tree_t *);
 264  269  
 265  270  uint32_t smbfs_gethash(const char *rpath, int prlen);
 266  271  uint32_t smbfs_getino(struct smbnode *dnp, const char *name, int nmlen);
 267  272  
 268  273  extern struct smbfattr smbfs_fattr0;
↓ open down ↓ 7 lines elided ↑ open up ↑
 276  281  
 277  282  void smbfs_fname_tolocal(struct smbfs_fctx *ctx);
 278  283  char    *smbfs_name_alloc(const char *name, int nmlen);
 279  284  void    smbfs_name_free(const char *name, int nmlen);
 280  285  
 281  286  int smbfs_readvnode(vnode_t *, uio_t *, cred_t *, struct vattr *);
 282  287  int smbfs_writevnode(vnode_t *vp, uio_t *uiop, cred_t *cr,
 283  288                          int ioflag, int timo);
 284  289  int smbfsgetattr(vnode_t *vp, struct vattr *vap, cred_t *cr);
 285  290  
      291 +/* nfs: writerp writenp */
      292 +/* nfs_putpages? */
      293 +void smbfs_invalidate_pages(vnode_t *vp, u_offset_t off, cred_t *cr);
      294 +
 286  295  /* smbfs ACL support */
 287  296  int smbfs_acl_getids(vnode_t *, cred_t *);
 288  297  int smbfs_acl_setids(vnode_t *, vattr_t *, cred_t *);
 289  298  int smbfs_acl_getvsa(vnode_t *, vsecattr_t *, int, cred_t *);
 290  299  int smbfs_acl_setvsa(vnode_t *, vsecattr_t *, int, cred_t *);
 291  300  int smbfs_acl_iocget(vnode_t *, intptr_t, int, cred_t *);
 292  301  int smbfs_acl_iocset(vnode_t *, intptr_t, int, cred_t *);
 293  302  
 294  303  /* smbfs_xattr.c */
 295  304  int smbfs_get_xattrdir(vnode_t *dvp, vnode_t **vpp, cred_t *cr, int);
↓ open down ↓ 18 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX