diff --git a/tsk/fs/tsk_xfs.h b/tsk/fs/tsk_xfs.h
index 5e3cd144d1a1c3a7006ef087f00add9d583dee34..4f4ea04f0f62a6f2840cdd0b8e1e18cb166992c5 100644
--- a/tsk/fs/tsk_xfs.h
+++ b/tsk/fs/tsk_xfs.h
@@ -57,7 +57,7 @@ typedef int64_t	xfs_lsn_t; /* log sequence number */
 #define UUID_SIZE 16
 typedef struct {
     uint8_t b[UUID_SIZE];
-} uuid_t;
+} xfs_uuid_t;
 
 // from https://github.com/torvalds/linux/blob/master/fs/xfs/libxfs/xfs_format.h
 /*
@@ -108,7 +108,7 @@ typedef struct xfs_sb
     xfs_drfsbno_t     sb_dblocks;
     xfs_drfsbno_t     sb_rblocks;
     xfs_drtbno_t      sb_rextents;
-    uuid_t            sb_uuid;
+    xfs_uuid_t            sb_uuid;
     xfs_dfsbno_t      sb_logstart;
     xfs_ino_t         sb_rootino;
     xfs_ino_t         sb_rbmino;
@@ -159,7 +159,7 @@ typedef struct xfs_sb
     xfs_extlen_t sb_spino_align;
     xfs_ino_t sb_pquotino;
     xfs_lsn_t sb_lsn;
-    uuid_t sb_meta_uuid;
+    xfs_uuid_t sb_meta_uuid;
     xfs_ino_t sb_rrmapino;
 } xfs_sb_t;
 
@@ -192,7 +192,7 @@ typedef struct xfs_agf {
 typedef struct xfs_agfl {
     __be32		agfl_magicnum;
     __be32		agfl_seqno;
-    uuid_t		agfl_uuid;
+    xfs_uuid_t		agfl_uuid;
     uint64_t	agfl_lsn;
     __be32		agfl_crc;
 } xfs_agfl_t;
@@ -229,7 +229,7 @@ typedef struct xfs_agi {
     * v5 filesystem fields start here; this marks the end of logging region 1
     * and start of logging region 2.
     * /
-    uuid_t agi_uuid;
+    xfs_uuid_t agi_uuid;
     __be32 agi_crc;
     __be32 agi_pad32;
     __be64 agi_lsn;
@@ -501,7 +501,7 @@ typedef struct xfs_dinode
     uint8_t di_pad2[12];
     xfs_timestamp_t di_crtime;
     uint64_t di_ino;
-    uuid_t di_uuid;
+    xfs_uuid_t di_uuid;
 
     union {
         xfs_bmdr_block_t di_bmbt;	/* btree root block */
@@ -509,7 +509,7 @@ typedef struct xfs_dinode
         xfs_dir2_sf_t	di_dir2sf;	/* shortform directory v2 */
         char		di_c[1];	/* local contents */
         __be32		di_dev;		/* device for S_IFCHR/S_IFBLK */
-        uuid_t		di_muuid;	/* mount point value */
+        xfs_uuid_t		di_muuid;	/* mount point value */
         char		di_symlink[1];	/* local symbolic link */
     }		di_u;
     union {
diff --git a/tsk/fs/xfs.cpp b/tsk/fs/xfs.cpp
index 729ebfd9ccaf0614ffc45d5a992e6723e9051466..574e5f7f8b2f9273f1bd95116ebb05dc57064f26 100644
--- a/tsk/fs/xfs.cpp
+++ b/tsk/fs/xfs.cpp
@@ -2344,7 +2344,7 @@ xfs_dir_open_meta(TSK_FS_INFO * a_fs, TSK_FS_DIR ** a_fs_dir,
 
                 if (*xfs_dir2_data_unused_freetag == 0xffff)
                 {
-                    xfs_dir2_data_unused *data_unused = (xfs_dir2_data_unused *) (dirbuf + offset_in_block);
+                    xfs_dir2_data_unused *data_unused = static_cast<xfs_dir2_data_unused *>((void *)(dirbuf + offset_in_block));
 
                     if (tsk_verbose) { tsk_fprintf(stderr, "offset_in_block = % is a free space, shifting forward by tsk_getu32(TSK_BIG_ENDIAN, &data_unused->length)) = %d \n", offset_in_block, tsk_getu32(TSK_BIG_ENDIAN, &data_unused->length)); }
                     offset_in_block += tsk_getu32(TSK_BIG_ENDIAN, &data_unused->length);
@@ -2577,7 +2577,7 @@ TSK_FS_INFO *
 
     len = sizeof(xfs_sb_t);
     if ((xfsfs->fs = static_cast<xfs_sb_t *>(tsk_malloc(len))) == NULL) {
-        tsk_fs_free((TSK_FS_INFO *)xfsfs);
+        tsk_fs_free(&xfsfs->fs_info);
         return NULL;
     }
     if (tsk_verbose) { tsk_fprintf(stderr, "reading xfs superblock, len = %" PRId64 " \n", len); }
@@ -2590,7 +2590,7 @@ TSK_FS_INFO *
         }
         tsk_error_set_errstr2("xfs_open: superblock");
         free(xfsfs->fs);
-        tsk_fs_free((TSK_FS_INFO *)xfsfs);
+        tsk_fs_free(&xfsfs->fs_info);
         return NULL;
     }
 
@@ -2642,7 +2642,7 @@ TSK_FS_INFO *
         tsk_error_set_errno(TSK_ERR_FS_READ);
         tsk_error_set_errstr2("xfs_open: magic number doesn't match XFSB");
         free(xfsfs->fs);
-        tsk_fs_free((TSK_FS_INFO *)xfsfs);
+        tsk_fs_free(&xfsfs->fs_info);
         return NULL;
     }
 
@@ -2664,7 +2664,7 @@ TSK_FS_INFO *
             }
             tsk_error_set_errstr2("xfs_block_getflags: xfs_agf, cnt = %" PRId64 ", len = %" PRId64 "", cnt, len);
             free(agi);
-            tsk_fs_free((TSK_FS_INFO *)xfsfs);
+            tsk_fs_free(&xfsfs->fs_info);
             return NULL;
         }