diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-11-15 15:57:07 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:46 -0400 |
commit | 8eb71e9e1af8aaec3c70673560931a328fe840bd (patch) | |
tree | 879a229766f61e31b5b35ddcd8bdb4ad4630ee39 /fs | |
parent | 3bce13837395f1af2fd585ef6dd4b54d80c2d1fb (diff) | |
download | lwn-8eb71e9e1af8aaec3c70673560931a328fe840bd.tar.gz lwn-8eb71e9e1af8aaec3c70673560931a328fe840bd.zip |
bcachefs: Improve a few warnings
Warnings ought to always have a format string/log message - makes them
considerably more useful.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/fs-io.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index 968e670229d3..36c42231b7ed 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -1442,9 +1442,13 @@ do_io: sectors << 9, offset << 9)); /* Check for writing past i_size: */ - WARN_ON_ONCE((bio_end_sector(&w->io->op.wbio.bio) << 9) > - round_up(i_size, block_bytes(c)) && - !test_bit(BCH_FS_EMERGENCY_RO, &c->flags)); + WARN_ONCE((bio_end_sector(&w->io->op.wbio.bio) << 9) > + round_up(i_size, block_bytes(c)) && + !test_bit(BCH_FS_EMERGENCY_RO, &c->flags), + "writing past i_size: %llu > %llu (unrounded %llu)\n", + bio_end_sector(&w->io->op.wbio.bio) << 9, + round_up(i_size, block_bytes(c)), + i_size); w->io->op.res.sectors += reserved_sectors; w->io->op.i_sectors_delta -= dirty_sectors; @@ -2740,8 +2744,10 @@ int bch2_truncate(struct mnt_idmap *idmap, if (ret) goto err; - WARN_ON(!test_bit(EI_INODE_ERROR, &inode->ei_flags) && - inode->v.i_size < inode_u.bi_size); + WARN_ONCE(!test_bit(EI_INODE_ERROR, &inode->ei_flags) && + inode->v.i_size < inode_u.bi_size, + "truncate spotted in mem i_size < btree i_size: %llu < %llu\n", + (u64) inode->v.i_size, inode_u.bi_size); if (iattr->ia_size > inode->v.i_size) { ret = bch2_extend(idmap, inode, &inode_u, iattr); |