Linux v4.15-rc2-5-g4229a470175b introduced sizeof_field() macro
Linux v5.5-rc4-1-g1f07dcc459d5 removed FIELD_SIZEOF() macro
Provide a sizeof_field() macro in terms of FIELD_SIZEOF()
when sizeof_field() is not provided.
Test-Parameters: trivial
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I48ca9abb931d58919d788199e5089984c9e854dd
Reviewed-on: https://review.whamcloud.com/39710
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
((type *)(__mptr - offsetof(type, member))); })
#endif
((type *)(__mptr - offsetof(type, member))); })
#endif
+/*
+ * Linux v4.15-rc2-5-g4229a470175b added sizeof_field()
+ * Linux v5.5-rc4-1-g1f07dcc459d5 removed FIELD_SIZEOF()
+ * Proved a sizeof_field in terms of FIELD_SIZEOF() when one is not provided
+ */
+#ifndef sizeof_field
+#define sizeof_field(type, member) FIELD_SIZEOF(type, member)
+#endif
+
#endif /* __LIBCFS_LINUX_MISC_H__ */
#endif /* __LIBCFS_LINUX_MISC_H__ */
#include <crypto/skcipher.h>
#include <linux/key-type.h>
#include <linux/seq_file.h>
#include <crypto/skcipher.h>
#include <linux/key-type.h>
#include <linux/seq_file.h>
+#include <libcfs/linux/linux-misc.h>
#include "llcrypt_private.h"
#include "llcrypt_private.h"
}
#define LLCRYPT_FS_KEYRING_DESCRIPTION_SIZE \
}
#define LLCRYPT_FS_KEYRING_DESCRIPTION_SIZE \
- (CONST_STRLEN("llcrypt-") + FIELD_SIZEOF(struct super_block, s_id))
+ (CONST_STRLEN("llcrypt-") + sizeof_field(struct super_block, s_id))
#define LLCRYPT_MK_DESCRIPTION_SIZE (2 * LLCRYPT_KEY_IDENTIFIER_SIZE + 1)
#define LLCRYPT_MK_DESCRIPTION_SIZE (2 * LLCRYPT_KEY_IDENTIFIER_SIZE + 1)
#define round_up(x, y) ((((x) - 1) | __round_mask(x, y)) + 1)
#define round_down(x, y) ((x) & ~__round_mask(x, y))
#define round_up(x, y) ((((x) - 1) | __round_mask(x, y)) + 1)
#define round_down(x, y) ((x) & ~__round_mask(x, y))
-#define FIELD_SIZEOF(t, f) (sizeof(((t *)0)->f))
#define DIV_ROUND_UP __USER_DIV_ROUND_UP
#define DIV_ROUND_DOWN_ULL(ll, d) \
#define DIV_ROUND_UP __USER_DIV_ROUND_UP
#define DIV_ROUND_DOWN_ULL(ll, d) \