Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6371617 authored by Dave Chinner's avatar Dave Chinner
Browse files

Merge branch 'xfs-4.8-misc-fixes-3' into for-next

parents f477cedc ad70328a
Loading
Loading
Loading
Loading
+41 −25
Original line number Original line Diff line number Diff line
@@ -1435,12 +1435,8 @@ typedef __be64 xfs_bmbt_ptr_t, xfs_bmdr_ptr_t;
 * with the crc feature bit, and all accesses to them must be conditional on
 * with the crc feature bit, and all accesses to them must be conditional on
 * that flag.
 * that flag.
 */
 */
struct xfs_btree_block {
/* short form block header */
	__be32		bb_magic;	/* magic number for block type */
struct xfs_btree_block_shdr {
	__be16		bb_level;	/* 0 is a leaf */
	__be16		bb_numrecs;	/* current # of data records */
	union {
		struct {
	__be32		bb_leftsib;
	__be32		bb_leftsib;
	__be32		bb_rightsib;
	__be32		bb_rightsib;


@@ -1449,8 +1445,10 @@ struct xfs_btree_block {
	uuid_t		bb_uuid;
	uuid_t		bb_uuid;
	__be32		bb_owner;
	__be32		bb_owner;
	__le32		bb_crc;
	__le32		bb_crc;
		} s;			/* short form pointers */
};
		struct	{

/* long form block header */
struct xfs_btree_block_lhdr {
	__be64		bb_leftsib;
	__be64		bb_leftsib;
	__be64		bb_rightsib;
	__be64		bb_rightsib;


@@ -1460,16 +1458,34 @@ struct xfs_btree_block {
	__be64		bb_owner;
	__be64		bb_owner;
	__le32		bb_crc;
	__le32		bb_crc;
	__be32		bb_pad; /* padding for alignment */
	__be32		bb_pad; /* padding for alignment */
		} l;			/* long form pointers */
};

struct xfs_btree_block {
	__be32		bb_magic;	/* magic number for block type */
	__be16		bb_level;	/* 0 is a leaf */
	__be16		bb_numrecs;	/* current # of data records */
	union {
		struct xfs_btree_block_shdr s;
		struct xfs_btree_block_lhdr l;
	} bb_u;				/* rest */
	} bb_u;				/* rest */
};
};


#define XFS_BTREE_SBLOCK_LEN	16	/* size of a short form block */
/* size of a short form block */
#define XFS_BTREE_LBLOCK_LEN	24	/* size of a long form block */
#define XFS_BTREE_SBLOCK_LEN \
	(offsetof(struct xfs_btree_block, bb_u) + \
	 offsetof(struct xfs_btree_block_shdr, bb_blkno))
/* size of a long form block */
#define XFS_BTREE_LBLOCK_LEN \
	(offsetof(struct xfs_btree_block, bb_u) + \
	 offsetof(struct xfs_btree_block_lhdr, bb_blkno))


/* sizes of CRC enabled btree blocks */
/* sizes of CRC enabled btree blocks */
#define XFS_BTREE_SBLOCK_CRC_LEN	(XFS_BTREE_SBLOCK_LEN + 40)
#define XFS_BTREE_SBLOCK_CRC_LEN \
#define XFS_BTREE_LBLOCK_CRC_LEN	(XFS_BTREE_LBLOCK_LEN + 48)
	(offsetof(struct xfs_btree_block, bb_u) + \
	 sizeof(struct xfs_btree_block_shdr))
#define XFS_BTREE_LBLOCK_CRC_LEN \
	(offsetof(struct xfs_btree_block, bb_u) + \
	 sizeof(struct xfs_btree_block_lhdr))


#define XFS_BTREE_SBLOCK_CRC_OFF \
#define XFS_BTREE_SBLOCK_CRC_OFF \
	offsetof(struct xfs_btree_block, bb_u.s.bb_crc)
	offsetof(struct xfs_btree_block, bb_u.s.bb_crc)
+1 −1
Original line number Original line Diff line number Diff line
@@ -55,7 +55,7 @@ xfs_error_test(int error_tag, int *fsidp, char *expression,
}
}


int
int
xfs_errortag_add(int error_tag, xfs_mount_t *mp)
xfs_errortag_add(unsigned int error_tag, xfs_mount_t *mp)
{
{
	int i;
	int i;
	int len;
	int len;
+1 −1
Original line number Original line Diff line number Diff line
@@ -128,7 +128,7 @@ extern int xfs_error_test(int, int *, char *, int, char *, unsigned long);
	 xfs_error_test((tag), (mp)->m_fixedfsid, "expr", __LINE__, __FILE__, \
	 xfs_error_test((tag), (mp)->m_fixedfsid, "expr", __LINE__, __FILE__, \
			(rf))))
			(rf))))


extern int xfs_errortag_add(int error_tag, struct xfs_mount *mp);
extern int xfs_errortag_add(unsigned int error_tag, struct xfs_mount *mp);
extern int xfs_errortag_clearall(struct xfs_mount *mp, int loud);
extern int xfs_errortag_clearall(struct xfs_mount *mp, int loud);
#else
#else
#define XFS_TEST_ERROR(expr, mp, tag, rf)	(expr)
#define XFS_TEST_ERROR(expr, mp, tag, rf)	(expr)
+11 −0
Original line number Original line Diff line number Diff line
@@ -1575,6 +1575,17 @@ xfs_ioc_swapext(
		goto out_put_tmp_file;
		goto out_put_tmp_file;
	}
	}


	/*
	 * We need to ensure that the fds passed in point to XFS inodes
	 * before we cast and access them as XFS structures as we have no
	 * control over what the user passes us here.
	 */
	if (f.file->f_op != &xfs_file_operations ||
	    tmp.file->f_op != &xfs_file_operations) {
		error = -EINVAL;
		goto out_put_tmp_file;
	}

	ip = XFS_I(file_inode(f.file));
	ip = XFS_I(file_inode(f.file));
	tip = XFS_I(file_inode(tmp.file));
	tip = XFS_I(file_inode(tmp.file));


+2 −0
Original line number Original line Diff line number Diff line
@@ -39,6 +39,8 @@ xfs_check_ondisk_structs(void)
	XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_key,		8);
	XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_key,		8);
	XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_rec,		16);
	XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_rec,		16);
	XFS_CHECK_STRUCT_SIZE(struct xfs_bmdr_block,		4);
	XFS_CHECK_STRUCT_SIZE(struct xfs_bmdr_block,		4);
	XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block_shdr,	48);
	XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block_lhdr,	64);
	XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block,		72);
	XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block,		72);
	XFS_CHECK_STRUCT_SIZE(struct xfs_dinode,		176);
	XFS_CHECK_STRUCT_SIZE(struct xfs_dinode,		176);
	XFS_CHECK_STRUCT_SIZE(struct xfs_disk_dquot,		104);
	XFS_CHECK_STRUCT_SIZE(struct xfs_disk_dquot,		104);
+4 −4

File changed.

Contains only whitespace changes.

Loading