summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_buf.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-02-16 11:47:28 -0800
committerDarrick J. Wong <darrick.wong@oracle.com>2019-02-18 09:38:41 -0800
commit15baadf72cedc2a09ea792c1fc59451502b55da2 (patch)
tree065992ac6a62f3dd3bb46b58734f999db5748b51 /fs/xfs/xfs_buf.h
parent7588cbeec6df925ef6142a7e48762896c06007a8 (diff)
downloadlinux-15baadf72cedc2a09ea792c1fc59451502b55da2.tar.gz
linux-15baadf72cedc2a09ea792c1fc59451502b55da2.tar.bz2
linux-15baadf72cedc2a09ea792c1fc59451502b55da2.zip
xfs: fix xfs_buf magic number endian checks
Create a separate magic16 check function so that we don't run afoul of static checkers. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Brian Foster <bfoster@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_buf.h')
-rw-r--r--fs/xfs/xfs_buf.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h
index 44f9423a1861..d0b96e071cec 100644
--- a/fs/xfs/xfs_buf.h
+++ b/fs/xfs/xfs_buf.h
@@ -125,7 +125,10 @@ struct xfs_buf_map {
struct xfs_buf_ops {
char *name;
- uint32_t magic[2]; /* v4 and v5 on disk magic values */
+ union {
+ __be32 magic[2]; /* v4 and v5 on disk magic values */
+ __be16 magic16[2]; /* v4 and v5 on disk magic values */
+ };
void (*verify_read)(struct xfs_buf *);
void (*verify_write)(struct xfs_buf *);
xfs_failaddr_t (*verify_struct)(struct xfs_buf *bp);
@@ -387,6 +390,7 @@ extern int xfs_setsize_buftarg(xfs_buftarg_t *, unsigned int);
#define xfs_readonly_buftarg(buftarg) bdev_read_only((buftarg)->bt_bdev)
int xfs_buf_reverify(struct xfs_buf *bp, const struct xfs_buf_ops *ops);
-bool xfs_verify_magic(struct xfs_buf *bp, uint32_t dmagic);
+bool xfs_verify_magic(struct xfs_buf *bp, __be32 dmagic);
+bool xfs_verify_magic16(struct xfs_buf *bp, __be16 dmagic);
#endif /* __XFS_BUF_H__ */