Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'xfs-6.3-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs fixes from Darrick Wong:
"This batch started with some debugging enhancements to the new
allocator refactoring that we put in 6.3-rc1 to assist developers in
rebasing their dev branches.

As for more serious code changes -- there's a bug fix to make the
lockless allocator scan the whole filesystem before resorting to the
locking allocator. We're also adding a selftest for the venerable
directory/xattr hash function to make sure that it produces consistent
results so that we can address any fallout as soon as possible.

- Add a few debugging assertions so that people (me) trying to port
code to the new allocator functions don't mess up the caller
requirements

- Relax some overly cautious lock ordering enforcement in the new
allocator code, which means that file allocations will locklessly
scan for the best space they can get before backing off to the
traditional lock-and-really-get-it behavior

- Add tracepoints to make it easier to trace the xfs allocator
behavior

- Actually test the dir/xattr hash algorithm to make sure it produces
consistent results across all the platforms XFS supports"

* tag 'xfs-6.3-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
xfs: test dir/attr hash when loading module
xfs: add tracepoints for each of the externally visible allocators
xfs: walk all AGs if TRYLOCK passed to xfs_alloc_vextent_iterate_ags
xfs: try to idiot-proof the allocators

+722 -1
+1
fs/xfs/Makefile
··· 63 63 xfs_bmap_util.o \ 64 64 xfs_bio_io.o \ 65 65 xfs_buf.o \ 66 + xfs_dahash_test.o \ 66 67 xfs_dir2_readdir.o \ 67 68 xfs_discard.o \ 68 69 xfs_error.o \
+35 -1
fs/xfs/libxfs/xfs_alloc.c
··· 3255 3255 XFS_STATS_INC(mp, xs_allocx); 3256 3256 XFS_STATS_ADD(mp, xs_allocb, args->len); 3257 3257 3258 + trace_xfs_alloc_vextent_finish(args); 3259 + 3258 3260 out_drop_perag: 3259 3261 if (drop_perag && args->pag) { 3260 3262 xfs_perag_rele(args->pag); ··· 3281 3279 xfs_agnumber_t minimum_agno; 3282 3280 int error; 3283 3281 3282 + ASSERT(args->pag != NULL); 3283 + ASSERT(args->pag->pag_agno == agno); 3284 + 3284 3285 args->agno = agno; 3285 3286 args->agbno = 0; 3287 + 3288 + trace_xfs_alloc_vextent_this_ag(args); 3289 + 3286 3290 error = xfs_alloc_vextent_check_args(args, XFS_AGB_TO_FSB(mp, agno, 0), 3287 3291 &minimum_agno); 3288 3292 if (error) { ··· 3331 3323 uint32_t flags) 3332 3324 { 3333 3325 struct xfs_mount *mp = args->mp; 3326 + xfs_agnumber_t restart_agno = minimum_agno; 3334 3327 xfs_agnumber_t agno; 3335 3328 int error = 0; 3336 3329 3330 + if (flags & XFS_ALLOC_FLAG_TRYLOCK) 3331 + restart_agno = 0; 3337 3332 restart: 3338 - for_each_perag_wrap_range(mp, start_agno, minimum_agno, 3333 + for_each_perag_wrap_range(mp, start_agno, restart_agno, 3339 3334 mp->m_sb.sb_agcount, agno, args->pag) { 3340 3335 args->agno = agno; 3341 3336 error = xfs_alloc_vextent_prepare_ag(args); ··· 3377 3366 */ 3378 3367 if (flags) { 3379 3368 flags = 0; 3369 + restart_agno = minimum_agno; 3380 3370 goto restart; 3381 3371 } 3382 3372 ··· 3406 3394 bool bump_rotor = false; 3407 3395 int error; 3408 3396 3397 + ASSERT(args->pag == NULL); 3398 + 3409 3399 args->agno = NULLAGNUMBER; 3410 3400 args->agbno = NULLAGBLOCK; 3401 + 3402 + trace_xfs_alloc_vextent_first_ag(args); 3403 + 3411 3404 error = xfs_alloc_vextent_check_args(args, target, &minimum_agno); 3412 3405 if (error) { 3413 3406 if (error == -ENOSPC) ··· 3459 3442 xfs_agnumber_t start_agno; 3460 3443 int error; 3461 3444 3445 + ASSERT(args->pag == NULL); 3446 + 3462 3447 args->agno = NULLAGNUMBER; 3463 3448 args->agbno = NULLAGBLOCK; 3449 + 3450 + trace_xfs_alloc_vextent_start_ag(args); 3451 + 3464 3452 error = xfs_alloc_vextent_check_args(args, target, &minimum_agno); 3465 3453 if (error) { 3466 3454 if (error == -ENOSPC) ··· 3492 3470 xfs_agnumber_t minimum_agno; 3493 3471 int error; 3494 3472 3473 + ASSERT(args->pag != NULL); 3474 + ASSERT(args->pag->pag_agno == XFS_FSB_TO_AGNO(mp, target)); 3475 + 3495 3476 args->agno = XFS_FSB_TO_AGNO(mp, target); 3496 3477 args->agbno = XFS_FSB_TO_AGBNO(mp, target); 3478 + 3479 + trace_xfs_alloc_vextent_near_bno(args); 3480 + 3497 3481 error = xfs_alloc_vextent_check_args(args, target, &minimum_agno); 3498 3482 if (error) { 3499 3483 if (error == -ENOSPC) ··· 3530 3502 bool needs_perag = args->pag == NULL; 3531 3503 int error; 3532 3504 3505 + if (!needs_perag) 3506 + ASSERT(args->pag->pag_agno == XFS_FSB_TO_AGNO(mp, target)); 3507 + 3533 3508 args->agno = XFS_FSB_TO_AGNO(mp, target); 3534 3509 args->agbno = XFS_FSB_TO_AGBNO(mp, target); 3510 + 3511 + trace_xfs_alloc_vextent_exact_bno(args); 3512 + 3535 3513 error = xfs_alloc_vextent_check_args(args, target, &minimum_agno); 3536 3514 if (error) { 3537 3515 if (error == -ENOSPC)
+662
fs/xfs/xfs_dahash_test.c
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + /* 3 + * Copyright (C) 2023 Oracle. All Rights Reserved. 4 + * Author: Darrick J. Wong <djwong@kernel.org> 5 + */ 6 + #include "xfs.h" 7 + #include "xfs_fs.h" 8 + #include "xfs_shared.h" 9 + #include "xfs_format.h" 10 + #include "xfs_da_format.h" 11 + #include "xfs_da_btree.h" 12 + #include "xfs_dahash_test.h" 13 + 14 + /* 4096 random bytes */ 15 + static uint8_t __initdata __attribute__((__aligned__(8))) test_buf[] = 16 + { 17 + 0x5b, 0x85, 0x21, 0xcb, 0x09, 0x68, 0x7d, 0x30, 18 + 0xc7, 0x69, 0xd7, 0x30, 0x92, 0xde, 0x59, 0xe4, 19 + 0xc9, 0x6e, 0x8b, 0xdb, 0x98, 0x6b, 0xaa, 0x60, 20 + 0xa8, 0xb5, 0xbc, 0x6c, 0xa9, 0xb1, 0x5b, 0x2c, 21 + 0xea, 0xb4, 0x92, 0x6a, 0x3f, 0x79, 0x91, 0xe4, 22 + 0xe9, 0x70, 0x51, 0x8c, 0x7f, 0x95, 0x6f, 0x1a, 23 + 0x56, 0xa1, 0x5c, 0x27, 0x03, 0x67, 0x9f, 0x3a, 24 + 0xe2, 0x31, 0x11, 0x29, 0x6b, 0x98, 0xfc, 0xc4, 25 + 0x53, 0x24, 0xc5, 0x8b, 0xce, 0x47, 0xb2, 0xb9, 26 + 0x32, 0xcb, 0xc1, 0xd0, 0x03, 0x57, 0x4e, 0xd4, 27 + 0xe9, 0x3c, 0xa1, 0x63, 0xcf, 0x12, 0x0e, 0xca, 28 + 0xe1, 0x13, 0xd1, 0x93, 0xa6, 0x88, 0x5c, 0x61, 29 + 0x5b, 0xbb, 0xf0, 0x19, 0x46, 0xb4, 0xcf, 0x9e, 30 + 0xb6, 0x6b, 0x4c, 0x3a, 0xcf, 0x60, 0xf9, 0x7a, 31 + 0x8d, 0x07, 0x63, 0xdb, 0x40, 0xe9, 0x0b, 0x6f, 32 + 0xad, 0x97, 0xf1, 0xed, 0xd0, 0x1e, 0x26, 0xfd, 33 + 0xbf, 0xb7, 0xc8, 0x04, 0x94, 0xf8, 0x8b, 0x8c, 34 + 0xf1, 0xab, 0x7a, 0xd4, 0xdd, 0xf3, 0xe8, 0x88, 35 + 0xc3, 0xed, 0x17, 0x8a, 0x9b, 0x40, 0x0d, 0x53, 36 + 0x62, 0x12, 0x03, 0x5f, 0x1b, 0x35, 0x32, 0x1f, 37 + 0xb4, 0x7b, 0x93, 0x78, 0x0d, 0xdb, 0xce, 0xa4, 38 + 0xc0, 0x47, 0xd5, 0xbf, 0x68, 0xe8, 0x5d, 0x74, 39 + 0x8f, 0x8e, 0x75, 0x1c, 0xb2, 0x4f, 0x9a, 0x60, 40 + 0xd1, 0xbe, 0x10, 0xf4, 0x5c, 0xa1, 0x53, 0x09, 41 + 0xa5, 0xe0, 0x09, 0x54, 0x85, 0x5c, 0xdc, 0x07, 42 + 0xe7, 0x21, 0x69, 0x7b, 0x8a, 0xfd, 0x90, 0xf1, 43 + 0x22, 0xd0, 0xb4, 0x36, 0x28, 0xe6, 0xb8, 0x0f, 44 + 0x39, 0xde, 0xc8, 0xf3, 0x86, 0x60, 0x34, 0xd2, 45 + 0x5e, 0xdf, 0xfd, 0xcf, 0x0f, 0xa9, 0x65, 0xf0, 46 + 0xd5, 0x4d, 0x96, 0x40, 0xe3, 0xdf, 0x3f, 0x95, 47 + 0x5a, 0x39, 0x19, 0x93, 0xf4, 0x75, 0xce, 0x22, 48 + 0x00, 0x1c, 0x93, 0xe2, 0x03, 0x66, 0xf4, 0x93, 49 + 0x73, 0x86, 0x81, 0x8e, 0x29, 0x44, 0x48, 0x86, 50 + 0x61, 0x7c, 0x48, 0xa3, 0x43, 0xd2, 0x9c, 0x8d, 51 + 0xd4, 0x95, 0xdd, 0xe1, 0x22, 0x89, 0x3a, 0x40, 52 + 0x4c, 0x1b, 0x8a, 0x04, 0xa8, 0x09, 0x69, 0x8b, 53 + 0xea, 0xc6, 0x55, 0x8e, 0x57, 0xe6, 0x64, 0x35, 54 + 0xf0, 0xc7, 0x16, 0x9f, 0x5d, 0x5e, 0x86, 0x40, 55 + 0x46, 0xbb, 0xe5, 0x45, 0x88, 0xfe, 0xc9, 0x63, 56 + 0x15, 0xfb, 0xf5, 0xbd, 0x71, 0x61, 0xeb, 0x7b, 57 + 0x78, 0x70, 0x07, 0x31, 0x03, 0x9f, 0xb2, 0xc8, 58 + 0xa7, 0xab, 0x47, 0xfd, 0xdf, 0xa0, 0x78, 0x72, 59 + 0xa4, 0x2a, 0xe4, 0xb6, 0xba, 0xc0, 0x1e, 0x86, 60 + 0x71, 0xe6, 0x3d, 0x18, 0x37, 0x70, 0xe6, 0xff, 61 + 0xe0, 0xbc, 0x0b, 0x22, 0xa0, 0x1f, 0xd3, 0xed, 62 + 0xa2, 0x55, 0x39, 0xab, 0xa8, 0x13, 0x73, 0x7c, 63 + 0x3f, 0xb2, 0xd6, 0x19, 0xac, 0xff, 0x99, 0xed, 64 + 0xe8, 0xe6, 0xa6, 0x22, 0xe3, 0x9c, 0xf1, 0x30, 65 + 0xdc, 0x01, 0x0a, 0x56, 0xfa, 0xe4, 0xc9, 0x99, 66 + 0xdd, 0xa8, 0xd8, 0xda, 0x35, 0x51, 0x73, 0xb4, 67 + 0x40, 0x86, 0x85, 0xdb, 0x5c, 0xd5, 0x85, 0x80, 68 + 0x14, 0x9c, 0xfd, 0x98, 0xa9, 0x82, 0xc5, 0x37, 69 + 0xff, 0x32, 0x5d, 0xd0, 0x0b, 0xfa, 0xdc, 0x04, 70 + 0x5e, 0x09, 0xd2, 0xca, 0x17, 0x4b, 0x1a, 0x8e, 71 + 0x15, 0xe1, 0xcc, 0x4e, 0x52, 0x88, 0x35, 0xbd, 72 + 0x48, 0xfe, 0x15, 0xa0, 0x91, 0xfd, 0x7e, 0x6c, 73 + 0x0e, 0x5d, 0x79, 0x1b, 0x81, 0x79, 0xd2, 0x09, 74 + 0x34, 0x70, 0x3d, 0x81, 0xec, 0xf6, 0x24, 0xbb, 75 + 0xfb, 0xf1, 0x7b, 0xdf, 0x54, 0xea, 0x80, 0x9b, 76 + 0xc7, 0x99, 0x9e, 0xbd, 0x16, 0x78, 0x12, 0x53, 77 + 0x5e, 0x01, 0xa7, 0x4e, 0xbd, 0x67, 0xe1, 0x9b, 78 + 0x4c, 0x0e, 0x61, 0x45, 0x97, 0xd2, 0xf0, 0x0f, 79 + 0xfe, 0x15, 0x08, 0xb7, 0x11, 0x4c, 0xe7, 0xff, 80 + 0x81, 0x53, 0xff, 0x91, 0x25, 0x38, 0x7e, 0x40, 81 + 0x94, 0xe5, 0xe0, 0xad, 0xe6, 0xd9, 0x79, 0xb6, 82 + 0x92, 0xc9, 0xfc, 0xde, 0xc3, 0x1a, 0x23, 0xbb, 83 + 0xdd, 0xc8, 0x51, 0x0c, 0x3a, 0x72, 0xfa, 0x73, 84 + 0x6f, 0xb7, 0xee, 0x61, 0x39, 0x03, 0x01, 0x3f, 85 + 0x7f, 0x94, 0x2e, 0x2e, 0xba, 0x3a, 0xbb, 0xb4, 86 + 0xfa, 0x6a, 0x17, 0xfe, 0xea, 0xef, 0x5e, 0x66, 87 + 0x97, 0x3f, 0x32, 0x3d, 0xd7, 0x3e, 0xb1, 0xf1, 88 + 0x6c, 0x14, 0x4c, 0xfd, 0x37, 0xd3, 0x38, 0x80, 89 + 0xfb, 0xde, 0xa6, 0x24, 0x1e, 0xc8, 0xca, 0x7f, 90 + 0x3a, 0x93, 0xd8, 0x8b, 0x18, 0x13, 0xb2, 0xe5, 91 + 0xe4, 0x93, 0x05, 0x53, 0x4f, 0x84, 0x66, 0xa7, 92 + 0x58, 0x5c, 0x7b, 0x86, 0x52, 0x6d, 0x0d, 0xce, 93 + 0xa4, 0x30, 0x7d, 0xb6, 0x18, 0x9f, 0xeb, 0xff, 94 + 0x22, 0xbb, 0x72, 0x29, 0xb9, 0x44, 0x0b, 0x48, 95 + 0x1e, 0x84, 0x71, 0x81, 0xe3, 0x6d, 0x73, 0x26, 96 + 0x92, 0xb4, 0x4d, 0x2a, 0x29, 0xb8, 0x1f, 0x72, 97 + 0xed, 0xd0, 0xe1, 0x64, 0x77, 0xea, 0x8e, 0x88, 98 + 0x0f, 0xef, 0x3f, 0xb1, 0x3b, 0xad, 0xf9, 0xc9, 99 + 0x8b, 0xd0, 0xac, 0xc6, 0xcc, 0xa9, 0x40, 0xcc, 100 + 0x76, 0xf6, 0x3b, 0x53, 0xb5, 0x88, 0xcb, 0xc8, 101 + 0x37, 0xf1, 0xa2, 0xba, 0x23, 0x15, 0x99, 0x09, 102 + 0xcc, 0xe7, 0x7a, 0x3b, 0x37, 0xf7, 0x58, 0xc8, 103 + 0x46, 0x8c, 0x2b, 0x2f, 0x4e, 0x0e, 0xa6, 0x5c, 104 + 0xea, 0x85, 0x55, 0xba, 0x02, 0x0e, 0x0e, 0x48, 105 + 0xbc, 0xe1, 0xb1, 0x01, 0x35, 0x79, 0x13, 0x3d, 106 + 0x1b, 0xc0, 0x53, 0x68, 0x11, 0xe7, 0x95, 0x0f, 107 + 0x9d, 0x3f, 0x4c, 0x47, 0x7b, 0x4d, 0x1c, 0xae, 108 + 0x50, 0x9b, 0xcb, 0xdd, 0x05, 0x8d, 0x9a, 0x97, 109 + 0xfd, 0x8c, 0xef, 0x0c, 0x1d, 0x67, 0x73, 0xa8, 110 + 0x28, 0x36, 0xd5, 0xb6, 0x92, 0x33, 0x40, 0x75, 111 + 0x0b, 0x51, 0xc3, 0x64, 0xba, 0x1d, 0xc2, 0xcc, 112 + 0xee, 0x7d, 0x54, 0x0f, 0x27, 0x69, 0xa7, 0x27, 113 + 0x63, 0x30, 0x29, 0xd9, 0xc8, 0x84, 0xd8, 0xdf, 114 + 0x9f, 0x68, 0x8d, 0x04, 0xca, 0xa6, 0xc5, 0xc7, 115 + 0x7a, 0x5c, 0xc8, 0xd1, 0xcb, 0x4a, 0xec, 0xd0, 116 + 0xd8, 0x20, 0x69, 0xc5, 0x17, 0xcd, 0x78, 0xc8, 117 + 0x75, 0x23, 0x30, 0x69, 0xc9, 0xd4, 0xea, 0x5c, 118 + 0x4f, 0x6b, 0x86, 0x3f, 0x8b, 0xfe, 0xee, 0x44, 119 + 0xc9, 0x7c, 0xb7, 0xdd, 0x3e, 0xe5, 0xec, 0x54, 120 + 0x03, 0x3e, 0xaa, 0x82, 0xc6, 0xdf, 0xb2, 0x38, 121 + 0x0e, 0x5d, 0xb3, 0x88, 0xd9, 0xd3, 0x69, 0x5f, 122 + 0x8f, 0x70, 0x8a, 0x7e, 0x11, 0xd9, 0x1e, 0x7b, 123 + 0x38, 0xf1, 0x42, 0x1a, 0xc0, 0x35, 0xf5, 0xc7, 124 + 0x36, 0x85, 0xf5, 0xf7, 0xb8, 0x7e, 0xc7, 0xef, 125 + 0x18, 0xf1, 0x63, 0xd6, 0x7a, 0xc6, 0xc9, 0x0e, 126 + 0x4d, 0x69, 0x4f, 0x84, 0xef, 0x26, 0x41, 0x0c, 127 + 0xec, 0xc7, 0xe0, 0x7e, 0x3c, 0x67, 0x01, 0x4c, 128 + 0x62, 0x1a, 0x20, 0x6f, 0xee, 0x47, 0x4d, 0xc0, 129 + 0x99, 0x13, 0x8d, 0x91, 0x4a, 0x26, 0xd4, 0x37, 130 + 0x28, 0x90, 0x58, 0x75, 0x66, 0x2b, 0x0a, 0xdf, 131 + 0xda, 0xee, 0x92, 0x25, 0x90, 0x62, 0x39, 0x9e, 132 + 0x44, 0x98, 0xad, 0xc1, 0x88, 0xed, 0xe4, 0xb4, 133 + 0xaf, 0xf5, 0x8c, 0x9b, 0x48, 0x4d, 0x56, 0x60, 134 + 0x97, 0x0f, 0x61, 0x59, 0x9e, 0xa6, 0x27, 0xfe, 135 + 0xc1, 0x91, 0x15, 0x38, 0xb8, 0x0f, 0xae, 0x61, 136 + 0x7d, 0x26, 0x13, 0x5a, 0x73, 0xff, 0x1c, 0xa3, 137 + 0x61, 0x04, 0x58, 0x48, 0x55, 0x44, 0x11, 0xfe, 138 + 0x15, 0xca, 0xc3, 0xbd, 0xca, 0xc5, 0xb4, 0x40, 139 + 0x5d, 0x1b, 0x7f, 0x39, 0xb5, 0x9c, 0x35, 0xec, 140 + 0x61, 0x15, 0x32, 0x32, 0xb8, 0x4e, 0x40, 0x9f, 141 + 0x17, 0x1f, 0x0a, 0x4d, 0xa9, 0x91, 0xef, 0xb7, 142 + 0xb0, 0xeb, 0xc2, 0x83, 0x9a, 0x6c, 0xd2, 0x79, 143 + 0x43, 0x78, 0x5e, 0x2f, 0xe5, 0xdd, 0x1a, 0x3c, 144 + 0x45, 0xab, 0x29, 0x40, 0x3a, 0x37, 0x5b, 0x6f, 145 + 0xd7, 0xfc, 0x48, 0x64, 0x3c, 0x49, 0xfb, 0x21, 146 + 0xbe, 0xc3, 0xff, 0x07, 0xfb, 0x17, 0xe9, 0xc9, 147 + 0x0c, 0x4c, 0x5c, 0x15, 0x9e, 0x8e, 0x22, 0x30, 148 + 0x0a, 0xde, 0x48, 0x7f, 0xdb, 0x0d, 0xd1, 0x2b, 149 + 0x87, 0x38, 0x9e, 0xcc, 0x5a, 0x01, 0x16, 0xee, 150 + 0x75, 0x49, 0x0d, 0x30, 0x01, 0x34, 0x6a, 0xb6, 151 + 0x9a, 0x5a, 0x2a, 0xec, 0xbb, 0x48, 0xac, 0xd3, 152 + 0x77, 0x83, 0xd8, 0x08, 0x86, 0x4f, 0x48, 0x09, 153 + 0x29, 0x41, 0x79, 0xa1, 0x03, 0x12, 0xc4, 0xcd, 154 + 0x90, 0x55, 0x47, 0x66, 0x74, 0x9a, 0xcc, 0x4f, 155 + 0x35, 0x8c, 0xd6, 0x98, 0xef, 0xeb, 0x45, 0xb9, 156 + 0x9a, 0x26, 0x2f, 0x39, 0xa5, 0x70, 0x6d, 0xfc, 157 + 0xb4, 0x51, 0xee, 0xf4, 0x9c, 0xe7, 0x38, 0x59, 158 + 0xad, 0xf4, 0xbc, 0x46, 0xff, 0x46, 0x8e, 0x60, 159 + 0x9c, 0xa3, 0x60, 0x1d, 0xf8, 0x26, 0x72, 0xf5, 160 + 0x72, 0x9d, 0x68, 0x80, 0x04, 0xf6, 0x0b, 0xa1, 161 + 0x0a, 0xd5, 0xa7, 0x82, 0x3a, 0x3e, 0x47, 0xa8, 162 + 0x5a, 0xde, 0x59, 0x4f, 0x7b, 0x07, 0xb3, 0xe9, 163 + 0x24, 0x19, 0x3d, 0x34, 0x05, 0xec, 0xf1, 0xab, 164 + 0x6e, 0x64, 0x8f, 0xd3, 0xe6, 0x41, 0x86, 0x80, 165 + 0x70, 0xe3, 0x8d, 0x60, 0x9c, 0x34, 0x25, 0x01, 166 + 0x07, 0x4d, 0x19, 0x41, 0x4e, 0x3d, 0x5c, 0x7e, 167 + 0xa8, 0xf5, 0xcc, 0xd5, 0x7b, 0xe2, 0x7d, 0x3d, 168 + 0x49, 0x86, 0x7d, 0x07, 0xb7, 0x10, 0xe3, 0x35, 169 + 0xb8, 0x84, 0x6d, 0x76, 0xab, 0x17, 0xc6, 0x38, 170 + 0xb4, 0xd3, 0x28, 0x57, 0xad, 0xd3, 0x88, 0x5a, 171 + 0xda, 0xea, 0xc8, 0x94, 0xcc, 0x37, 0x19, 0xac, 172 + 0x9c, 0x9f, 0x4b, 0x00, 0x15, 0xc0, 0xc8, 0xca, 173 + 0x1f, 0x15, 0xaa, 0xe0, 0xdb, 0xf9, 0x2f, 0x57, 174 + 0x1b, 0x24, 0xc7, 0x6f, 0x76, 0x29, 0xfb, 0xed, 175 + 0x25, 0x0d, 0xc0, 0xfe, 0xbd, 0x5a, 0xbf, 0x20, 176 + 0x08, 0x51, 0x05, 0xec, 0x71, 0xa3, 0xbf, 0xef, 177 + 0x5e, 0x99, 0x75, 0xdb, 0x3c, 0x5f, 0x9a, 0x8c, 178 + 0xbb, 0x19, 0x5c, 0x0e, 0x93, 0x19, 0xf8, 0x6a, 179 + 0xbc, 0xf2, 0x12, 0x54, 0x2f, 0xcb, 0x28, 0x64, 180 + 0x88, 0xb3, 0x92, 0x0d, 0x96, 0xd1, 0xa6, 0xe4, 181 + 0x1f, 0xf1, 0x4d, 0xa4, 0xab, 0x1c, 0xee, 0x54, 182 + 0xf2, 0xad, 0x29, 0x6d, 0x32, 0x37, 0xb2, 0x16, 183 + 0x77, 0x5c, 0xdc, 0x2e, 0x54, 0xec, 0x75, 0x26, 184 + 0xc6, 0x36, 0xd9, 0x17, 0x2c, 0xf1, 0x7a, 0xdc, 185 + 0x4b, 0xf1, 0xe2, 0xd9, 0x95, 0xba, 0xac, 0x87, 186 + 0xc1, 0xf3, 0x8e, 0x58, 0x08, 0xd8, 0x87, 0x60, 187 + 0xc9, 0xee, 0x6a, 0xde, 0xa4, 0xd2, 0xfc, 0x0d, 188 + 0xe5, 0x36, 0xc4, 0x5c, 0x52, 0xb3, 0x07, 0x54, 189 + 0x65, 0x24, 0xc1, 0xb1, 0xd1, 0xb1, 0x53, 0x13, 190 + 0x31, 0x79, 0x7f, 0x05, 0x76, 0xeb, 0x37, 0x59, 191 + 0x15, 0x2b, 0xd1, 0x3f, 0xac, 0x08, 0x97, 0xeb, 192 + 0x91, 0x98, 0xdf, 0x6c, 0x09, 0x0d, 0x04, 0x9f, 193 + 0xdc, 0x3b, 0x0e, 0x60, 0x68, 0x47, 0x23, 0x15, 194 + 0x16, 0xc6, 0x0b, 0x35, 0xf8, 0x77, 0xa2, 0x78, 195 + 0x50, 0xd4, 0x64, 0x22, 0x33, 0xff, 0xfb, 0x93, 196 + 0x71, 0x46, 0x50, 0x39, 0x1b, 0x9c, 0xea, 0x4e, 197 + 0x8d, 0x0c, 0x37, 0xe5, 0x5c, 0x51, 0x3a, 0x31, 198 + 0xb2, 0x85, 0x84, 0x3f, 0x41, 0xee, 0xa2, 0xc1, 199 + 0xc6, 0x13, 0x3b, 0x54, 0x28, 0xd2, 0x18, 0x37, 200 + 0xcc, 0x46, 0x9f, 0x6a, 0x91, 0x3d, 0x5a, 0x15, 201 + 0x3c, 0x89, 0xa3, 0x61, 0x06, 0x7d, 0x2e, 0x78, 202 + 0xbe, 0x7d, 0x40, 0xba, 0x2f, 0x95, 0xb1, 0x2f, 203 + 0x87, 0x3b, 0x8a, 0xbe, 0x6a, 0xf4, 0xc2, 0x31, 204 + 0x74, 0xee, 0x91, 0xe0, 0x23, 0xaa, 0x5d, 0x7f, 205 + 0xdd, 0xf0, 0x44, 0x8c, 0x0b, 0x59, 0x2b, 0xfc, 206 + 0x48, 0x3a, 0xdf, 0x07, 0x05, 0x38, 0x6c, 0xc9, 207 + 0xeb, 0x18, 0x24, 0x68, 0x8d, 0x58, 0x98, 0xd3, 208 + 0x31, 0xa3, 0xe4, 0x70, 0x59, 0xb1, 0x21, 0xbe, 209 + 0x7e, 0x65, 0x7d, 0xb8, 0x04, 0xab, 0xf6, 0xe4, 210 + 0xd7, 0xda, 0xec, 0x09, 0x8f, 0xda, 0x6d, 0x24, 211 + 0x07, 0xcc, 0x29, 0x17, 0x05, 0x78, 0x1a, 0xc1, 212 + 0xb1, 0xce, 0xfc, 0xaa, 0x2d, 0xe7, 0xcc, 0x85, 213 + 0x84, 0x84, 0x03, 0x2a, 0x0c, 0x3f, 0xa9, 0xf8, 214 + 0xfd, 0x84, 0x53, 0x59, 0x5c, 0xf0, 0xd4, 0x09, 215 + 0xf0, 0xd2, 0x6c, 0x32, 0x03, 0xb0, 0xa0, 0x8c, 216 + 0x52, 0xeb, 0x23, 0x91, 0x88, 0x43, 0x13, 0x46, 217 + 0xf6, 0x1e, 0xb4, 0x1b, 0xf5, 0x8e, 0x3a, 0xb5, 218 + 0x3d, 0x00, 0xf6, 0xe5, 0x08, 0x3d, 0x5f, 0x39, 219 + 0xd3, 0x21, 0x69, 0xbc, 0x03, 0x22, 0x3a, 0xd2, 220 + 0x5c, 0x84, 0xf8, 0x15, 0xc4, 0x80, 0x0b, 0xbc, 221 + 0x29, 0x3c, 0xf3, 0x95, 0x98, 0xcd, 0x8f, 0x35, 222 + 0xbc, 0xa5, 0x3e, 0xfc, 0xd4, 0x13, 0x9e, 0xde, 223 + 0x4f, 0xce, 0x71, 0x9d, 0x09, 0xad, 0xf2, 0x80, 224 + 0x6b, 0x65, 0x7f, 0x03, 0x00, 0x14, 0x7c, 0x15, 225 + 0x85, 0x40, 0x6d, 0x70, 0xea, 0xdc, 0xb3, 0x63, 226 + 0x35, 0x4f, 0x4d, 0xe0, 0xd9, 0xd5, 0x3c, 0x58, 227 + 0x56, 0x23, 0x80, 0xe2, 0x36, 0xdd, 0x75, 0x1d, 228 + 0x94, 0x11, 0x41, 0x8e, 0xe0, 0x81, 0x8e, 0xcf, 229 + 0xe0, 0xe5, 0xf6, 0xde, 0xd1, 0xe7, 0x04, 0x12, 230 + 0x79, 0x92, 0x2b, 0x71, 0x2a, 0x79, 0x8b, 0x7c, 231 + 0x44, 0x79, 0x16, 0x30, 0x4e, 0xf4, 0xf6, 0x9b, 232 + 0xb7, 0x40, 0xa3, 0x5a, 0xa7, 0x69, 0x3e, 0xc1, 233 + 0x3a, 0x04, 0xd0, 0x88, 0xa0, 0x3b, 0xdd, 0xc6, 234 + 0x9e, 0x7e, 0x1e, 0x1e, 0x8f, 0x44, 0xf7, 0x73, 235 + 0x67, 0x1e, 0x1a, 0x78, 0xfa, 0x62, 0xf4, 0xa9, 236 + 0xa8, 0xc6, 0x5b, 0xb8, 0xfa, 0x06, 0x7d, 0x5e, 237 + 0x38, 0x1c, 0x9a, 0x39, 0xe9, 0x39, 0x98, 0x22, 238 + 0x0b, 0xa7, 0xac, 0x0b, 0xf3, 0xbc, 0xf1, 0xeb, 239 + 0x8c, 0x81, 0xe3, 0x48, 0x8a, 0xed, 0x42, 0xc2, 240 + 0x38, 0xcf, 0x3e, 0xda, 0xd2, 0x89, 0x8d, 0x9c, 241 + 0x53, 0xb5, 0x2f, 0x41, 0x01, 0x26, 0x84, 0x9c, 242 + 0xa3, 0x56, 0xf6, 0x49, 0xc7, 0xd4, 0x9f, 0x93, 243 + 0x1b, 0x96, 0x49, 0x5e, 0xad, 0xb3, 0x84, 0x1f, 244 + 0x3c, 0xa4, 0xe0, 0x9b, 0xd1, 0x90, 0xbc, 0x38, 245 + 0x6c, 0xdd, 0x95, 0x4d, 0x9d, 0xb1, 0x71, 0x57, 246 + 0x2d, 0x34, 0xe8, 0xb8, 0x42, 0xc7, 0x99, 0x03, 247 + 0xc7, 0x07, 0x30, 0x65, 0x91, 0x55, 0xd5, 0x90, 248 + 0x70, 0x97, 0x37, 0x68, 0xd4, 0x11, 0xf9, 0xe8, 249 + 0xce, 0xec, 0xdc, 0x34, 0xd5, 0xd3, 0xb7, 0xc4, 250 + 0xb8, 0x97, 0x05, 0x92, 0xad, 0xf8, 0xe2, 0x36, 251 + 0x64, 0x41, 0xc9, 0xc5, 0x41, 0x77, 0x52, 0xd7, 252 + 0x2c, 0xa5, 0x24, 0x2f, 0xd9, 0x34, 0x0b, 0x47, 253 + 0x35, 0xa7, 0x28, 0x8b, 0xc5, 0xcd, 0xe9, 0x46, 254 + 0xac, 0x39, 0x94, 0x3c, 0x10, 0xc6, 0x29, 0x73, 255 + 0x0e, 0x0e, 0x5d, 0xe0, 0x71, 0x03, 0x8a, 0x72, 256 + 0x0e, 0x26, 0xb0, 0x7d, 0x84, 0xed, 0x95, 0x23, 257 + 0x49, 0x5a, 0x45, 0x83, 0x45, 0x60, 0x11, 0x4a, 258 + 0x46, 0x31, 0xd4, 0xd8, 0x16, 0x54, 0x98, 0x58, 259 + 0xed, 0x6d, 0xcc, 0x5d, 0xd6, 0x50, 0x61, 0x9f, 260 + 0x9d, 0xc5, 0x3e, 0x9d, 0x32, 0x47, 0xde, 0x96, 261 + 0xe1, 0x5d, 0xd8, 0xf8, 0xb4, 0x69, 0x6f, 0xb9, 262 + 0x15, 0x90, 0x57, 0x7a, 0xf6, 0xad, 0xb0, 0x5b, 263 + 0xf5, 0xa6, 0x36, 0x94, 0xfd, 0x84, 0xce, 0x1c, 264 + 0x0f, 0x4b, 0xd0, 0xc2, 0x5b, 0x6b, 0x56, 0xef, 265 + 0x73, 0x93, 0x0b, 0xc3, 0xee, 0xd9, 0xcf, 0xd3, 266 + 0xa4, 0x22, 0x58, 0xcd, 0x50, 0x6e, 0x65, 0xf4, 267 + 0xe9, 0xb7, 0x71, 0xaf, 0x4b, 0xb3, 0xb6, 0x2f, 268 + 0x0f, 0x0e, 0x3b, 0xc9, 0x85, 0x14, 0xf5, 0x17, 269 + 0xe8, 0x7a, 0x3a, 0xbf, 0x5f, 0x5e, 0xf8, 0x18, 270 + 0x48, 0xa6, 0x72, 0xab, 0x06, 0x95, 0xe9, 0xc8, 271 + 0xa7, 0xf4, 0x32, 0x44, 0x04, 0x0c, 0x84, 0x98, 272 + 0x73, 0xe3, 0x89, 0x8d, 0x5f, 0x7e, 0x4a, 0x42, 273 + 0x8f, 0xc5, 0x28, 0xb1, 0x82, 0xef, 0x1c, 0x97, 274 + 0x31, 0x3b, 0x4d, 0xe0, 0x0e, 0x10, 0x10, 0x97, 275 + 0x93, 0x49, 0x78, 0x2f, 0x0d, 0x86, 0x8b, 0xa1, 276 + 0x53, 0xa9, 0x81, 0x20, 0x79, 0xe7, 0x07, 0x77, 277 + 0xb6, 0xac, 0x5e, 0xd2, 0x05, 0xcd, 0xe9, 0xdb, 278 + 0x8a, 0x94, 0x82, 0x8a, 0x23, 0xb9, 0x3d, 0x1c, 279 + 0xa9, 0x7d, 0x72, 0x4a, 0xed, 0x33, 0xa3, 0xdb, 280 + 0x21, 0xa7, 0x86, 0x33, 0x45, 0xa5, 0xaa, 0x56, 281 + 0x45, 0xb5, 0x83, 0x29, 0x40, 0x47, 0x79, 0x04, 282 + 0x6e, 0xb9, 0x95, 0xd0, 0x81, 0x77, 0x2d, 0x48, 283 + 0x1e, 0xfe, 0xc3, 0xc2, 0x1e, 0xe5, 0xf2, 0xbe, 284 + 0xfd, 0x3b, 0x94, 0x9f, 0xc4, 0xc4, 0x26, 0x9d, 285 + 0xe4, 0x66, 0x1e, 0x19, 0xee, 0x6c, 0x79, 0x97, 286 + 0x11, 0x31, 0x4b, 0x0d, 0x01, 0xcb, 0xde, 0xa8, 287 + 0xf6, 0x6d, 0x7c, 0x39, 0x46, 0x4e, 0x7e, 0x3f, 288 + 0x94, 0x17, 0xdf, 0xa1, 0x7d, 0xd9, 0x1c, 0x8e, 289 + 0xbc, 0x7d, 0x33, 0x7d, 0xe3, 0x12, 0x40, 0xca, 290 + 0xab, 0x37, 0x11, 0x46, 0xd4, 0xae, 0xef, 0x44, 291 + 0xa2, 0xb3, 0x6a, 0x66, 0x0e, 0x0c, 0x90, 0x7f, 292 + 0xdf, 0x5c, 0x66, 0x5f, 0xf2, 0x94, 0x9f, 0xa6, 293 + 0x73, 0x4f, 0xeb, 0x0d, 0xad, 0xbf, 0xc0, 0x63, 294 + 0x5c, 0xdc, 0x46, 0x51, 0xe8, 0x8e, 0x90, 0x19, 295 + 0xa8, 0xa4, 0x3c, 0x91, 0x79, 0xfa, 0x7e, 0x58, 296 + 0x85, 0x13, 0x55, 0xc5, 0x19, 0x82, 0x37, 0x1b, 297 + 0x0a, 0x02, 0x1f, 0x99, 0x6b, 0x18, 0xf1, 0x28, 298 + 0x08, 0xa2, 0x73, 0xb8, 0x0f, 0x2e, 0xcd, 0xbf, 299 + 0xf3, 0x86, 0x7f, 0xea, 0xef, 0xd0, 0xbb, 0xa6, 300 + 0x21, 0xdf, 0x49, 0x73, 0x51, 0xcc, 0x36, 0xd3, 301 + 0x3e, 0xa0, 0xf8, 0x44, 0xdf, 0xd3, 0xa6, 0xbe, 302 + 0x8a, 0xd4, 0x57, 0xdd, 0x72, 0x94, 0x61, 0x0f, 303 + 0x82, 0xd1, 0x07, 0xb8, 0x7c, 0x18, 0x83, 0xdf, 304 + 0x3a, 0xe5, 0x50, 0x6a, 0x82, 0x20, 0xac, 0xa9, 305 + 0xa8, 0xff, 0xd9, 0xf3, 0x77, 0x33, 0x5a, 0x9e, 306 + 0x7f, 0x6d, 0xfe, 0x5d, 0x33, 0x41, 0x42, 0xe7, 307 + 0x6c, 0x19, 0xe0, 0x44, 0x8a, 0x15, 0xf6, 0x70, 308 + 0x98, 0xb7, 0x68, 0x4d, 0xfa, 0x97, 0x39, 0xb0, 309 + 0x8e, 0xe8, 0x84, 0x8b, 0x75, 0x30, 0xb7, 0x7d, 310 + 0x92, 0x69, 0x20, 0x9c, 0x81, 0xfb, 0x4b, 0xf4, 311 + 0x01, 0x50, 0xeb, 0xce, 0x0c, 0x1c, 0x6c, 0xb5, 312 + 0x4a, 0xd7, 0x27, 0x0c, 0xce, 0xbb, 0xe5, 0x85, 313 + 0xf0, 0xb6, 0xee, 0xd5, 0x70, 0xdd, 0x3b, 0xfc, 314 + 0xd4, 0x99, 0xf1, 0x33, 0xdd, 0x8b, 0xc4, 0x2f, 315 + 0xae, 0xab, 0x74, 0x96, 0x32, 0xc7, 0x4c, 0x56, 316 + 0x3c, 0x89, 0x0f, 0x96, 0x0b, 0x42, 0xc0, 0xcb, 317 + 0xee, 0x0f, 0x0b, 0x8c, 0xfb, 0x7e, 0x47, 0x7b, 318 + 0x64, 0x48, 0xfd, 0xb2, 0x00, 0x80, 0x89, 0xa5, 319 + 0x13, 0x55, 0x62, 0xfc, 0x8f, 0xe2, 0x42, 0x03, 320 + 0xb7, 0x4e, 0x2a, 0x79, 0xb4, 0x82, 0xea, 0x23, 321 + 0x49, 0xda, 0xaf, 0x52, 0x63, 0x1e, 0x60, 0x03, 322 + 0x89, 0x06, 0x44, 0x46, 0x08, 0xc3, 0xc4, 0x87, 323 + 0x70, 0x2e, 0xda, 0x94, 0xad, 0x6b, 0xe0, 0xe4, 324 + 0xd1, 0x8a, 0x06, 0xc2, 0xa8, 0xc0, 0xa7, 0x43, 325 + 0x3c, 0x47, 0x52, 0x0e, 0xc3, 0x77, 0x81, 0x11, 326 + 0x67, 0x0e, 0xa0, 0x70, 0x04, 0x47, 0x29, 0x40, 327 + 0x86, 0x0d, 0x34, 0x56, 0xa7, 0xc9, 0x35, 0x59, 328 + 0x68, 0xdc, 0x93, 0x81, 0x70, 0xee, 0x86, 0xd9, 329 + 0x80, 0x06, 0x40, 0x4f, 0x1a, 0x0d, 0x40, 0x30, 330 + 0x0b, 0xcb, 0x96, 0x47, 0xc1, 0xb7, 0x52, 0xfd, 331 + 0x56, 0xe0, 0x72, 0x4b, 0xfb, 0xbd, 0x92, 0x45, 332 + 0x61, 0x71, 0xc2, 0x33, 0x11, 0xbf, 0x52, 0x83, 333 + 0x79, 0x26, 0xe0, 0x49, 0x6b, 0xb7, 0x05, 0x8b, 334 + 0xe8, 0x0e, 0x87, 0x31, 0xd7, 0x9d, 0x8a, 0xf5, 335 + 0xc0, 0x5f, 0x2e, 0x58, 0x4a, 0xdb, 0x11, 0xb3, 336 + 0x6c, 0x30, 0x2a, 0x46, 0x19, 0xe3, 0x27, 0x84, 337 + 0x1f, 0x63, 0x6e, 0xf6, 0x57, 0xc7, 0xc9, 0xd8, 338 + 0x5e, 0xba, 0xb3, 0x87, 0xd5, 0x83, 0x26, 0x34, 339 + 0x21, 0x9e, 0x65, 0xde, 0x42, 0xd3, 0xbe, 0x7b, 340 + 0xbc, 0x91, 0x71, 0x44, 0x4d, 0x99, 0x3b, 0x31, 341 + 0xe5, 0x3f, 0x11, 0x4e, 0x7f, 0x13, 0x51, 0x3b, 342 + 0xae, 0x79, 0xc9, 0xd3, 0x81, 0x8e, 0x25, 0x40, 343 + 0x10, 0xfc, 0x07, 0x1e, 0xf9, 0x7b, 0x9a, 0x4b, 344 + 0x6c, 0xe3, 0xb3, 0xad, 0x1a, 0x0a, 0xdd, 0x9e, 345 + 0x59, 0x0c, 0xa2, 0xcd, 0xae, 0x48, 0x4a, 0x38, 346 + 0x5b, 0x47, 0x41, 0x94, 0x65, 0x6b, 0xbb, 0xeb, 347 + 0x5b, 0xe3, 0xaf, 0x07, 0x5b, 0xd4, 0x4a, 0xa2, 348 + 0xc9, 0x5d, 0x2f, 0x64, 0x03, 0xd7, 0x3a, 0x2c, 349 + 0x6e, 0xce, 0x76, 0x95, 0xb4, 0xb3, 0xc0, 0xf1, 350 + 0xe2, 0x45, 0x73, 0x7a, 0x5c, 0xab, 0xc1, 0xfc, 351 + 0x02, 0x8d, 0x81, 0x29, 0xb3, 0xac, 0x07, 0xec, 352 + 0x40, 0x7d, 0x45, 0xd9, 0x7a, 0x59, 0xee, 0x34, 353 + 0xf0, 0xe9, 0xd5, 0x7b, 0x96, 0xb1, 0x3d, 0x95, 354 + 0xcc, 0x86, 0xb5, 0xb6, 0x04, 0x2d, 0xb5, 0x92, 355 + 0x7e, 0x76, 0xf4, 0x06, 0xa9, 0xa3, 0x12, 0x0f, 356 + 0xb1, 0xaf, 0x26, 0xba, 0x7c, 0xfc, 0x7e, 0x1c, 357 + 0xbc, 0x2c, 0x49, 0x97, 0x53, 0x60, 0x13, 0x0b, 358 + 0xa6, 0x61, 0x83, 0x89, 0x42, 0xd4, 0x17, 0x0c, 359 + 0x6c, 0x26, 0x52, 0xc3, 0xb3, 0xd4, 0x67, 0xf5, 360 + 0xe3, 0x04, 0xb7, 0xf4, 0xcb, 0x80, 0xb8, 0xcb, 361 + 0x77, 0x56, 0x3e, 0xaa, 0x57, 0x54, 0xee, 0xb4, 362 + 0x2c, 0x67, 0xcf, 0xf2, 0xdc, 0xbe, 0x55, 0xf9, 363 + 0x43, 0x1f, 0x6e, 0x22, 0x97, 0x67, 0x7f, 0xc4, 364 + 0xef, 0xb1, 0x26, 0x31, 0x1e, 0x27, 0xdf, 0x41, 365 + 0x80, 0x47, 0x6c, 0xe2, 0xfa, 0xa9, 0x8c, 0x2a, 366 + 0xf6, 0xf2, 0xab, 0xf0, 0x15, 0xda, 0x6c, 0xc8, 367 + 0xfe, 0xb5, 0x23, 0xde, 0xa9, 0x05, 0x3f, 0x06, 368 + 0x54, 0x4c, 0xcd, 0xe1, 0xab, 0xfc, 0x0e, 0x62, 369 + 0x33, 0x31, 0x73, 0x2c, 0x76, 0xcb, 0xb4, 0x47, 370 + 0x1e, 0x20, 0xad, 0xd8, 0xf2, 0x31, 0xdd, 0xc4, 371 + 0x8b, 0x0c, 0x77, 0xbe, 0xe1, 0x8b, 0x26, 0x00, 372 + 0x02, 0x58, 0xd6, 0x8d, 0xef, 0xad, 0x74, 0x67, 373 + 0xab, 0x3f, 0xef, 0xcb, 0x6f, 0xb0, 0xcc, 0x81, 374 + 0x44, 0x4c, 0xaf, 0xe9, 0x49, 0x4f, 0xdb, 0xa0, 375 + 0x25, 0xa4, 0xf0, 0x89, 0xf1, 0xbe, 0xd8, 0x10, 376 + 0xff, 0xb1, 0x3b, 0x4b, 0xfa, 0x98, 0xf5, 0x79, 377 + 0x6d, 0x1e, 0x69, 0x4d, 0x57, 0xb1, 0xc8, 0x19, 378 + 0x1b, 0xbd, 0x1e, 0x8c, 0x84, 0xb7, 0x7b, 0xe8, 379 + 0xd2, 0x2d, 0x09, 0x41, 0x41, 0x37, 0x3d, 0xb1, 380 + 0x6f, 0x26, 0x5d, 0x71, 0x16, 0x3d, 0xb7, 0x83, 381 + 0x27, 0x2c, 0xa7, 0xb6, 0x50, 0xbd, 0x91, 0x86, 382 + 0xab, 0x24, 0xa1, 0x38, 0xfd, 0xea, 0x71, 0x55, 383 + 0x7e, 0x9a, 0x07, 0x77, 0x4b, 0xfa, 0x61, 0x66, 384 + 0x20, 0x1e, 0x28, 0x95, 0x18, 0x1b, 0xa4, 0xa0, 385 + 0xfd, 0xc0, 0x89, 0x72, 0x43, 0xd9, 0x3b, 0x49, 386 + 0x5a, 0x3f, 0x9d, 0xbf, 0xdb, 0xb4, 0x46, 0xea, 387 + 0x42, 0x01, 0x77, 0x23, 0x68, 0x95, 0xb6, 0x24, 388 + 0xb3, 0xa8, 0x6c, 0x28, 0x3b, 0x11, 0x40, 0x7e, 389 + 0x18, 0x65, 0x6d, 0xd8, 0x24, 0x42, 0x7d, 0x88, 390 + 0xc0, 0x52, 0xd9, 0x05, 0xe4, 0x95, 0x90, 0x87, 391 + 0x8c, 0xf4, 0xd0, 0x6b, 0xb9, 0x83, 0x99, 0x34, 392 + 0x6d, 0xfe, 0x54, 0x40, 0x94, 0x52, 0x21, 0x4f, 393 + 0x14, 0x25, 0xc5, 0xd6, 0x5e, 0x95, 0xdc, 0x0a, 394 + 0x2b, 0x89, 0x20, 0x11, 0x84, 0x48, 0xd6, 0x3a, 395 + 0xcd, 0x5c, 0x24, 0xad, 0x62, 0xe3, 0xb1, 0x93, 396 + 0x25, 0x8d, 0xcd, 0x7e, 0xfc, 0x27, 0xa3, 0x37, 397 + 0xfd, 0x84, 0xfc, 0x1b, 0xb2, 0xf1, 0x27, 0x38, 398 + 0x5a, 0xb7, 0xfc, 0xf2, 0xfa, 0x95, 0x66, 0xd4, 399 + 0xfb, 0xba, 0xa7, 0xd7, 0xa3, 0x72, 0x69, 0x48, 400 + 0x48, 0x8c, 0xeb, 0x28, 0x89, 0xfe, 0x33, 0x65, 401 + 0x5a, 0x36, 0x01, 0x7e, 0x06, 0x79, 0x0a, 0x09, 402 + 0x3b, 0x74, 0x11, 0x9a, 0x6e, 0xbf, 0xd4, 0x9e, 403 + 0x58, 0x90, 0x49, 0x4f, 0x4d, 0x08, 0xd4, 0xe5, 404 + 0x4a, 0x09, 0x21, 0xef, 0x8b, 0xb8, 0x74, 0x3b, 405 + 0x91, 0xdd, 0x36, 0x85, 0x60, 0x2d, 0xfa, 0xd4, 406 + 0x45, 0x7b, 0x45, 0x53, 0xf5, 0x47, 0x87, 0x7e, 407 + 0xa6, 0x37, 0xc8, 0x78, 0x7a, 0x68, 0x9d, 0x8d, 408 + 0x65, 0x2c, 0x0e, 0x91, 0x5c, 0xa2, 0x60, 0xf0, 409 + 0x8e, 0x3f, 0xe9, 0x1a, 0xcd, 0xaa, 0xe7, 0xd5, 410 + 0x77, 0x18, 0xaf, 0xc9, 0xbc, 0x18, 0xea, 0x48, 411 + 0x1b, 0xfb, 0x22, 0x48, 0x70, 0x16, 0x29, 0x9e, 412 + 0x5b, 0xc1, 0x2c, 0x66, 0x23, 0xbc, 0xf0, 0x1f, 413 + 0xef, 0xaf, 0xe4, 0xd6, 0x04, 0x19, 0x82, 0x7a, 414 + 0x0b, 0xba, 0x4b, 0x46, 0xb1, 0x6a, 0x85, 0x5d, 415 + 0xb4, 0x73, 0xd6, 0x21, 0xa1, 0x71, 0x60, 0x14, 416 + 0xee, 0x0a, 0x77, 0xc4, 0x66, 0x2e, 0xf9, 0x69, 417 + 0x30, 0xaf, 0x41, 0x0b, 0xc8, 0x83, 0x3c, 0x53, 418 + 0x99, 0x19, 0x27, 0x46, 0xf7, 0x41, 0x6e, 0x56, 419 + 0xdc, 0x94, 0x28, 0x67, 0x4e, 0xb7, 0x25, 0x48, 420 + 0x8a, 0xc2, 0xe0, 0x60, 0x96, 0xcc, 0x18, 0xf4, 421 + 0x84, 0xdd, 0xa7, 0x5e, 0x3e, 0x05, 0x0b, 0x26, 422 + 0x26, 0xb2, 0x5c, 0x1f, 0x57, 0x1a, 0x04, 0x7e, 423 + 0x6a, 0xe3, 0x2f, 0xb4, 0x35, 0xb6, 0x38, 0x40, 424 + 0x40, 0xcd, 0x6f, 0x87, 0x2e, 0xef, 0xa3, 0xd7, 425 + 0xa9, 0xc2, 0xe8, 0x0d, 0x27, 0xdf, 0x44, 0x62, 426 + 0x99, 0xa0, 0xfc, 0xcf, 0x81, 0x78, 0xcb, 0xfe, 427 + 0xe5, 0xa0, 0x03, 0x4e, 0x6c, 0xd7, 0xf4, 0xaf, 428 + 0x7a, 0xbb, 0x61, 0x82, 0xfe, 0x71, 0x89, 0xb2, 429 + 0x22, 0x7c, 0x8e, 0x83, 0x04, 0xce, 0xf6, 0x5d, 430 + 0x84, 0x8f, 0x95, 0x6a, 0x7f, 0xad, 0xfd, 0x32, 431 + 0x9c, 0x5e, 0xe4, 0x9c, 0x89, 0x60, 0x54, 0xaa, 432 + 0x96, 0x72, 0xd2, 0xd7, 0x36, 0x85, 0xa9, 0x45, 433 + 0xd2, 0x2a, 0xa1, 0x81, 0x49, 0x6f, 0x7e, 0x04, 434 + 0xfa, 0xe2, 0xfe, 0x90, 0x26, 0x77, 0x5a, 0x33, 435 + 0xb8, 0x04, 0x9a, 0x7a, 0xe6, 0x4c, 0x4f, 0xad, 436 + 0x72, 0x96, 0x08, 0x28, 0x58, 0x13, 0xf8, 0xc4, 437 + 0x1c, 0xf0, 0xc3, 0x45, 0x95, 0x49, 0x20, 0x8c, 438 + 0x9f, 0x39, 0x70, 0xe1, 0x77, 0xfe, 0xd5, 0x4b, 439 + 0xaf, 0x86, 0xda, 0xef, 0x22, 0x06, 0x83, 0x36, 440 + 0x29, 0x12, 0x11, 0x40, 0xbc, 0x3b, 0x86, 0xaa, 441 + 0xaa, 0x65, 0x60, 0xc3, 0x80, 0xca, 0xed, 0xa9, 442 + 0xf3, 0xb0, 0x79, 0x96, 0xa2, 0x55, 0x27, 0x28, 443 + 0x55, 0x73, 0x26, 0xa5, 0x50, 0xea, 0x92, 0x4b, 444 + 0x3c, 0x5c, 0x82, 0x33, 0xf0, 0x01, 0x3f, 0x03, 445 + 0xc1, 0x08, 0x05, 0xbf, 0x98, 0xf4, 0x9b, 0x6d, 446 + 0xa5, 0xa8, 0xb4, 0x82, 0x0c, 0x06, 0xfa, 0xff, 447 + 0x2d, 0x08, 0xf3, 0x05, 0x4f, 0x57, 0x2a, 0x39, 448 + 0xd4, 0x83, 0x0d, 0x75, 0x51, 0xd8, 0x5b, 0x1b, 449 + 0xd3, 0x51, 0x5a, 0x32, 0x2a, 0x9b, 0x32, 0xb2, 450 + 0xf2, 0xa4, 0x96, 0x12, 0xf2, 0xae, 0x40, 0x34, 451 + 0x67, 0xa8, 0xf5, 0x44, 0xd5, 0x35, 0x53, 0xfe, 452 + 0xa3, 0x60, 0x96, 0x63, 0x0f, 0x1f, 0x6e, 0xb0, 453 + 0x5a, 0x42, 0xa6, 0xfc, 0x51, 0x0b, 0x60, 0x27, 454 + 0xbc, 0x06, 0x71, 0xed, 0x65, 0x5b, 0x23, 0x86, 455 + 0x4a, 0x07, 0x3b, 0x22, 0x07, 0x46, 0xe6, 0x90, 456 + 0x3e, 0xf3, 0x25, 0x50, 0x1b, 0x4c, 0x7f, 0x03, 457 + 0x08, 0xa8, 0x36, 0x6b, 0x87, 0xe5, 0xe3, 0xdb, 458 + 0x9a, 0x38, 0x83, 0xff, 0x9f, 0x1a, 0x9f, 0x57, 459 + 0xa4, 0x2a, 0xf6, 0x37, 0xbc, 0x1a, 0xff, 0xc9, 460 + 0x1e, 0x35, 0x0c, 0xc3, 0x7c, 0xa3, 0xb2, 0xe5, 461 + 0xd2, 0xc6, 0xb4, 0x57, 0x47, 0xe4, 0x32, 0x16, 462 + 0x6d, 0xa9, 0xae, 0x64, 0xe6, 0x2d, 0x8d, 0xc5, 463 + 0x8d, 0x50, 0x8e, 0xe8, 0x1a, 0x22, 0x34, 0x2a, 464 + 0xd9, 0xeb, 0x51, 0x90, 0x4a, 0xb1, 0x41, 0x7d, 465 + 0x64, 0xf9, 0xb9, 0x0d, 0xf6, 0x23, 0x33, 0xb0, 466 + 0x33, 0xf4, 0xf7, 0x3f, 0x27, 0x84, 0xc6, 0x0f, 467 + 0x54, 0xa5, 0xc0, 0x2e, 0xec, 0x0b, 0x3a, 0x48, 468 + 0x6e, 0x80, 0x35, 0x81, 0x43, 0x9b, 0x90, 0xb1, 469 + 0xd0, 0x2b, 0xea, 0x21, 0xdc, 0xda, 0x5b, 0x09, 470 + 0xf4, 0xcc, 0x10, 0xb4, 0xc7, 0xfe, 0x79, 0x51, 471 + 0xc3, 0xc5, 0xac, 0x88, 0x74, 0x84, 0x0b, 0x4b, 472 + 0xca, 0x79, 0x16, 0x29, 0xfb, 0x69, 0x54, 0xdf, 473 + 0x41, 0x7e, 0xe9, 0xc7, 0x8e, 0xea, 0xa5, 0xfe, 474 + 0xfc, 0x76, 0x0e, 0x90, 0xc4, 0x92, 0x38, 0xad, 475 + 0x7b, 0x48, 0xe6, 0x6e, 0xf7, 0x21, 0xfd, 0x4e, 476 + 0x93, 0x0a, 0x7b, 0x41, 0x83, 0x68, 0xfb, 0x57, 477 + 0x51, 0x76, 0x34, 0xa9, 0x6c, 0x00, 0xaa, 0x4f, 478 + 0x66, 0x65, 0x98, 0x4a, 0x4f, 0xa3, 0xa0, 0xef, 479 + 0x69, 0x3f, 0xe3, 0x1c, 0x92, 0x8c, 0xfd, 0xd8, 480 + 0xe8, 0xde, 0x7c, 0x7f, 0x3e, 0x84, 0x8e, 0x69, 481 + 0x3c, 0xf1, 0xf2, 0x05, 0x46, 0xdc, 0x2f, 0x9d, 482 + 0x5e, 0x6e, 0x4c, 0xfb, 0xb5, 0x99, 0x2a, 0x59, 483 + 0x63, 0xc1, 0x34, 0xbc, 0x57, 0xc0, 0x0d, 0xb9, 484 + 0x61, 0x25, 0xf3, 0x33, 0x23, 0x51, 0xb6, 0x0d, 485 + 0x07, 0xa6, 0xab, 0x94, 0x4a, 0xb7, 0x2a, 0xea, 486 + 0xee, 0xac, 0xa3, 0xc3, 0x04, 0x8b, 0x0e, 0x56, 487 + 0xfe, 0x44, 0xa7, 0x39, 0xe2, 0xed, 0xed, 0xb4, 488 + 0x22, 0x2b, 0xac, 0x12, 0x32, 0x28, 0x91, 0xd8, 489 + 0xa5, 0xab, 0xff, 0x5f, 0xe0, 0x4b, 0xda, 0x78, 490 + 0x17, 0xda, 0xf1, 0x01, 0x5b, 0xcd, 0xe2, 0x5f, 491 + 0x50, 0x45, 0x73, 0x2b, 0xe4, 0x76, 0x77, 0xf4, 492 + 0x64, 0x1d, 0x43, 0xfb, 0x84, 0x7a, 0xea, 0x91, 493 + 0xae, 0xf9, 0x9e, 0xb7, 0xb4, 0xb0, 0x91, 0x5f, 494 + 0x16, 0x35, 0x9a, 0x11, 0xb8, 0xc7, 0xc1, 0x8c, 495 + 0xc6, 0x10, 0x8d, 0x2f, 0x63, 0x4a, 0xa7, 0x57, 496 + 0x3a, 0x51, 0xd6, 0x32, 0x2d, 0x64, 0x72, 0xd4, 497 + 0x66, 0xdc, 0x10, 0xa6, 0x67, 0xd6, 0x04, 0x23, 498 + 0x9d, 0x0a, 0x11, 0x77, 0xdd, 0x37, 0x94, 0x17, 499 + 0x3c, 0xbf, 0x8b, 0x65, 0xb0, 0x2e, 0x5e, 0x66, 500 + 0x47, 0x64, 0xac, 0xdd, 0xf0, 0x84, 0xfd, 0x39, 501 + 0xfa, 0x15, 0x5d, 0xef, 0xae, 0xca, 0xc1, 0x36, 502 + 0xa7, 0x5c, 0xbf, 0xc7, 0x08, 0xc2, 0x66, 0x00, 503 + 0x74, 0x74, 0x4e, 0x27, 0x3f, 0x55, 0x8a, 0xb7, 504 + 0x38, 0x66, 0x83, 0x6d, 0xcf, 0x99, 0x9e, 0x60, 505 + 0x8f, 0xdd, 0x2e, 0x62, 0x22, 0x0e, 0xef, 0x0c, 506 + 0x98, 0xa7, 0x85, 0x74, 0x3b, 0x9d, 0xec, 0x9e, 507 + 0xa9, 0x19, 0x72, 0xa5, 0x7f, 0x2c, 0x39, 0xb7, 508 + 0x7d, 0xb7, 0xf1, 0x12, 0x65, 0x27, 0x4b, 0x5a, 509 + 0xde, 0x17, 0xfe, 0xad, 0x44, 0xf3, 0x20, 0x4d, 510 + 0xfd, 0xe4, 0x1f, 0xb5, 0x81, 0xb0, 0x36, 0x37, 511 + 0x08, 0x6f, 0xc3, 0x0c, 0xe9, 0x85, 0x98, 0x82, 512 + 0xa9, 0x62, 0x0c, 0xc4, 0x97, 0xc0, 0x50, 0xc8, 513 + 0xa7, 0x3c, 0x50, 0x9f, 0x43, 0xb9, 0xcd, 0x5e, 514 + 0x4d, 0xfa, 0x1c, 0x4b, 0x0b, 0xa9, 0x98, 0x85, 515 + 0x38, 0x92, 0xac, 0x8d, 0xe4, 0xad, 0x9b, 0x98, 516 + 0xab, 0xd9, 0x38, 0xac, 0x62, 0x52, 0xa3, 0x22, 517 + 0x63, 0x0f, 0xbf, 0x95, 0x48, 0xdf, 0x69, 0xe7, 518 + 0x8b, 0x33, 0xd5, 0xb2, 0xbd, 0x05, 0x49, 0x49, 519 + 0x9d, 0x57, 0x73, 0x19, 0x33, 0xae, 0xfa, 0x33, 520 + 0xf1, 0x19, 0xa8, 0x80, 0xce, 0x04, 0x9f, 0xbc, 521 + 0x1d, 0x65, 0x82, 0x1b, 0xe5, 0x3a, 0x51, 0xc8, 522 + 0x1c, 0x21, 0xe3, 0x5d, 0xf3, 0x7d, 0x9b, 0x2f, 523 + 0x2c, 0x1d, 0x4a, 0x7f, 0x9b, 0x68, 0x35, 0xa3, 524 + 0xb2, 0x50, 0xf7, 0x62, 0x79, 0xcd, 0xf4, 0x98, 525 + 0x4f, 0xe5, 0x63, 0x7c, 0x3e, 0x45, 0x31, 0x8c, 526 + 0x16, 0xa0, 0x12, 0xc8, 0x58, 0xce, 0x39, 0xa6, 527 + 0xbc, 0x54, 0xdb, 0xc5, 0xe0, 0xd5, 0xba, 0xbc, 528 + 0xb9, 0x04, 0xf4, 0x8d, 0xe8, 0x2f, 0x15, 0x9d, 529 + }; 530 + 531 + /* 100 test cases */ 532 + static struct dahash_test { 533 + uint16_t start; /* random 12 bit offset in buf */ 534 + uint16_t length; /* random 8 bit length of test */ 535 + xfs_dahash_t dahash; /* expected dahash result */ 536 + } test[] __initdata = 537 + { 538 + {0x0567, 0x0097, 0x96951389}, 539 + {0x0869, 0x0055, 0x6455ab4f}, 540 + {0x0c51, 0x00be, 0x8663afde}, 541 + {0x044a, 0x00fc, 0x98fbe432}, 542 + {0x0f29, 0x0079, 0x42371997}, 543 + {0x08ba, 0x0052, 0x942be4f7}, 544 + {0x01f2, 0x0013, 0x5262687e}, 545 + {0x09e3, 0x00e2, 0x8ffb0908}, 546 + {0x007c, 0x0051, 0xb3158491}, 547 + {0x0854, 0x001f, 0x83bb20d9}, 548 + {0x031b, 0x0008, 0x98970bdf}, 549 + {0x0de7, 0x0027, 0xbfbf6f6c}, 550 + {0x0f76, 0x0005, 0x906a7105}, 551 + {0x092e, 0x00d0, 0x86631850}, 552 + {0x0233, 0x0082, 0xdbdd914e}, 553 + {0x04c9, 0x0075, 0x5a400a9e}, 554 + {0x0b66, 0x0099, 0xae128b45}, 555 + {0x000d, 0x00ed, 0xe61c216a}, 556 + {0x0a31, 0x003d, 0xf69663b9}, 557 + {0x00a3, 0x0052, 0x643c39ae}, 558 + {0x0125, 0x00d5, 0x7c310b0d}, 559 + {0x0105, 0x004a, 0x06a77e74}, 560 + {0x0858, 0x008e, 0x265bc739}, 561 + {0x045e, 0x0095, 0x13d6b192}, 562 + {0x0dab, 0x003c, 0xc4498704}, 563 + {0x00cd, 0x00b5, 0x802a4e2d}, 564 + {0x069b, 0x008c, 0x5df60f71}, 565 + {0x0454, 0x006c, 0x5f03d8bb}, 566 + {0x040e, 0x0032, 0x0ce513b5}, 567 + {0x0874, 0x00e2, 0x6a811fb3}, 568 + {0x0521, 0x00b4, 0x93296833}, 569 + {0x0ddc, 0x00cf, 0xf9305338}, 570 + {0x0a70, 0x0023, 0x239549ea}, 571 + {0x083e, 0x0027, 0x2d88ba97}, 572 + {0x0241, 0x00a7, 0xfe0b32e1}, 573 + {0x0dfc, 0x0096, 0x1a11e815}, 574 + {0x023e, 0x001e, 0xebc9a1f3}, 575 + {0x067e, 0x0066, 0xb1067f81}, 576 + {0x09ea, 0x000e, 0x46fd7247}, 577 + {0x036b, 0x008c, 0x1a39acdf}, 578 + {0x078f, 0x0030, 0x964042ab}, 579 + {0x085c, 0x008f, 0x1829edab}, 580 + {0x02ec, 0x009f, 0x6aefa72d}, 581 + {0x043b, 0x00ce, 0x65642ff5}, 582 + {0x0a32, 0x00b8, 0xbd82759e}, 583 + {0x0d3c, 0x0087, 0xf4d66d54}, 584 + {0x09ec, 0x008a, 0x06bfa1ff}, 585 + {0x0902, 0x0015, 0x755025d2}, 586 + {0x08fe, 0x000e, 0xf690ce2d}, 587 + {0x00fb, 0x00dc, 0xe55f1528}, 588 + {0x0eaa, 0x003a, 0x0fe0a8d7}, 589 + {0x05fb, 0x0006, 0x86281cfb}, 590 + {0x0dd1, 0x00a7, 0x60ab51b4}, 591 + {0x0005, 0x001b, 0xf51d969b}, 592 + {0x077c, 0x00dd, 0xc2fed268}, 593 + {0x0575, 0x00f5, 0x432c0b1a}, 594 + {0x05be, 0x0088, 0x78baa04b}, 595 + {0x0c89, 0x0068, 0xeda9e428}, 596 + {0x0f5c, 0x0068, 0xec143c76}, 597 + {0x06a8, 0x0009, 0xd72651ce}, 598 + {0x060f, 0x008e, 0x765426cd}, 599 + {0x07b1, 0x0047, 0x2cfcfa0c}, 600 + {0x04f1, 0x0041, 0x55b172f9}, 601 + {0x0e05, 0x00ac, 0x61efde93}, 602 + {0x0bf7, 0x0097, 0x05b83eee}, 603 + {0x04e9, 0x00f3, 0x9928223a}, 604 + {0x023a, 0x0005, 0xdfada9bc}, 605 + {0x0acb, 0x000e, 0x2217cecd}, 606 + {0x0148, 0x0060, 0xbc3f7405}, 607 + {0x0764, 0x0059, 0xcbc201b1}, 608 + {0x021f, 0x0059, 0x5d6b2256}, 609 + {0x0f1e, 0x006c, 0xdefeeb45}, 610 + {0x071c, 0x00b9, 0xb9b59309}, 611 + {0x0564, 0x0063, 0xae064271}, 612 + {0x0b14, 0x0044, 0xdb867d9b}, 613 + {0x0e5a, 0x0055, 0xff06b685}, 614 + {0x015e, 0x00ba, 0x1115ccbc}, 615 + {0x0379, 0x00e6, 0x5f4e58dd}, 616 + {0x013b, 0x0067, 0x4897427e}, 617 + {0x0e64, 0x0071, 0x7af2b7a4}, 618 + {0x0a11, 0x0050, 0x92105726}, 619 + {0x0109, 0x0055, 0xd0d000f9}, 620 + {0x00aa, 0x0022, 0x815d229d}, 621 + {0x09ac, 0x004f, 0x02f9d985}, 622 + {0x0e1b, 0x00ce, 0x5cf92ab4}, 623 + {0x08af, 0x00d8, 0x17ca72d1}, 624 + {0x0e33, 0x000a, 0xda2dba6b}, 625 + {0x0ee3, 0x006a, 0xb00048e5}, 626 + {0x0648, 0x001a, 0x2364b8cb}, 627 + {0x0315, 0x0085, 0x0596fd0d}, 628 + {0x0fbb, 0x003e, 0x298230ca}, 629 + {0x0422, 0x006a, 0x78ada4ab}, 630 + {0x04ba, 0x0073, 0xced1fbc2}, 631 + {0x007d, 0x0061, 0x4b7ff236}, 632 + {0x070b, 0x00d0, 0x261cf0ae}, 633 + {0x0c1a, 0x0035, 0x8be92ee2}, 634 + {0x0af8, 0x0063, 0x824dcf03}, 635 + {0x08f8, 0x006d, 0xd289710c}, 636 + {0x021b, 0x00ee, 0x6ac1c41d}, 637 + {0x05b5, 0x00da, 0x8e52f0e2}, 638 + }; 639 + 640 + int __init 641 + xfs_dahash_test(void) 642 + { 643 + unsigned int i; 644 + unsigned int errors = 0; 645 + 646 + for (i = 0; i < ARRAY_SIZE(test); i++) { 647 + xfs_dahash_t hash; 648 + 649 + hash = xfs_da_hashname(test_buf + test[i].start, 650 + test[i].length); 651 + if (hash != test[i].dahash) 652 + errors++; 653 + } 654 + 655 + if (errors) { 656 + printk(KERN_ERR "xfs dir/attr hash test failed %u times!", 657 + errors); 658 + return -ERANGE; 659 + } 660 + 661 + return 0; 662 + }
+12
fs/xfs/xfs_dahash_test.h
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + /* 3 + * Copyright (C) 2023 Oracle. All Rights Reserved. 4 + * Author: Darrick J. Wong <djwong@kernel.org> 5 + */ 6 + #ifndef __XFS_DAHASH_TEST_H__ 7 + #define __XFS_DAHASH_TEST_H__ 8 + 9 + int xfs_dahash_test(void); 10 + 11 + #endif /* __XFS_DAHASH_TEST_H__ */ 12 +
+5
fs/xfs/xfs_super.c
··· 41 41 #include "xfs_attr_item.h" 42 42 #include "xfs_xattr.h" 43 43 #include "xfs_iunlink_item.h" 44 + #include "xfs_dahash_test.h" 44 45 45 46 #include <linux/magic.h> 46 47 #include <linux/fs_context.h> ··· 2286 2285 int error; 2287 2286 2288 2287 xfs_check_ondisk_structs(); 2288 + 2289 + error = xfs_dahash_test(); 2290 + if (error) 2291 + return error; 2289 2292 2290 2293 printk(KERN_INFO XFS_VERSION_STRING " with " 2291 2294 XFS_BUILD_OPTIONS " enabled\n");
+7
fs/xfs/xfs_trace.h
··· 1883 1883 DEFINE_ALLOC_EVENT(xfs_alloc_vextent_loopfailed); 1884 1884 DEFINE_ALLOC_EVENT(xfs_alloc_vextent_allfailed); 1885 1885 1886 + DEFINE_ALLOC_EVENT(xfs_alloc_vextent_this_ag); 1887 + DEFINE_ALLOC_EVENT(xfs_alloc_vextent_start_ag); 1888 + DEFINE_ALLOC_EVENT(xfs_alloc_vextent_first_ag); 1889 + DEFINE_ALLOC_EVENT(xfs_alloc_vextent_exact_bno); 1890 + DEFINE_ALLOC_EVENT(xfs_alloc_vextent_near_bno); 1891 + DEFINE_ALLOC_EVENT(xfs_alloc_vextent_finish); 1892 + 1886 1893 TRACE_EVENT(xfs_alloc_cur_check, 1887 1894 TP_PROTO(struct xfs_mount *mp, xfs_btnum_t btnum, xfs_agblock_t bno, 1888 1895 xfs_extlen_t len, xfs_extlen_t diff, bool new),