Author: delphij
Date: Sat Feb  9 01:38:43 2013
New Revision: 246577
URL: http://svnweb.freebsd.org/changeset/base/246577

Log:
  MFC r222950 (gibbs):
  
  Remove C constructs that are incompatible with C++ from various
  OpenSolaris and ZFS header files.  These changes are sufficient
  to allow a C++ program to use the libzfs library.
  
  Note: The majority of these files already included 'extern "C"'
        declarations, so the intention of providing C++ compatibility
        already existed even if it wasn't provided.
  
  cddl/compat/opensolaris/include/assert.h:
        Wrap our compatibility assert implementation in
        'extern "C"'.  Since this is a compatibility header
        I matched the Solaris style of doing this explicitly
        rather than rely on FreeBSD's __BEGIN/END_DECLS macro.
  
  sys/cddl/compat/opensolaris/sys/kstat.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h:
        Rename parameters in function declarations that conflict
        with C++ keywords.  This was the solution preferred by
        members of the Illumos community.
  
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h:
        In C, nested structures are visible in the global namespace,
        but in C++, they take on the namespace of the structure in
        which they are contained.  Flatten nested structure
        definitions within struct zfs_cmd so these structures are
        visible in the global namespace when compiled in both
        languages.
  
  Sponsored by:  Spectra Logic Corporation

Modified:
  stable/8/cddl/compat/opensolaris/include/assert.h
  stable/8/sys/cddl/compat/opensolaris/sys/kstat.h
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
Directory Properties:
  stable/8/cddl/   (props changed)
  stable/8/cddl/compat/opensolaris/   (props changed)
  stable/8/sys/   (props changed)
  stable/8/sys/cddl/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)

Modified: stable/8/cddl/compat/opensolaris/include/assert.h
==============================================================================
--- stable/8/cddl/compat/opensolaris/include/assert.h   Sat Feb  9 01:08:49 
2013        (r246576)
+++ stable/8/cddl/compat/opensolaris/include/assert.h   Sat Feb  9 01:38:43 
2013        (r246577)
@@ -43,6 +43,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 static __inline void
 __assert(const char *expr, const char *file, int line)
 {
@@ -52,4 +56,9 @@ __assert(const char *expr, const char *f
        abort();
        /* NOTREACHED */
 }
+
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* !_ASSERT_H_ */

Modified: stable/8/sys/cddl/compat/opensolaris/sys/kstat.h
==============================================================================
--- stable/8/sys/cddl/compat/opensolaris/sys/kstat.h    Sat Feb  9 01:08:49 
2013        (r246576)
+++ stable/8/sys/cddl/compat/opensolaris/sys/kstat.h    Sat Feb  9 01:38:43 
2013        (r246577)
@@ -58,7 +58,7 @@ typedef struct kstat_named {
        } value;
 } kstat_named_t;
 
-kstat_t *kstat_create(char *module, int instance, char *name, char *class,
+kstat_t *kstat_create(char *module, int instance, char *name, char *cls,
     uchar_t type, ulong_t ndata, uchar_t flags);
 void kstat_install(kstat_t *ksp);
 void kstat_delete(kstat_t *ksp);

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h   Sat Feb 
 9 01:08:49 2013        (r246576)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h   Sat Feb 
 9 01:38:43 2013        (r246577)
@@ -38,8 +38,8 @@ extern "C" {
 
 typedef struct arc_buf_hdr arc_buf_hdr_t;
 typedef struct arc_buf arc_buf_t;
-typedef void arc_done_func_t(zio_t *zio, arc_buf_t *buf, void *private);
-typedef int arc_evict_func_t(void *private);
+typedef void arc_done_func_t(zio_t *zio, arc_buf_t *buf, void *priv);
+typedef int arc_evict_func_t(void *priv);
 
 /* generic arc_done_func_t's which you can use */
 arc_done_func_t arc_bcopy_func;
@@ -104,17 +104,17 @@ int arc_referenced(arc_buf_t *buf);
 #endif
 
 int arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, arc_buf_t *pbuf,
-    arc_done_func_t *done, void *private, int priority, int zio_flags,
+    arc_done_func_t *done, void *priv, int priority, int zio_flags,
     uint32_t *arc_flags, const zbookmark_t *zb);
 int arc_read_nolock(zio_t *pio, spa_t *spa, const blkptr_t *bp,
-    arc_done_func_t *done, void *private, int priority, int flags,
+    arc_done_func_t *done, void *priv, int priority, int flags,
     uint32_t *arc_flags, const zbookmark_t *zb);
 zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg,
     blkptr_t *bp, arc_buf_t *buf, boolean_t l2arc, const zio_prop_t *zp,
-    arc_done_func_t *ready, arc_done_func_t *done, void *private,
+    arc_done_func_t *ready, arc_done_func_t *done, void *priv,
     int priority, int zio_flags, const zbookmark_t *zb);
 
