Re: [PATCH 3/4] common: Add function for selecting from different output files

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

 



On Wed, Nov 04, 2015 at 05:31:37PM +0100, Jan Kara wrote:
> Add function for selection of different output files. The idea is that
> in config file ($seq.cfg) there are several lines like:
> 
> feat1,feat2: suffix
> 
> The function is passed a feature string (or uses MOUNT_OPTIONS if no
> argument is passed) and selects output file with a suffix for which all
> features are present in the feature string. If there is no matching
> line, output with 'default' suffix is selected.
> 
> Signed-off-by: Jan Kara <jack@xxxxxxxx>

Looks like a good idea, but probably needs to be integrated into
_link_out_file(), which already does platform based output file
linking...

> ---
>  common/rc | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
> 
> diff --git a/common/rc b/common/rc
> index adf1edf64d8d..543780c92c59 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -3142,6 +3142,47 @@ get_block_size()
>  	echo `stat -f -c %S $1`
>  }
>  
> +_select_output()
> +{
> +	if [ $# -eq 0 ]; then
> +		FEATURES=${MOUNT_OPTIONS##"-o "}
> +	else
> +		FEATURES=$1
> +	fi
> +
> +	export FEATURES
> +	seqfull=$SRC_DIR/$seqnum
> +	perl -e '
> +		my %feathash;
> +		my $feature, $result, $suffix, $opts;
> +
> +		foreach $feature (split(/,/, $ENV{"FEATURES"})) {
> +			$feathash{$feature} = 1;
> +		}
> +		$result = "default";
> +		while (<>) {
> +			my $found = 1;
> +
> +			chomp;
> +			($opts, $suffix) = split(/ *: */);
> +			foreach my $opt (split(/,/, $opts)) {
> +				if (!exists($feathash{$opt})) {
> +					$found = 0;
> +					last;
> +				}
> +			}
> +			if ($found == 1) {
> +				$result = $suffix;
> +				last;
> +			}
> +		}
> +		print $result
> +		' <$seqfull.cfg | {
> +			read SUFFIX
> +			ln -fs $seq.out.$SUFFIX $seqfull.out
> +		}
> +}

I'd much prefer the perl code simply returns the appropriately
matched suffix and then the shell code does the linking of the
output file. That way other things that the test harness is aware of
can also be taken into account.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux