mirror_zfs/include/sys/dmu_redact.h
Brian Behlendorf e7a06356c1
Suppress cppcheck invalidSyntax warninigs
For some reason cppcheck 1.90 is generating an invalidSyntax warning
when the BF64_SET macro is used in the zstream source.  The same
warning is not reported by cppcheck 2.3, nor is their any evident
problem with the expanded macro.  This appears to be an issue with
this version of cppcheck.  This commit annotates the source to suppress
the warning.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #11700
2021-03-05 17:56:35 -08:00

61 lines
1.7 KiB
C

/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2018 by Delphix. All rights reserved.
*/
#ifndef _DMU_REDACT_H_
#define _DMU_REDACT_H_
#include <sys/spa.h>
#include <sys/dsl_bookmark.h>
#define REDACT_BLOCK_MAX_COUNT (1ULL << 48)
static inline uint64_t
redact_block_get_size(redact_block_phys_t *rbp)
{
return (BF64_GET_SB((rbp)->rbp_size_count, 48, 16, SPA_MINBLOCKSHIFT,
0));
}
static inline void
redact_block_set_size(redact_block_phys_t *rbp, uint64_t size)
{
/* cppcheck-suppress syntaxError */
BF64_SET_SB((rbp)->rbp_size_count, 48, 16, SPA_MINBLOCKSHIFT, 0, size);
}
static inline uint64_t
redact_block_get_count(redact_block_phys_t *rbp)
{
return (BF64_GET_SB((rbp)->rbp_size_count, 0, 48, 0, 1));
}
static inline void
redact_block_set_count(redact_block_phys_t *rbp, uint64_t count)
{
/* cppcheck-suppress syntaxError */
BF64_SET_SB((rbp)->rbp_size_count, 0, 48, 0, 1, count);
}
int dmu_redact_snap(const char *, nvlist_t *, const char *);
#endif /* _DMU_REDACT_H_ */