[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#312213: initrd-tools: excessive amount of modules included in initrd



On Mon, Jun 06, 2005 at 12:27:31PM +0200, Andreas Schultz wrote:
> Package: initrd-tools
> Version: 0.1.81.1
> Severity: important
> Tags: patch
> 
> 
> While hunting for a solution to my bug #312207, i came accross a problem in
> module_exists(). The shell replacement in there causes the find statement
> to search for to much files. A invocation like:
> 
>    module_exists drivers/md/dm-mod
> 
> should result in a:
> 
>     find $MODULEDIR/kernel/drivers/md -name "dm-mod.ko"
> 
> but i generates instead
> 
>     find $MODULEDIR/kernel/drivers -name "dm-mod.ko"
> 
> This becomes a problem when mkinitrd tests whether a give modules is a scsi
> or ide module. It will conclude that modules like thermal or fan are scsi
> modules and needlessly include them into the initrd.
> 
> The fix is simple and obvious:
> 
> --- mkinitrd.orig       2005-06-06 11:38:19.000000000 +0200
> +++ mkinitrd    2005-06-06 12:06:49.000000000 +0200
> @@ -415,7 +415,7 @@
>  }
> 
>  module_exists() {
> -       [ -n "$(find "$MODULEDIR/kernel/${1%%/*}" -name "${1##*/}.$o")" ]
> +       [ -n "$(find "$MODULEDIR/kernel/${1%/*}" -name "${1##*/}.$o")" ]
>  }
> 
>  print_module() {

That seems fine enough to me. 
Does anyone object?

-- 
Horms



Reply to: