diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index a4b7e4bc32d4..523b23303cab 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -232,6 +232,10 @@ static void ext4_write_inline_data(struct inode *inode, struct ext4_iloc *iloc,
 		return;
 
 	BUG_ON(!EXT4_I(inode)->i_inline_off);
+	if (pos + len > EXT4_I(inode)->i_inline_size)
+		ext4_warning(inode->i_sb, "inode #%lu: pos %llu, len %u, "
+			     "i_inline_size %u", inode->i_ino,
+			     pos, len, EXT4_I(inode)->i_inline_size);
 	BUG_ON(pos + len > EXT4_I(inode)->i_inline_size);
 
 	raw_inode = ext4_raw_inode(iloc);
@@ -687,6 +691,10 @@ int ext4_try_to_write_inline_data(struct address_space *mapping,
 	}
 
 	ret = ext4_prepare_inline_data(handle, inode, pos + len);
+	ext4_warning(inode->i_sb,
+		     "inode #%lu: pos %llu len %u "
+		     "prepare_inline_data returns %d",
+		     inode->i_ino, pos, len, ret);
 	if (ret && ret != -ENOSPC)
 		goto out;
 
@@ -913,6 +921,10 @@ int ext4_da_write_inline_data_begin(struct address_space *mapping,
 	}
 
 	ret = ext4_prepare_inline_data(handle, inode, pos + len);
+	ext4_warning(inode->i_sb,
+		     "inode #%lu: pos %llu len %u "
+		     "prepare_inline_data returns %d",
+		     inode->i_ino, pos, len, ret);
 	if (ret && ret != -ENOSPC)
 		goto out_journal;
 
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 43be684dabcb..f150b205d73e 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1117,6 +1117,17 @@ static int ext4_write_begin(struct file *file, struct address_space *mapping,
 	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
 		return -EIO;
 
+	if (ext4_has_inline_data(inode) ||
+	    ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
+		ext4_warning(inode->i_sb,
+			     "inode #%lu: pos %llu, len %u, "
+			     "has_inline_data %d, "
+			     "may_inline_data %d i_inline_size %u",
+			     inode->i_ino, pos, len,
+			     ext4_has_inline_data(inode),
+			     ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA),
+			     EXT4_I(inode)->i_inline_size);
+	}
 	trace_ext4_write_begin(inode, pos, len);
 	/*
 	 * Reserve one block more for addition to orphan list in case
@@ -1269,6 +1280,17 @@ static int ext4_write_end(struct file *file,
 
 	trace_ext4_write_end(inode, pos, len, copied);
 
+	if (ext4_has_inline_data(inode) ||
+	    ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
+		ext4_warning(inode->i_sb,
+			     "inode #%lu: pos %llu, len %u, "
+			     "has_inline_data %d, "
+			     "may_inline_data %d i_inline_size %u",
+			     inode->i_ino, pos, len,
+			     ext4_has_inline_data(inode),
+			     ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA),
+			     EXT4_I(inode)->i_inline_size);
+	}
 	if (ext4_has_inline_data(inode) &&
 	    ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA))
 		return ext4_write_inline_data_end(inode, pos, len, copied,
@@ -1379,6 +1401,17 @@ static int ext4_journalled_write_end(struct file *file,
 
 	BUG_ON(!ext4_handle_valid(handle));
 
+	if (ext4_has_inline_data(inode) ||
+	    ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
+		ext4_warning(inode->i_sb,
+			     "inode #%lu: pos %llu, len %u, "
+			     "has_inline_data %d, "
+			     "may_inline_data %d i_inline_size %u",
+			     inode->i_ino, pos, len,
+			     ext4_has_inline_data(inode),
+			     ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA),
+			     EXT4_I(inode)->i_inline_size);
+	}
 	if (ext4_has_inline_data(inode))
 		return ext4_write_inline_data_end(inode, pos, len, copied,
 						  folio);
@@ -2860,6 +2893,17 @@ static int ext4_da_write_begin(struct file *file, struct address_space *mapping,
 	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
 		return -EIO;
 
+	if (ext4_has_inline_data(inode) ||
+	    ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
+		ext4_warning(inode->i_sb,
+			     "inode #%lu: pos %llu, len %u, "
+			     "has_inline_data %d, "
+			     "may_inline_data %d i_inline_size %u",
+			     inode->i_ino, pos, len,
+			     ext4_has_inline_data(inode),
+			     ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA),
+			     EXT4_I(inode)->i_inline_size);
+	}
 	index = pos >> PAGE_SHIFT;
 
 	if (ext4_nonda_switch(inode->i_sb) || ext4_verity_in_progress(inode)) {