From: Nikita Danilov Patch to teach fs/reiserfs/super.c:reiserfs_fill_super() to respect @silent parameter and to not issue any output if @silent is set. Also remove some trailing white spaces, while we are here. fs/reiserfs/super.c | 59 ++++++++++++++++++++++++++++------------------------ 1 files changed, 32 insertions(+), 27 deletions(-) diff -puN fs/reiserfs/super.c~reiserfs-silent-mode-fix fs/reiserfs/super.c --- 25/fs/reiserfs/super.c~reiserfs-silent-mode-fix 2003-12-26 19:45:31.000000000 -0800 +++ 25-akpm/fs/reiserfs/super.c 2003-12-26 19:45:31.000000000 -0800 @@ -1201,11 +1201,15 @@ int function2code (hashf_t func) if (func == r5_hash) return R5_HASH; - BUG() ; // should never happen + BUG() ; // should never happen return 0; } +#define SPRINTK(silent, ...) \ + if (!(silent)) \ + printk(__VA_ARGS__) + static int reiserfs_fill_super (struct super_block * s, void * data, int silent) { struct inode *root_inode; @@ -1242,53 +1246,53 @@ static int reiserfs_fill_super (struct s } if (blocks) { - printk("jmacd-7: reiserfs_fill_super: resize option for remount only\n"); + SPRINTK(silent, "jmacd-7: reiserfs_fill_super: resize option for remount only\n"); goto error; } /* try old format (undistributed bitmap, super block in 8-th 1k block of a device) */ - if (!read_super_block (s, REISERFS_OLD_DISK_OFFSET_IN_BYTES)) + if (!read_super_block (s, REISERFS_OLD_DISK_OFFSET_IN_BYTES)) old_format = 1; /* try new format (64-th 1k block), which can contain reiserfs super block */ else if (read_super_block (s, REISERFS_DISK_OFFSET_IN_BYTES)) { - printk("sh-2021: reiserfs_fill_super: can not find reiserfs on %s\n", reiserfs_bdevname (s)); - goto error; + SPRINTK(silent, "sh-2021: reiserfs_fill_super: can not find reiserfs on %s\n", reiserfs_bdevname (s)); + goto error; } rs = SB_DISK_SUPER_BLOCK (s); /* Let's do basic sanity check to verify that underlying device is not smaller than the filesystem. If the check fails then abort and scream, because bad stuff will happen otherwise. */ - if ( s->s_bdev && s->s_bdev->bd_inode && i_size_read(s->s_bdev->bd_inode) < sb_block_count(rs)*sb_blocksize(rs) ) { - printk("Filesystem on %s cannot be mounted because it is bigger than the device\n", reiserfs_bdevname(s)); - printk("You may need to run fsck or increase size of your LVM partition\n"); - printk("Or may be you forgot to reboot after fdisk when it told you to\n"); + if ( s->s_bdev && s->s_bdev->bd_inode && i_size_read(s->s_bdev->bd_inode) < sb_block_count(rs)*sb_blocksize(rs)) { + SPRINTK(silent, "Filesystem on %s cannot be mounted because it is bigger than the device\n", reiserfs_bdevname(s)); + SPRINTK(silent, "You may need to run fsck or increase size of your LVM partition\n"); + SPRINTK(silent, "Or may be you forgot to reboot after fdisk when it told you to\n"); goto error; } sbi->s_mount_state = SB_REISERFS_STATE(s); sbi->s_mount_state = REISERFS_VALID_FS ; - if (old_format ? read_old_bitmaps(s) : read_bitmaps(s)) { - printk ("jmacd-8: reiserfs_fill_super: unable to read bitmap\n"); + if (old_format ? read_old_bitmaps(s) : read_bitmaps(s)) { + SPRINTK(silent, "jmacd-8: reiserfs_fill_super: unable to read bitmap\n"); goto error; } #ifdef CONFIG_REISERFS_CHECK - printk("reiserfs:warning: CONFIG_REISERFS_CHECK is set ON\n"); - printk("reiserfs:warning: - it is slow mode for debugging.\n"); + SPRINTK(silent, "reiserfs:warning: CONFIG_REISERFS_CHECK is set ON\n"); + SPRINTK(silent, "reiserfs:warning: - it is slow mode for debugging.\n"); #endif // set_device_ro(s->s_dev, 1) ; - if( journal_init(s, jdev_name, old_format) ) { - printk("sh-2022: reiserfs_fill_super: unable to initialize journal space\n") ; + if(journal_init(s, jdev_name, old_format)) { + SPRINTK(silent, "sh-2022: reiserfs_fill_super: unable to initialize journal space\n") ; goto error ; } else { jinit_done = 1 ; /* once this is set, journal_release must be called - ** if we error out of the mount + ** if we error out of the mount */ } if (reread_meta_blocks(s)) { - printk("jmacd-9: reiserfs_fill_super: unable to reread meta blocks after journal init\n") ; + SPRINTK(silent, "jmacd-9: reiserfs_fill_super: unable to reread meta blocks after journal init\n") ; goto error ; } @@ -1296,14 +1300,14 @@ static int reiserfs_fill_super (struct s goto error; if (bdev_read_only(s->s_bdev) && !(s->s_flags & MS_RDONLY)) { - printk("clm-7000: Detected readonly device, marking FS readonly\n") ; + SPRINTK(silent, "clm-7000: Detected readonly device, marking FS readonly\n") ; s->s_flags |= MS_RDONLY ; } args.objectid = REISERFS_ROOT_OBJECTID ; args.dirid = REISERFS_ROOT_PARENT_OBJECTID ; root_inode = iget5_locked (s, REISERFS_ROOT_OBJECTID, reiserfs_find_actor, reiserfs_init_locked_inode, (void *)(&args)); if (!root_inode) { - printk ("jmacd-10: reiserfs_fill_super: get root inode failed\n"); + SPRINTK(silent, "jmacd-10: reiserfs_fill_super: get root inode failed\n"); goto error; } @@ -1341,22 +1345,23 @@ static int reiserfs_fill_super (struct s if (old_format_only(s)) { /* filesystem of format 3.5 either with standard or non-standard - journal */ + journal */ if (convert_reiserfs (s)) { - /* and -o conv is given */ - reiserfs_warning ("reiserfs: converting 3.5 filesystem to the 3.6 format\n") ; - + /* and -o conv is given */ + if(!silent) + reiserfs_warning ("reiserfs: converting 3.5 filesystem to the 3.6 format\n") ; + if (is_reiserfs_3_5 (rs)) /* put magic string of 3.6 format. 2.2 will not be able to mount this filesystem anymore */ - memcpy (rs->s_v1.s_magic, reiserfs_3_6_magic_string, + memcpy (rs->s_v1.s_magic, reiserfs_3_6_magic_string, sizeof (reiserfs_3_6_magic_string)); - + set_sb_version(rs,REISERFS_VERSION_2); reiserfs_convert_objectid_map_v1(s) ; set_bit(REISERFS_3_6, &(sbi->s_properties)); clear_bit(REISERFS_3_5, &(sbi->s_properties)); - } else { + } else if (!silent){ reiserfs_warning("reiserfs: using 3.5.x disk format\n") ; } } @@ -1369,7 +1374,7 @@ static int reiserfs_fill_super (struct s s->s_dirt = 0; } else { - if ( old_format_only(s) ) { + if ( old_format_only(s) && !silent) { reiserfs_warning("reiserfs: using 3.5.x disk format\n") ; } } _