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

Merge branch 'guilt/xfs-5.19-misc-3' into xfs-5.19-for-next

+2 -62
-1
fs/xfs/xfs_attr_item.c
··· 22 22 #include "xfs_attr.h" 23 23 #include "xfs_attr_item.h" 24 24 #include "xfs_trace.h" 25 - #include "xfs_inode.h" 26 25 #include "xfs_trans_space.h" 27 26 #include "xfs_errortag.h" 28 27 #include "xfs_error.h"
+1 -1
fs/xfs/xfs_file.c
··· 576 576 * don't even bother trying the fast path in this case. 577 577 */ 578 578 if (iocb->ki_pos > isize || iocb->ki_pos + count >= isize) { 579 - retry_exclusive: 580 579 if (iocb->ki_flags & IOCB_NOWAIT) 581 580 return -EAGAIN; 581 + retry_exclusive: 582 582 iolock = XFS_IOLOCK_EXCL; 583 583 flags = IOMAP_DIO_FORCE_WAIT; 584 584 }
-59
fs/xfs/xfs_log_recover.c
··· 39 39 xlog_clear_stale_blocks( 40 40 struct xlog *, 41 41 xfs_lsn_t); 42 - #if defined(DEBUG) 43 - STATIC void 44 - xlog_recover_check_summary( 45 - struct xlog *); 46 - #else 47 - #define xlog_recover_check_summary(log) 48 - #endif 49 42 STATIC int 50 43 xlog_do_recovery_pass( 51 44 struct xlog *, xfs_daddr_t, xfs_daddr_t, int, xfs_daddr_t *); ··· 3332 3339 } 3333 3340 mp->m_alloc_set_aside = xfs_alloc_set_aside(mp); 3334 3341 3335 - xlog_recover_check_summary(log); 3336 - 3337 3342 /* Normal transactions can now occur */ 3338 3343 clear_bit(XLOG_ACTIVE_RECOVERY, &log->l_opstate); 3339 3344 return 0; ··· 3474 3483 } 3475 3484 3476 3485 xlog_recover_process_iunlinks(log); 3477 - xlog_recover_check_summary(log); 3478 3486 3479 3487 /* 3480 3488 * Recover any CoW staging blocks that are still referenced by the ··· 3507 3517 xlog_recover_cancel_intents(log); 3508 3518 } 3509 3519 3510 - #if defined(DEBUG) 3511 - /* 3512 - * Read all of the agf and agi counters and check that they 3513 - * are consistent with the superblock counters. 3514 - */ 3515 - STATIC void 3516 - xlog_recover_check_summary( 3517 - struct xlog *log) 3518 - { 3519 - struct xfs_mount *mp = log->l_mp; 3520 - struct xfs_perag *pag; 3521 - struct xfs_buf *agfbp; 3522 - struct xfs_buf *agibp; 3523 - xfs_agnumber_t agno; 3524 - uint64_t freeblks; 3525 - uint64_t itotal; 3526 - uint64_t ifree; 3527 - int error; 3528 - 3529 - freeblks = 0LL; 3530 - itotal = 0LL; 3531 - ifree = 0LL; 3532 - for_each_perag(mp, agno, pag) { 3533 - error = xfs_read_agf(mp, NULL, pag->pag_agno, 0, &agfbp); 3534 - if (error) { 3535 - xfs_alert(mp, "%s agf read failed agno %d error %d", 3536 - __func__, pag->pag_agno, error); 3537 - } else { 3538 - struct xfs_agf *agfp = agfbp->b_addr; 3539 - 3540 - freeblks += be32_to_cpu(agfp->agf_freeblks) + 3541 - be32_to_cpu(agfp->agf_flcount); 3542 - xfs_buf_relse(agfbp); 3543 - } 3544 - 3545 - error = xfs_read_agi(mp, NULL, pag->pag_agno, &agibp); 3546 - if (error) { 3547 - xfs_alert(mp, "%s agi read failed agno %d error %d", 3548 - __func__, pag->pag_agno, error); 3549 - } else { 3550 - struct xfs_agi *agi = agibp->b_addr; 3551 - 3552 - itotal += be32_to_cpu(agi->agi_count); 3553 - ifree += be32_to_cpu(agi->agi_freecount); 3554 - xfs_buf_relse(agibp); 3555 - } 3556 - } 3557 - } 3558 - #endif /* DEBUG */