[BACK]Return to puffs_sys.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / fs / puffs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/fs/puffs/puffs_sys.h between version 1.24 and 1.24.2.2

version 1.24, 2007/02/15 12:14:34 version 1.24.2.2, 2007/03/24 14:55:58
Line 65  extern struct pool puffs_pnpool;
Line 65  extern struct pool puffs_pnpool;
  */   */
 struct puffs_park {  struct puffs_park {
         struct puffs_req        *park_preq;     /* req followed by buf  */          struct puffs_req        *park_preq;     /* req followed by buf  */
           uint64_t                park_id;        /* duplicate of preq_id */
   
         size_t                  park_copylen;   /* userspace copylength */          size_t                  park_copylen;   /* userspace copylength */
           size_t                  park_maxlen;    /* max size, ADJUSTABLE */
           struct buf              *park_bp;       /* bp, ASYNCBIOREAD     */
   
         size_t                  park_maxlen;    /* max size, only for "adj" */          int                     park_flags;
                                                 /* ^ XXX: overloaded */  
   
         TAILQ_ENTRY(puffs_park) park_entries;          TAILQ_ENTRY(puffs_park) park_entries;
 };  };
   
   #define PUFFS_PARKFLAG_PROCESSING       0x01
   #define PUFFS_PARKFLAG_RQUEUE           0x02
   #define PUFFS_PARKFLAG_RECVREPLY        0x04
   #define PUFFS_PARKFLAG_DONE             0x08
   #define PUFFS_PARKFLAG_WAITERGONE       0x10
   #define PUFFS_PARKFLAG_ADJUSTABLE       0x20
   #define PUFFS_PARKFLAG_ASYNCBIOREAD     0x40
   
 #define PUFFS_SIZEOPREQ_UIO_IN 1  #define PUFFS_SIZEOPREQ_UIO_IN 1
 #define PUFFS_SIZEOPREQ_UIO_OUT 2  #define PUFFS_SIZEOPREQ_UIO_OUT 2
 #define PUFFS_SIZEOPREQ_BUF_IN 3  #define PUFFS_SIZEOPREQ_BUF_IN 3
