Subject: Re: misc/36747 (wedges in /etc/security)
To: None <tron@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Matthias Scheler <tron@NetBSD.org>
List: netbsd-bugs
Date: 08/08/2007 19:00:05
The following reply was made to PR misc/36747; it has been noted by GNATS.

From: Matthias Scheler <tron@NetBSD.org>
To: netbsd-bugs@NetBSD.org
Cc: NetBSD GNATS <gnats-bugs@NetBSD.org>
Subject: Re: misc/36747 (wedges in /etc/security)
Date: Wed, 8 Aug 2007 19:57:48 +0100

 On Wed, Aug 08, 2007 at 12:05:25PM +0000, tron@NetBSD.org wrote:
 > Synopsis: wedges in /etc/security
 > 
 > Responsible-Changed-From-To: misc-bug-people->tron
 > Responsible-Changed-By: tron@netbsd.org
 > Responsible-Changed-When: Wed, 08 Aug 2007 12:05:24 +0000
 > Responsible-Changed-Why:
 > I'll handle this PR.
 
 Here is an improved version of your patch. It recognizes all the kinds
 of disk devices suggested on the "tech-kern" mailing list:
 
 Index: etc/security
 ===================================================================
 RCS file: /cvsroot/src/etc/security,v
 retrieving revision 1.100.2.2
 diff -u -r1.100.2.2 security
 --- etc/security	6 Jun 2007 14:58:14 -0000	1.100.2.2
 +++ etc/security	8 Aug 2007 18:56:17 -0000
 @@ -849,13 +849,13 @@
  		migrate_file "$file" "$work_dir/${file##*/}"
  	done
  
 -		# generate list of old disklabels & fdisks and remove them
 -	ls -1d $work_dir/disklabel.* $work_dir/fdisk.* 2>/dev/null |
 +		# generate list of old disklabels, fdisks & wedges and remove them
 +	ls -1d $work_dir/disklabel.* $work_dir/fdisk.* $work_dir/wedges.* 2>/dev/null |
  	    egrep -v '\.(backup|current)(,v)?$' > $LABELS
  	xargs rm < $LABELS
  
 -		# generate disklabels of all disks excluding:	cd fd md st
 -	disks=`iostat -x | awk 'NR > 1 && $1 !~ /^[cfm]d|st|nfs/ { print $1; }'`
 +		# generate disklabels of all disks excluding:	cd dk fd md st
 +	disks=`iostat -x | awk 'NR > 1 && $1 !~ /^[cfm]d|dk|st|nfs/ { print $1; }'`
  	for i in $disks; do
  		disklabel $i > "$work_dir/disklabel.$i" 2>/dev/null
  	done
 @@ -868,8 +868,16 @@
  		done
  	fi
  
 -		# append list of new disklabels and fdisks
 -	ls -1d $work_dir/disklabel.* $work_dir/fdisk.* 2>/dev/null |
 +		# if dkctl is available, generate dkctl listwedges for:	ed ld sd wd cgd ofdisk ra raid rl
 +	if [ -x /sbin/dkctl ]; then
 +		disks=`iostat -x| awk 'NR > 1 && $1 ~ /^[elsw]d|cgd|ofdisk|ra|raid,rl/ { print $1; }'`
 +		for i in $disks; do
 +			/sbin/dkctl $i listwedges > "$work_dir/wedges.$i" 2>/dev/null
 +		done
 +	fi
 +
 +		# append list of new disklabels, fdisks and wedges
 +	ls -1d $work_dir/disklabel.* $work_dir/fdisk.* $work_dir/wedges.* 2>/dev/null |
  	    egrep -v '\.(backup|current)(,v)?$' >> $LABELS
  	CHANGELIST="$LABELS $CHANGELIST"
  fi
 
 	Kind regards
 
 -- 
 Matthias Scheler                                  http://zhadum.org.uk/