-void arc_set_callback(arc_buf_t *buf, arc_evict_func_t *func, void *private);
+void arc_set_callback(arc_buf_t *buf, arc_evict_func_t *func, void *priv);
 int arc_buf_evict(arc_buf_t *buf);
 
 void arc_flush(spa_t *spa);

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h   Sat Feb 
 9 01:08:49 2013        (r246576)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h   Sat Feb 
 9 01:38:43 2013        (r246577)
@@ -169,15 +169,15 @@ typedef struct ddt_ops {
 #define        DDT_NAMELEN     80
 
 extern void ddt_object_name(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class, char *name);
+    enum ddt_class cls, char *name);
 extern int ddt_object_walk(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class, uint64_t *walk, ddt_entry_t *dde);
+    enum ddt_class cls, uint64_t *walk, ddt_entry_t *dde);
 extern uint64_t ddt_object_count(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class);
+    enum ddt_class cls);
 extern int ddt_object_info(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class, dmu_object_info_t *);
+    enum ddt_class cls, dmu_object_info_t *);
 extern boolean_t ddt_object_exists(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class);
+    enum ddt_class cls);
 
 extern void ddt_bp_fill(const ddt_phys_t *ddp, blkptr_t *bp,
     uint64_t txg);
@@ -235,7 +235,7 @@ extern void ddt_unload(spa_t *spa);
 extern void ddt_sync(spa_t *spa, uint64_t txg);
 extern int ddt_walk(spa_t *spa, ddt_bookmark_t *ddb, ddt_entry_t *dde);
 extern int ddt_object_update(ddt_t *ddt, enum ddt_type type,
-    enum ddt_class class, ddt_entry_t *dde, dmu_tx_t *tx);
+    enum ddt_class cls, ddt_entry_t *dde, dmu_tx_t *tx);
 
 extern const ddt_ops_t ddt_zap_ops;
 

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h      
Sat Feb  9 01:08:49 2013        (r246576)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h      
Sat Feb  9 01:38:43 2013        (r246577)
@@ -135,10 +135,10 @@ void dsl_free(dsl_pool_t *dp, uint64_t t
 void dsl_free_sync(zio_t *pio, dsl_pool_t *dp, uint64_t txg,
     const blkptr_t *bpp);
 int dsl_read(zio_t *pio, spa_t *spa, const blkptr_t *bpp, arc_buf_t *pbuf,
-    arc_done_func_t *done, void *private, int priority, int zio_flags,
+    arc_done_func_t *done, void *priv, int priority, int zio_flags,
     uint32_t *arc_flags, const zbookmark_t *zb);
 int dsl_read_nolock(zio_t *pio, spa_t *spa, const blkptr_t *bpp,
-    arc_done_func_t *done, void *private, int priority, int zio_flags,
+    arc_done_func_t *done, void *priv, int priority, int zio_flags,
     uint32_t *arc_flags, const zbookmark_t *zb);
 void dsl_pool_create_origin(dsl_pool_t *dp, dmu_tx_t *tx);
 void dsl_pool_upgrade_clones(dsl_pool_t *dp, dmu_tx_t *tx);

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h   Sat Feb 
 9 01:08:49 2013        (r246576)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h   Sat Feb 
 9 01:38:43 2013        (r246577)
@@ -658,7 +658,7 @@ extern void spa_history_log_version(spa_
 /* error handling */
 struct zbookmark;
 extern void spa_log_error(spa_t *spa, zio_t *zio);
-extern void zfs_ereport_post(const char *class, spa_t *spa, vdev_t *vd,
+extern void zfs_ereport_post(const char *cls, spa_t *spa, vdev_t *vd,
     zio_t *zio, uint64_t stateoroffset, uint64_t length);
 extern void zfs_post_remove(spa_t *spa, vdev_t *vd);
 extern void zfs_post_state_change(spa_t *spa, vdev_t *vd);

Modified: 
stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h     
Sat Feb  9 01:08:49 2013        (r246576)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h     
Sat Feb  9 01:38:43 2013        (r246577)
@@ -115,6 +115,87 @@ typedef enum drr_headertype {
 /*
  * zfs ioctl command structure
  */
+struct drr_begin {
+       uint64_t drr_magic;
+       uint64_t drr_versioninfo; /* was drr_version */
+       uint64_t drr_creation_time;
+       dmu_objset_type_t drr_type;
+       uint32_t drr_flags;
+       uint64_t drr_toguid;
+       uint64_t drr_fromguid;
+       char drr_toname[MAXNAMELEN];
+};
+
+struct drr_end {
+       zio_cksum_t drr_checksum;
+       uint64_t drr_toguid;
+};
+
+struct drr_object {
+       uint64_t drr_object;
+       dmu_object_type_t drr_type;
+       dmu_object_type_t drr_bonustype;
+       uint32_t drr_blksz;
+       uint32_t drr_bonuslen;
+       uint8_t drr_checksumtype;
+       uint8_t drr_compress;
+       uint8_t drr_pad[6];
+       uint64_t drr_toguid;
+       /* bonus content follows */
+};
+
+struct drr_freeobjects {
+       uint64_t drr_firstobj;
+       uint64_t drr_numobjs;
+       uint64_t drr_toguid;
+};
+
+struct drr_write {
+       uint64_t drr_object;
+       dmu_object_type_t drr_type;
+       uint32_t drr_pad;
+       uint64_t drr_offset;
+       uint64_t drr_length;
+       uint64_t drr_toguid;
+       uint8_t drr_checksumtype;
+       uint8_t drr_checksumflags;
+       uint8_t drr_pad2[6];
+       ddt_key_t drr_key; /* deduplication key */
+       /* content follows */
+};
+
+struct drr_free {
+       uint64_t drr_object;
+       uint64_t drr_offset;
+       uint64_t drr_length;
+       uint64_t drr_toguid;
+};
+
+struct drr_write_byref {
+       /* where to put the data */
+       uint64_t drr_object;
+       uint64_t drr_offset;
+       uint64_t drr_length;
+       uint64_t drr_toguid;
+       /* where to find the prior copy of the data */
+       uint64_t drr_refguid;
+       uint64_t drr_refobject;
+       uint64_t drr_refoffset;
+       /* properties of the data */
+       uint8_t drr_checksumtype;
+       uint8_t drr_checksumflags;
+       uint8_t drr_pad2[6];
+       ddt_key_t drr_key; /* deduplication key */
+};
+
+struct drr_spill {
+       uint64_t drr_object;
+       uint64_t drr_length;
+       uint64_t drr_toguid;
+       uint64_t drr_pad[4]; /* needed for crypto */
+       /* spill data follows */
+};
+
 typedef struct dmu_replay_record {
        enum {
                DRR_BEGIN, DRR_OBJECT, DRR_FREEOBJECTS,
@@ -123,79 +204,14 @@ typedef struct dmu_replay_record {
        } drr_type;
        uint32_t drr_payloadlen;
        union {
-               struct drr_begin {
-                       uint64_t drr_magic;
-                       uint64_t drr_versioninfo; /* was drr_version */
-                       uint64_t drr_creation_time;
-                       dmu_objset_type_t drr_type;
-                       uint32_t drr_flags;
-                       uint64_t drr_toguid;
-                       uint64_t drr_fromguid;
-                       char drr_toname[MAXNAMELEN];
-               } drr_begin;
-               struct drr_end {
-                       zio_cksum_t drr_checksum;
-                       uint64_t drr_toguid;
-               } drr_end;
-               struct drr_object {
-                       uint64_t drr_object;
-                       dmu_object_type_t drr_type;
-                       dmu_object_type_t drr_bonustype;
-                       uint32_t drr_blksz;
-                       uint32_t drr_bonuslen;
-                       uint8_t drr_checksumtype;
-                       uint8_t drr_compress;
-                       uint8_t drr_pad[6];
-                       uint64_t drr_toguid;
-                       /* bonus content follows */
-               } drr_object;
-               struct drr_freeobjects {
-                       uint64_t drr_firstobj;
-                       uint64_t drr_numobjs;
-                       uint64_t drr_toguid;
-               } drr_freeobjects;
-               struct drr_write {
-                       uint64_t drr_object;
-                       dmu_object_type_t drr_type;
-                       uint32_t drr_pad;
-                       uint64_t drr_offset;
-                       uint64_t drr_length;
-                       uint64_t drr_toguid;
-                       uint8_t drr_checksumtype;
-                       uint8_t drr_checksumflags;
-                       uint8_t drr_pad2[6];
-                       ddt_key_t drr_key; /* deduplication key */
-                       /* content follows */
-               } drr_write;
-               struct drr_free {
-                       uint64_t drr_object;
-                       uint64_t drr_offset;
-                       uint64_t drr_length;
-                       uint64_t drr_toguid;
-               } drr_free;
-               struct drr_write_byref {
-                       /* where to put the data */
-                       uint64_t drr_object;
-                       uint64_t drr_offset;
-                       uint64_t drr_length;
-                       uint64_t drr_toguid;
-                       /* where to find the prior copy of the data */
-                       uint64_t drr_refguid;
-                       uint64_t drr_refobject;
-                       uint64_t drr_refoffset;
-                       /* properties of the data */
-                       uint8_t drr_checksumtype;
-                       uint8_t drr_checksumflags;
-                       uint8_t drr_pad2[6];
-                       ddt_key_t drr_key; /* deduplication key */
-               } drr_write_byref;
-               struct drr_spill {
-                       uint64_t drr_object;
-                       uint64_t drr_length;
-                       uint64_t drr_toguid;
-                       uint64_t drr_pad[4]; /* needed for crypto */
-                       /* spill data follows */
-               } drr_spill;
+               struct drr_begin drr_begin;
+               struct drr_end drr_end;
+               struct drr_object drr_object;
+               struct drr_freeobjects drr_freeobjects;
+               struct drr_write drr_write;
+               struct drr_free drr_free;
+               struct drr_write_byref drr_write_byref;
+               struct drr_spill drr_spill;
        } drr_u;
 } dmu_replay_record_t;
 

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h   Sat Feb 
 9 01:08:49 2013        (r246576)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h   Sat Feb 
 9 01:38:43 2013        (r246577)
@@ -439,22 +439,22 @@ struct zio {
 };
 
 extern zio_t *zio_null(zio_t *pio, spa_t *spa, vdev_t *vd,
-    zio_done_func_t *done, void *private, enum zio_flag flags);
+    zio_done_func_t *done, void *priv, enum zio_flag flags);
 
 extern zio_t *zio_root(spa_t *spa,
-    zio_done_func_t *done, void *private, enum zio_flag flags);
+    zio_done_func_t *done, void *priv, enum zio_flag flags);
 
 extern zio_t *zio_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, void *data,
-    uint64_t size, zio_done_func_t *done, void *private,
+    uint64_t size, zio_done_func_t *done, void *priv,
     int priority, enum zio_flag flags, const zbookmark_t *zb);
 
 extern zio_t *zio_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
     void *data, uint64_t size, const zio_prop_t *zp,
-    zio_done_func_t *ready, zio_done_func_t *done, void *private,
+    zio_done_func_t *ready, zio_done_func_t *done, void *priv,
     int priority, enum zio_flag flags, const zbookmark_t *zb);
 
 extern zio_t *zio_rewrite(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
-    void *data, uint64_t size, zio_done_func_t *done, void *private,
+    void *data, uint64_t size, zio_done_func_t *done, void *priv,
     int priority, enum zio_flag flags, zbookmark_t *zb);
 
 extern void zio_write_override(zio_t *zio, blkptr_t *bp, int copies,
@@ -464,19 +464,20 @@ extern void zio_free(spa_t *spa, uint64_
 
 extern zio_t *zio_claim(zio_t *pio, spa_t *spa, uint64_t txg,
     const blkptr_t *bp,
-    zio_done_func_t *done, void *private, enum zio_flag flags);
+    zio_done_func_t *done, void *priv, enum zio_flag flags);
 
 extern zio_t *zio_ioctl(zio_t *pio, spa_t *spa, vdev_t *vd, int cmd,
-    zio_done_func_t *done, void *private, int priority, enum zio_flag flags);
+    zio_done_func_t *done, void *priv, int priority,
+    enum zio_flag flags);
 
 extern zio_t *zio_read_phys(zio_t *pio, vdev_t *vd, uint64_t offset,
     uint64_t size, void *data, int checksum,
-    zio_done_func_t *done, void *private, int priority, enum zio_flag flags,
+    zio_done_func_t *done, void *priv, int priority, enum zio_flag flags,
     boolean_t labels);
 
 extern zio_t *zio_write_phys(zio_t *pio, vdev_t *vd, uint64_t offset,
     uint64_t size, void *data, int checksum,
-    zio_done_func_t *done, void *private, int priority, enum zio_flag flags,
+    zio_done_func_t *done, void *priv, int priority, enum zio_flag flags,
     boolean_t labels);
 
 extern zio_t *zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg,
@@ -507,11 +508,11 @@ extern void zio_resubmit_stage_async(voi
 
 extern zio_t *zio_vdev_child_io(zio_t *zio, blkptr_t *bp, vdev_t *vd,
     uint64_t offset, void *data, uint64_t size, int type, int priority,
-    enum zio_flag flags, zio_done_func_t *done, void *private);
+    enum zio_flag flags, zio_done_func_t *done, void *priv);
 
 extern zio_t *zio_vdev_delegated_io(vdev_t *vd, uint64_t offset,
     void *data, uint64_t size, int type, int priority,
-    enum zio_flag flags, zio_done_func_t *done, void *private);
+    enum zio_flag flags, zio_done_func_t *done, void *priv);
 
 extern void zio_vdev_io_bypass(zio_t *zio);
 extern void zio_vdev_io_reissue(zio_t *zio);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to