Line 123  extern int puffsdebug; /* puffs_subr.c *
Line 134  extern int puffsdebug; /* puffs_subr.c *
   
 #define PUFFS_DOCACHE(pmp)      (((pmp)->pmp_flags & PUFFS_KFLAG_NOCACHE) == 0)  #define PUFFS_DOCACHE(pmp)      (((pmp)->pmp_flags & PUFFS_KFLAG_NOCACHE) == 0)
   
   #define PUFFS_WCACHEINFO(pmp)   0
   
 TAILQ_HEAD(puffs_wq, puffs_park);  TAILQ_HEAD(puffs_wq, puffs_park);
 LIST_HEAD(puffs_node_hashlist, puffs_node);  LIST_HEAD(puffs_node_hashlist, puffs_node);
 struct puffs_mount {  struct puffs_mount {
Line 158  struct puffs_mount {
Line 171  struct puffs_mount {
 #define PUFFSTAT_RUNNING        2  #define PUFFSTAT_RUNNING        2
 #define PUFFSTAT_DYING          3 /* Do you want your possessions identified? */  #define PUFFSTAT_DYING          3 /* Do you want your possessions identified? */
   
   
 #define PNODE_NOREFS    0x01    /* vnode inactive, no backend reference */  #define PNODE_NOREFS    0x01    /* vnode inactive, no backend reference */
 #define PNODE_SUSPEND   0x02    /* issue all operations as FAF          */  #define PNODE_SUSPEND   0x02    /* issue all operations as FAF          */
 #if 0  
 #define PNODE_LOCKED    0x0  #define PNODE_METACACHE_ATIME   0x10    /* cache atime metadata */
 #define PNODE_WANTED    0x0  #define PNODE_METACACHE_CTIME   0x20    /* cache atime metadata */
 #endif  #define PNODE_METACACHE_MTIME   0x40    /* cache atime metadata */
   #define PNODE_METACACHE_SIZE    0x80    /* cache atime metadata */
   #define PNODE_METACACHE_MASK    0xf0
   
 struct puffs_node {  struct puffs_node {
         struct genfs_node pn_gnode;     /* genfs glue                   */          struct genfs_node pn_gnode;     /* genfs glue                   */
   
Line 171  struct puffs_node {
Line 188  struct puffs_node {
         struct vnode    *pn_vp;         /* backpointer to vnode         */          struct vnode    *pn_vp;         /* backpointer to vnode         */
         uint32_t        pn_stat;        /* node status                  */          uint32_t        pn_stat;        /* node status                  */
   
           /* metacache */
           struct timespec pn_mc_atime;
           struct timespec pn_mc_ctime;
           struct timespec pn_mc_mtime;
           u_quad_t        pn_mc_size;
   
         LIST_ENTRY(puffs_node) pn_hashent;          LIST_ENTRY(puffs_node) pn_hashent;
 };  };
   
Line 181  void puffs_suspendtouser(struct puffs_mo
Line 204  void puffs_suspendtouser(struct puffs_mo
 int     puffs_vntouser(struct puffs_mount *, int, void *, size_t, void *,  int     puffs_vntouser(struct puffs_mount *, int, void *, size_t, void *,
                        struct vnode *, struct vnode *);                         struct vnode *, struct vnode *);
 void    puffs_vntouser_faf(struct puffs_mount *, int, void *, size_t, void *);  void    puffs_vntouser_faf(struct puffs_mount *, int, void *, size_t, void *);
   void    puffs_vntouser_bioread_async(struct puffs_mount *, void *,
                                        size_t, off_t, struct buf *,
                                        struct vnode *, struct vnode *);
 int     puffs_vntouser_req(struct puffs_mount *, int, void *, size_t,  int     puffs_vntouser_req(struct puffs_mount *, int, void *, size_t,
                            void *, uint64_t, struct vnode *, struct vnode *);                             void *, uint64_t, struct vnode *, struct vnode *);
 int     puffs_vntouser_adjbuf(struct puffs_mount *, int, void **, size_t *,  int     puffs_vntouser_adjbuf(struct puffs_mount *, int, void **, size_t *,
                               size_t, void *, struct vnode *, struct vnode *);                                size_t, void *, struct vnode *, struct vnode *);
   void    puffs_vntouser_faf(struct puffs_mount *, int, void *, size_t, void *);
   void    puffs_cacheop(struct puffs_mount *, struct puffs_park *,
                         struct puffs_cacheinfo *, size_t, void *);
   struct puffs_park *puffs_cacheop_alloc(void);
   
 int     puffs_getvnode(struct mount *, void *, enum vtype, voff_t, dev_t,  int     puffs_getvnode(struct mount *, void *, enum vtype, voff_t, dev_t,
                        struct vnode **);                         struct vnode **);
Line 206  void puffs_updatevpsize(struct vnode *);
Line 236  void puffs_updatevpsize(struct vnode *);
 int     puffs_setpmp(pid_t, int, struct puffs_mount *);  int     puffs_setpmp(pid_t, int, struct puffs_mount *);
 void    puffs_nukebypmp(struct puffs_mount *);  void    puffs_nukebypmp(struct puffs_mount *);
   
 uint64_t        puffs_getreqid(struct puffs_mount *);  uint64_t                puffs_getreqid(struct puffs_mount *);
 void            puffs_userdead(struct puffs_mount *);  void                    puffs_userdead(struct puffs_mount *);
   struct puffs_park *     puffs_reqtofaf(struct puffs_park *);
   
 /* get/put called by ioctl handler */  /* get/put called by ioctl handler */
 int     puffs_getop(struct puffs_mount *, struct puffs_reqh_get *, int);  int     puffs_getop(struct puffs_mount *, struct puffs_reqh_get *, int);

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.24.2.2

CVSweb <webmaster@jp.NetBSD.org>