Re: Btrfs: don't WARN() in btrfs_transaction_abort() for IO errors
From: Jeff Mahoney <hidden>
Date: 2016-12-19 20:17:54
On 12/19/16 3:09 PM, Jeff Mahoney wrote:
quoted hunk ↗ jump to hunk
commit e5d6b12fe14e89ea1c494585c47b1dfb31d71183 Author: Chris Mason [off-list ref] Date: Fri Dec 9 05:56:33 2016 -0800 Btrfs: don't WARN() in btrfs_transaction_abort() for IO errors btrfs_transaction_abort() has a WARN() to help us nail down whatever problem lead to the abort. But most of the time, we're aborting for EIO, and the warning just adds noise. Signed-off-by: Chris Mason [off-list ref]diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index fc1864a..50bcfb8 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h@@ -3445,9 +3445,14 @@ do { \ /* Report first abort since mount */ \ if (!test_and_set_bit(BTRFS_FS_STATE_TRANS_ABORTED, \ &((trans)->fs_info->fs_state))) { \ - WARN(1, KERN_DEBUG \ - "BTRFS: Transaction aborted (error %d)\n", \ - (errno)); \ + if ((errno) != -EIO) { \ + WARN(1, KERN_DEBUG \ + "BTRFS: Transaction aborted (error %d)\n", \ + (errno)); \ + } else { \ + pr_debug("BTRFS: Transaction aborted (error %d)\n", \ + (errno)); \ + } \ } \ __btrfs_abort_transaction((trans), __func__, \ __LINE__, (errno)); \Can we use btrfs_debug here instead? There are a few naked pr_* calls left but most of them are either continuing prior lines or don't have an fsinfo available.
Actually, this landed in upstream already so I'll post a proper patch instead. -Jeff -- Jeff Mahoney SUSE Labs
Attachments
- signature.asc [application/pgp-signature] 841 bytes