forked from Minki/linux
0b61f8a407
Remove the verbose license text from XFS files and replace them with SPDX tags. This does not change the license of any of the code, merely refers to the common, up-to-date license files in LICENSES/ This change was mostly scripted. fs/xfs/Makefile and fs/xfs/libxfs/xfs_fs.h were modified by hand, the rest were detected and modified by the following command: for f in `git grep -l "GNU General" fs/xfs/` ; do echo $f cat $f | awk -f hdr.awk > $f.new mv -f $f.new $f done And the hdr.awk script that did the modification (including detecting the difference between GPL-2.0 and GPL-2.0+ licenses) is as follows: $ cat hdr.awk BEGIN { hdr = 1.0 tag = "GPL-2.0" str = "" } /^ \* This program is free software/ { hdr = 2.0; next } /any later version./ { tag = "GPL-2.0+" next } /^ \*\// { if (hdr > 0.0) { print "// SPDX-License-Identifier: " tag print str print $0 str="" hdr = 0.0 next } print $0 next } /^ \* / { if (hdr > 1.0) next if (hdr > 0.0) { if (str != "") str = str "\n" str = str $0 next } print $0 next } /^ \*/ { if (hdr > 0.0) next print $0 next } // { if (hdr > 0.0) { if (str != "") str = str "\n" str = str $0 next } print $0 } END { } $ Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
76 lines
1.5 KiB
C
76 lines
1.5 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (c) 2000,2002,2005 Silicon Graphics, Inc.
|
|
* All Rights Reserved.
|
|
*/
|
|
#ifndef __XFS_BIT_H__
|
|
#define __XFS_BIT_H__
|
|
|
|
/*
|
|
* XFS bit manipulation routines.
|
|
*/
|
|
|
|
/*
|
|
* masks with n high/low bits set, 64-bit values
|
|
*/
|
|
static inline uint64_t xfs_mask64hi(int n)
|
|
{
|
|
return (uint64_t)-1 << (64 - (n));
|
|
}
|
|
static inline uint32_t xfs_mask32lo(int n)
|
|
{
|
|
return ((uint32_t)1 << (n)) - 1;
|
|
}
|
|
static inline uint64_t xfs_mask64lo(int n)
|
|
{
|
|
return ((uint64_t)1 << (n)) - 1;
|
|
}
|
|
|
|
/* Get high bit set out of 32-bit argument, -1 if none set */
|
|
static inline int xfs_highbit32(uint32_t v)
|
|
{
|
|
return fls(v) - 1;
|
|
}
|
|
|
|
/* Get high bit set out of 64-bit argument, -1 if none set */
|
|
static inline int xfs_highbit64(uint64_t v)
|
|
{
|
|
return fls64(v) - 1;
|
|
}
|
|
|
|
/* Get low bit set out of 32-bit argument, -1 if none set */
|
|
static inline int xfs_lowbit32(uint32_t v)
|
|
{
|
|
return ffs(v) - 1;
|
|
}
|
|
|
|
/* Get low bit set out of 64-bit argument, -1 if none set */
|
|
static inline int xfs_lowbit64(uint64_t v)
|
|
{
|
|
uint32_t w = (uint32_t)v;
|
|
int n = 0;
|
|
|
|
if (w) { /* lower bits */
|
|
n = ffs(w);
|
|
} else { /* upper bits */
|
|
w = (uint32_t)(v >> 32);
|
|
if (w) {
|
|
n = ffs(w);
|
|
if (n)
|
|
n += 32;
|
|
}
|
|
}
|
|
return n - 1;
|
|
}
|
|
|
|
/* Return whether bitmap is empty (1 == empty) */
|
|
extern int xfs_bitmap_empty(uint *map, uint size);
|
|
|
|
/* Count continuous one bits in map starting with start_bit */
|
|
extern int xfs_contig_bits(uint *map, uint size, uint start_bit);
|
|
|
|
/* Find next set bit in map */
|
|
extern int xfs_next_bit(uint *map, uint size, uint start_bit);
|
|
|
|
#endif /* __XFS_BIT_H__ */
|