[PATCH] initrd: Fix logged Minix/Ext2 block numbers in identify_ramdisk_image()

Thorsten Blum posted 1 patch 2 weeks, 5 days ago
init/do_mounts_rd.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
[PATCH] initrd: Fix logged Minix/Ext2 block numbers in identify_ramdisk_image()
Posted by Thorsten Blum 2 weeks, 5 days ago
Both Minix and Ext2 filesystems are located at 'start_block + 1'. Update
the log messages to report the correct block numbers.

Replace printk(KERN_NOTICE) with pr_notice() to avoid checkpatch
warnings.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 init/do_mounts_rd.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c
index ac021ae6e6fa..9283fdd605f0 100644
--- a/init/do_mounts_rd.c
+++ b/init/do_mounts_rd.c
@@ -148,9 +148,8 @@ identify_ramdisk_image(struct file *file, loff_t pos,
 	/* Try minix */
 	if (minixsb->s_magic == MINIX_SUPER_MAGIC ||
 	    minixsb->s_magic == MINIX_SUPER_MAGIC2) {
-		printk(KERN_NOTICE
-		       "RAMDISK: Minix filesystem found at block %d\n",
-		       start_block);
+		pr_notice("RAMDISK: Minix filesystem found at block %d\n",
+			  start_block + 1);
 		nblocks = minixsb->s_nzones << minixsb->s_log_zone_size;
 		goto done;
 	}
@@ -158,9 +157,8 @@ identify_ramdisk_image(struct file *file, loff_t pos,
 	/* Try ext2 */
 	n = ext2_image_size(buf);
 	if (n) {
-		printk(KERN_NOTICE
-		       "RAMDISK: ext2 filesystem found at block %d\n",
-		       start_block);
+		pr_notice("RAMDISK: ext2 filesystem found at block %d\n",
+			  start_block + 1);
 		nblocks = n;
 		goto done;
 	}
-- 
2.51.0
Re: [PATCH] initrd: Fix logged Minix/Ext2 block numbers in identify_ramdisk_image()
Posted by David Disseldorp 2 weeks, 3 days ago
Hi Thorsten,

On Sat, 13 Sep 2025 12:39:54 +0200, Thorsten Blum wrote:

> Both Minix and Ext2 filesystems are located at 'start_block + 1'. Update
> the log messages to report the correct block numbers.

I don't think this change is worthwhile. The offset of the superblock
within the filesystem image is an implementation detail.

> Replace printk(KERN_NOTICE) with pr_notice() to avoid checkpatch
> warnings.
> 
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")

Nothing is being fixed here.
Re: [PATCH] initrd: Fix logged Minix/Ext2 block numbers in identify_ramdisk_image()
Posted by Darrick J. Wong 2 weeks, 3 days ago
On Mon, Sep 15, 2025 at 12:21:46PM +1000, David Disseldorp wrote:
> Hi Thorsten,
> 
> On Sat, 13 Sep 2025 12:39:54 +0200, Thorsten Blum wrote:
> 
> > Both Minix and Ext2 filesystems are located at 'start_block + 1'. Update
> > the log messages to report the correct block numbers.
> 
> I don't think this change is worthwhile. The offset of the superblock
> within the filesystem image is an implementation detail.

...and even if logging the detail is useful, for ext* the superblock is
always at byte offset 1024, no matter which block (0 or 1) that is.

--D

> > Replace printk(KERN_NOTICE) with pr_notice() to avoid checkpatch
> > warnings.
> > 
> > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> 
> Nothing is being fixed here.
>
Re: [PATCH] initrd: Fix logged Minix/Ext2 block numbers in identify_ramdisk_image()
Posted by Thorsten Blum 2 weeks, 3 days ago
On 15. Sep 2025, at 06:31, Darrick J. Wong wrote:
> On Mon, Sep 15, 2025 at 12:21:46PM +1000, David Disseldorp wrote:
>> Hi Thorsten,
>> 
>> On Sat, 13 Sep 2025 12:39:54 +0200, Thorsten Blum wrote:
>> 
>>> Both Minix and Ext2 filesystems are located at 'start_block + 1'. Update
>>> the log messages to report the correct block numbers.
>> 
>> I don't think this change is worthwhile. The offset of the superblock
>> within the filesystem image is an implementation detail.
> 
> ...and even if logging the detail is useful, for ext* the superblock is
> always at byte offset 1024, no matter which block (0 or 1) that is.

All logs ignore the individual filesystem offsets and only print the
starting block. This may not be particularly useful information, but the
printed starting blocks for minix/ext2 are off by one compared to the
others, which is at least confusing.

Since initrd seems to be on its way out anyway, it's probably not worth
changing this.

Thanks,
Thorsten