Message ID | 2b857413-77b2-56c3-4748-786ae2c3ea14@suse.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On 12/19/16 3:09 PM, Jeff Mahoney wrote: > commit e5d6b12fe14e89ea1c494585c47b1dfb31d71183 > Author: Chris Mason <clm@fb.com> > 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 <clm@fb.com> > > 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
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)); \
commit e5d6b12fe14e89ea1c494585c47b1dfb31d71183 Author: Chris Mason <clm@fb.com> 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 <clm@fb.com> 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. Thanks, -Jeff