Re: MFC: graid(8) (RAID GEOM) support

2011-06-22 Thread Alexander Motin
Jeremy Chadwick wrote:
 On Fri, Jun 17, 2011 at 05:51:24PM -0700, Jeremy Chadwick wrote:
 Sorry for the cross-post, but I thought both lists would want to know
 about this.

 Looks like mav@ just committed this ~17 hours ago:
 http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/geom/raid/g_raid.c

 Those who have historically wanted to use Intel MatrixRAID (now called
 Intel RST (Rapid Storage Technology)), but haven't due to the severe
 issues/risks with ataraid(4), will probably be very interested in
 this commit.  I know I am!

 I plan on stress-testing the Intel support on a 2-disk system with
 RAID-1 enabled, and will document my experiences, procedures, etc...

 Thanks, mav@ and imp@ !

 I'll be sending another mail momentarily asking about USB memory stick
 image building, since to accomplish the above, I want to do a
 bare-bones install on our test system (e.g. enable Intel RAID, set up
 2 disks in a RAID-1 mirror, boot a USB memory stick that contains this
 latest RELENG_8 build, and do sysinstall, etc.. the normal way).


 =
 MFC r219974, r220209, r220210, r220790:
 Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
 various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
 does not depend on legacy ata(4) subsystem and can be used with any disk
 drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
 with `options ATA_CAM`). To make code more readable and extensible, this
 implementation follows modular design, including core part and two sets
 of modules, implementing support for different metadata formats and RAID
 levels.

 Support for such popular metadata formats is now implemented:
 Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.

 Such RAID levels are now supported:
 RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.

 For all of these RAID levels and metadata formats this class supports
 full cycle of volume operations: reading, writing, creation, deletion,
 disk removal and insertion, rebuilding, dirty shutdown detection
 and resynchronization, bad sector recovery, faulty disks tracking,
 hot-spare disks. For Intel and Promise formats there is support multiple
 volumes per disk set.

 Look graid(8) manual page for additional details.

 Co-authored by: imp
 Sponsored by:   Cisco Systems, Inc. and iXsystems, Inc.
 =
 
 By the way, it doesn't look like the graid(8) man page is being brought
 in to the base system on either of the two RELENG_8 systems I've rebuilt
 in the past few days.
 
 I'm thinking /usr/src/sbin/geom/class/raid/graid.8 isn't being noticed
 as a man page.
 
 /usr/src/sbin/geom/class/raid/Makefile doesn't have MAN8=graid.8 in it,
 is that the problem?

I've just rebuilt my test 8-STABLE system and it installed graid(8).

-- 
Alexander Motin
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: MFC: graid(8) (RAID GEOM) support

2011-06-22 Thread Jeremy Chadwick
On Wed, Jun 22, 2011 at 12:02:50PM +0300, Alexander Motin wrote:
 Jeremy Chadwick wrote:
  On Fri, Jun 17, 2011 at 05:51:24PM -0700, Jeremy Chadwick wrote:
  Sorry for the cross-post, but I thought both lists would want to know
  about this.
 
  Looks like mav@ just committed this ~17 hours ago:
  http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/geom/raid/g_raid.c
 
  Those who have historically wanted to use Intel MatrixRAID (now called
  Intel RST (Rapid Storage Technology)), but haven't due to the severe
  issues/risks with ataraid(4), will probably be very interested in
  this commit.  I know I am!
 
  I plan on stress-testing the Intel support on a 2-disk system with
  RAID-1 enabled, and will document my experiences, procedures, etc...
 
  Thanks, mav@ and imp@ !
 
  I'll be sending another mail momentarily asking about USB memory stick
  image building, since to accomplish the above, I want to do a
  bare-bones install on our test system (e.g. enable Intel RAID, set up
  2 disks in a RAID-1 mirror, boot a USB memory stick that contains this
  latest RELENG_8 build, and do sysinstall, etc.. the normal way).
 
 
  =
  MFC r219974, r220209, r220210, r220790:
  Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
  various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
  does not depend on legacy ata(4) subsystem and can be used with any disk
  drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
  with `options ATA_CAM`). To make code more readable and extensible, this
  implementation follows modular design, including core part and two sets
  of modules, implementing support for different metadata formats and RAID
  levels.
 
  Support for such popular metadata formats is now implemented:
  Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.
 
  Such RAID levels are now supported:
  RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.
 
  For all of these RAID levels and metadata formats this class supports
  full cycle of volume operations: reading, writing, creation, deletion,
  disk removal and insertion, rebuilding, dirty shutdown detection
  and resynchronization, bad sector recovery, faulty disks tracking,
  hot-spare disks. For Intel and Promise formats there is support multiple
  volumes per disk set.
 
  Look graid(8) manual page for additional details.
 
  Co-authored by: imp
  Sponsored by:   Cisco Systems, Inc. and iXsystems, Inc.
  =
  
  By the way, it doesn't look like the graid(8) man page is being brought
  in to the base system on either of the two RELENG_8 systems I've rebuilt
  in the past few days.
  
  I'm thinking /usr/src/sbin/geom/class/raid/graid.8 isn't being noticed
  as a man page.
  
  /usr/src/sbin/geom/class/raid/Makefile doesn't have MAN8=graid.8 in it,
  is that the problem?
 
 I've just rebuilt my test 8-STABLE system and it installed graid(8).

Hmm, there must be something I'm missing either in the base system or
the kernel or both.  Does this kernel module and/or bits and pieces not
get built unless it's included strictly in the kernel?

Below is one of the two systems, looking for both graid* and geom_raid*.
There's the old geom_raid3 stuff there, and the source bits/pieces for
the new graid(8), but nothing seems built (including kernel module) for
the new graid(8).

If you'd like I can rm -fr /usr/src/* ; rm -fr /var/db/sup/src-all and
then re-download source from an official cvsup mirror (I've been using
cvsup9.freebsd.org for both boxes).

icarus# uname -a
FreeBSD icarus.home.lan 8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Jun 17 18:01:45 
PDT 2011 r...@icarus.home.lan:/usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64  
amd64
icarus# find /usr -name graid* -ls
32111288 -r--r--r--1 root wheel2521 Jun 
17 18:25 /usr/share/man/man8/graid3.8.gz
 169318   16 -rw-r--r--1 root wheel6390 Aug 
 3  2009 /usr/src/sbin/geom/class/raid3/graid3.8
 169624   16 -rw-r--r--1 root wheel8126 Jun 
16 23:59 /usr/src/sbin/geom/class/raid/graid.8
 9214308 -rw-r--r--1 root wheel2521 Jun 
17 17:51 /usr/obj/usr/src/sbin/geom/class/raid3/graid3.8.gz
33693724 drwxr-xr-x2 root wheel 512 May 
 3 03:58 /usr/ports/sysutils/graid5
icarus#
icarus# find /boot -name graid* -ls
icarus#
icarus# find /usr -name geom_raid* -ls
169317   20 -rw-r--r--1 root wheel9257 Jan 
18 21:13 /usr/src/sbin/geom/class/raid3/geom_raid3.c
1652658 -rw-r--r--1 root wheel2992 Jun 
16 23:59 /usr/src/sbin/geom/class/raid/geom_raid.c
2596524 drwxr-xr-x2 root wheel 512 Jun  
6 06:28 /usr/src/sys/modules/geom/geom_raid3
285292 

Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread Henri Hennebert

On 06/21/2011 23:27, John Baldwin wrote:

On Tuesday, June 21, 2011 4:13:20 pm Henri Hennebert wrote:

On 06/21/2011 21:25, John Baldwin wrote:
and I get:

Read error: 04


Hmm, that is the error for an invalid sector.  Try this patch.  It reshuffles
a few more things and adds code to dump the low 32-bits of the LBA on an
error:

Index: zfsldr.S
===
--- zfsldr.S(revision 223365)
+++ zfsldr.S(working copy)
@@ -16,7 +16,6 @@
   */

  /* Memory Locations */
-   .set MEM_REL,0x700  # Relocation address
.set MEM_ARG,0x900  # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main:   cld # 
String ops inc
mov %cx,%ss # Set up
mov $start,%sp  #  stack
  /*
- * Relocate ourself to MEM_REL.  Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
-   mov %sp,%si # Source
-   mov $MEM_REL,%di# Destination
-   incb %ch# Word count
-   rep # Copy
-   movsw   #  code
-/*
   * If we are on a hard drive, then load the MBR and look for the first
   * FreeBSD slice.  We use the fake partition entry below that points to
   * the MBR when we call nread.  The first pass looks for the first active
   * FreeBSD slice.  The second pass looks for the first non-active FreeBSD
   * slice if the first one fails.
   */
-   mov $part4,%si  # Partition
+   mov $part4,%si  # Dummy partition
cmpb $0x80,%dl  # Hard drive?
jb main.4   # No
-   movb $0x1,%dh   # Block count
-   callw nread # Read MBR
+   xor %eax,%eax   # Read MBR
+   movw $MEM_BUF,%bx   #  from first
+   callw nread #  sector
mov $0x1,%cx# Two passes
  main.1:   mov $MEM_BUF+PRT_OFF,%si# Partition table
movb $0x1,%dh   # Partition
@@ -161,10 +152,16 @@ main.4:   xor %dx,%dx # 
Partition:drive
   * area and target area do not overlap.
   */
  main.5:   mov %dx,MEM_ARG # Save args
-   movb $NSECT,%dh # Sector count
+   mov $NSECT,%cx  # Sector count
movl $1024,%eax # Offset to boot2
-   callw nread.1   # Read disk
-main.6:mov $MEM_BUF,%si# BTX (before reloc)
+   mov $MEM_BUF,%bx# Destination buffer
+main.6:pushal  # Save params
+   callw nread # Read disk
+   popal   # Restore
+   incl %eax   # Update for
+   add $SIZ_SEC,%bx#  next sector
+   loop main.6 # If not last, read another
+   mov $MEM_BUF,%si# BTX (before reloc)
mov 0xa(%si),%bx# Get BTX length and set
mov $NSECT*SIZ_SEC-1,%di# Size of load area (less one)
mov %di,%si # End of load
@@ -214,29 +211,35 @@ seta20.3: sti # Enable 
interrupts
   * packet on the stack and passes it to read.
   *
   * %eax   - int - LBA to read in relative to partition start
+ * %es:%bx - ptr - destination address
   * %dl- byte- drive to read from
- * %dh - byte- num sectors to read
   * %si- ptr - MBR partition entry
   */
-nread: xor %eax,%eax   # Sector offset in partition
-nread.1:   xor %ecx,%ecx   # Get
+nread: xor %ecx,%ecx   # Get
addl 0x8(%si),%eax  #  LBA
adc $0,%ecx
pushl %ecx  # Starting absolute block
pushl %eax  #  block number
push %es# Address of
-   push $MEM_BUF   #  transfer buffer
-   xor %ax,%ax # Number of
-   movb %dh,%al#  blocks to
-   push %ax#  transfer
+   push %bx#  transfer buffer
+   push $0x1   # Read 1 sector
push 

commit PR 154469, ftp-proxy(8) bug ?

2011-06-22 Thread Kurt Jaeger
Hi!

Can someone have a look at

http://www.freebsd.org/cgi/query-pr.cgi?pr=154469

and commit it ? So that it ends up in 8.3 8-} ?

Thanks!

-- 
p...@opsec.eu+49 171 3101372 9 years to go !
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread John Baldwin
On Wednesday, June 22, 2011 7:34:05 am Henri Hennebert wrote:
 I get
 
 LBA: 8200
 Read error: 04

Odd.  Oh, I fubar'd and read the wrong thing for the sector.  Also, we
should leave the EDD packet on the stack so it doesn't get trashed by
calling hex8, etc.  Please try this:

Index: zfsldr.S
===
--- zfsldr.S(revision 223365)
+++ zfsldr.S(working copy)
@@ -16,7 +16,6 @@
  */
 
 /* Memory Locations */
-   .set MEM_REL,0x700  # Relocation address
.set MEM_ARG,0x900  # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main:   cld # 
String ops inc
mov %cx,%ss # Set up
mov $start,%sp  #  stack
 /*
- * Relocate ourself to MEM_REL.  Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
-   mov %sp,%si # Source
-   mov $MEM_REL,%di# Destination
-   incb %ch# Word count
-   rep # Copy
-   movsw   #  code
-/*
  * If we are on a hard drive, then load the MBR and look for the first
  * FreeBSD slice.  We use the fake partition entry below that points to
  * the MBR when we call nread.  The first pass looks for the first active
  * FreeBSD slice.  The second pass looks for the first non-active FreeBSD
  * slice if the first one fails.
  */
-   mov $part4,%si  # Partition
+   mov $part4,%si  # Dummy partition
cmpb $0x80,%dl  # Hard drive?
jb main.4   # No
-   movb $0x1,%dh   # Block count
-   callw nread # Read MBR
+   xor %eax,%eax   # Read MBR
+   movw $MEM_BUF,%bx   #  from first
+   callw nread #  sector
mov $0x1,%cx# Two passes
 main.1:mov $MEM_BUF+PRT_OFF,%si# Partition table
movb $0x1,%dh   # Partition
@@ -161,10 +152,16 @@ main.4:   xor %dx,%dx # 
Partition:drive
  * area and target area do not overlap.
  */
 main.5:mov %dx,MEM_ARG # Save args
-   movb $NSECT,%dh # Sector count
+   mov $NSECT,%cx  # Sector count
movl $1024,%eax # Offset to boot2
-   callw nread.1   # Read disk
-main.6:mov $MEM_BUF,%si# BTX (before reloc)
+   mov $MEM_BUF,%bx# Destination buffer
+main.6:pushal  # Save params
+   callw nread # Read disk
+   popal   # Restore
+   incl %eax   # Update for
+   add $SIZ_SEC,%bx#  next sector
+   loop main.6 # If not last, read another
+   mov $MEM_BUF,%si# BTX (before reloc)
mov 0xa(%si),%bx# Get BTX length and set
mov $NSECT*SIZ_SEC-1,%di# Size of load area (less one)
mov %di,%si # End of load
@@ -214,29 +211,35 @@ seta20.3: sti # Enable 
interrupts
  * packet on the stack and passes it to read.
  *
  * %eax- int - LBA to read in relative to partition start
+ * %es:%bx - ptr - destination address
  * %dl - byte- drive to read from
- * %dh - byte- num sectors to read
  * %si - ptr - MBR partition entry
  */
-nread: xor %eax,%eax   # Sector offset in partition
-nread.1:   xor %ecx,%ecx   # Get
+nread: xor %ecx,%ecx   # Get
addl 0x8(%si),%eax  #  LBA
adc $0,%ecx
pushl %ecx  # Starting absolute block
pushl %eax  #  block number
push %es# Address of
-   push $MEM_BUF   #  transfer buffer
-   xor %ax,%ax # Number of
-   movb %dh,%al#  blocks to
-   push %ax#  transfer
+   push %bx#  transfer buffer
+   push $0x1   # Read 1 sector
push $0x10  # Size of packet
mov %sp,%bp   

Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread Henri Hennebert

On 06/22/2011 16:19, Henri Hennebert wrote:

On 06/22/2011 15:57, John Baldwin wrote:

On Wednesday, June 22, 2011 7:34:05 am Henri Hennebert wrote:

I get

LBA: 8200
Read error: 04


Odd. Oh, I fubar'd and read the wrong thing for the sector. Also, we
should leave the EDD packet on the stack so it doesn't get trashed by
calling hex8, etc. Please try this:

Index: zfsldr.S
===
--- zfsldr.S (revision 223365)
+++ zfsldr.S (working copy)
@@ -16,7 +16,6 @@
*/

/* Memory Locations */
- .set MEM_REL,0x700 # Relocation address
.set MEM_ARG,0x900 # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main: cld # String ops inc
mov %cx,%ss # Set up
mov $start,%sp # stack
/*
- * Relocate ourself to MEM_REL. Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
- mov %sp,%si # Source
- mov $MEM_REL,%di # Destination
- incb %ch # Word count
- rep # Copy
- movsw # code
-/*
* If we are on a hard drive, then load the MBR and look for the first
* FreeBSD slice. We use the fake partition entry below that points to
* the MBR when we call nread. The first pass looks for the first active
* FreeBSD slice. The second pass looks for the first non-active FreeBSD
* slice if the first one fails.
*/
- mov $part4,%si # Partition
+ mov $part4,%si # Dummy partition
cmpb $0x80,%dl # Hard drive?
jb main.4 # No
- movb $0x1,%dh # Block count
- callw nread # Read MBR
+ xor %eax,%eax # Read MBR
+ movw $MEM_BUF,%bx # from first
+ callw nread # sector
mov $0x1,%cx # Two passes
main.1: mov $MEM_BUF+PRT_OFF,%si # Partition table
movb $0x1,%dh # Partition
@@ -161,10 +152,16 @@ main.4: xor %dx,%dx # Partition:drive
* area and target area do not overlap.
*/
main.5: mov %dx,MEM_ARG # Save args
- movb $NSECT,%dh # Sector count
+ mov $NSECT,%cx # Sector count
movl $1024,%eax # Offset to boot2
- callw nread.1 # Read disk
-main.6: mov $MEM_BUF,%si # BTX (before reloc)
+ mov $MEM_BUF,%bx # Destination buffer
+main.6: pushal # Save params
+ callw nread # Read disk
+ popal # Restore
+ incl %eax # Update for
+ add $SIZ_SEC,%bx # next sector
+ loop main.6 # If not last, read another
+ mov $MEM_BUF,%si # BTX (before reloc)
mov 0xa(%si),%bx # Get BTX length and set
mov $NSECT*SIZ_SEC-1,%di # Size of load area (less one)
mov %di,%si # End of load
@@ -214,29 +211,35 @@ seta20.3: sti # Enable interrupts
* packet on the stack and passes it to read.
*
* %eax - int - LBA to read in relative to partition start
+ * %es:%bx - ptr - destination address
* %dl - byte - drive to read from
- * %dh - byte - num sectors to read
* %si - ptr - MBR partition entry
*/
-nread: xor %eax,%eax # Sector offset in partition
-nread.1: xor %ecx,%ecx # Get
+nread: xor %ecx,%ecx # Get
addl 0x8(%si),%eax # LBA
adc $0,%ecx
pushl %ecx # Starting absolute block
pushl %eax # block number
push %es # Address of
- push $MEM_BUF # transfer buffer
- xor %ax,%ax # Number of
- movb %dh,%al # blocks to
- push %ax # transfer
+ push %bx # transfer buffer
+ push $0x1 # Read 1 sector
push $0x10 # Size of packet
mov %sp,%bp # Packet pointer
callw read # Read from disk
+ jc nread.1 # If error, fail
lea 0x10(%bp),%sp # Clear stack
- jnc return # If success, return
- mov $msg_read,%si # Otherwise, set the error
- # message and fall through to
- # the error routine
+ ret # If success, return
+nread.1: mov %ah,%al # Format
+ mov $read_err,%di # error
+ call hex8 # code
+ movl 0x8(%bp),%eax # Format
+ mov $lba,%di # LBA
+ call hex32
+ mov $msg_lba,%si # Display
+ call putstr # LBA
+ mov $msg_read,%si # Set the error message and
+ # fall through to the error
+ # routine
/*
* Print out the error message pointed to by %ds:(%si) followed
* by a prompt, wait for a keypress, and then reboot the machine.
@@ -259,14 +262,6 @@ putstr: lodsb # Get char
jne putstr.0 # No

/*
- * Overused return code. ereturn is used to return an error from the
- * read function. Since we assume putstr succeeds, we (ab)use the
- * same code when we return from putstr.
- */
-ereturn: movb $0x1,%ah # Invalid
- stc # argument
-return: retw # To caller
-/*
* Reads sectors from the disk. If EDD is enabled, then check if it is
* installed and use it if it is. If it is not installed or not
enabled, then
* fall back to using CHS. Since we use a LBA, if we are using CHS, we
have to
@@ -294,14 +289,38 @@ read: cmpb $0x80,%dl # Hard drive?
retw # To caller
read.1: mov $msg_chs,%si
jmp error
-msg_chs: .asciz CHS not supported

+/*
+ * Convert EAX, AX, or AL to hex, saving the result to [EDI].
+ */
+hex32: pushl %eax # Save
+ shrl $0x10,%eax # Do upper
+ call hex16 # 16
+ popl %eax # Restore
+hex16: call hex16.1 # Do upper 8
+hex16.1: xchgb %ah,%al # Save/restore
+hex8: push %ax # Save
+ shrb $0x4,%al # Do upper
+ call hex8.1 # 4
+ pop %ax # Restore
+hex8.1: andb $0xf,%al # Get lower 4
+ cmpb $0xa,%al # Convert
+ sbbb $0x69,%al # to hex
+ das # digit
+ orb $0x20,%al # To lower case
+ stosb # Save char
+ ret # (Recursive)
+
/* Messages */


Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread Henri Hennebert

On 06/22/2011 15:57, John Baldwin wrote:

On Wednesday, June 22, 2011 7:34:05 am Henri Hennebert wrote:

I get

LBA: 8200
Read error: 04


Odd.  Oh, I fubar'd and read the wrong thing for the sector.  Also, we
should leave the EDD packet on the stack so it doesn't get trashed by
calling hex8, etc.  Please try this:

Index: zfsldr.S
===
--- zfsldr.S(revision 223365)
+++ zfsldr.S(working copy)
@@ -16,7 +16,6 @@
   */

  /* Memory Locations */
-   .set MEM_REL,0x700  # Relocation address
.set MEM_ARG,0x900  # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main:   cld # 
String ops inc
mov %cx,%ss # Set up
mov $start,%sp  #  stack
  /*
- * Relocate ourself to MEM_REL.  Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
-   mov %sp,%si # Source
-   mov $MEM_REL,%di# Destination
-   incb %ch# Word count
-   rep # Copy
-   movsw   #  code
-/*
   * If we are on a hard drive, then load the MBR and look for the first
   * FreeBSD slice.  We use the fake partition entry below that points to
   * the MBR when we call nread.  The first pass looks for the first active
   * FreeBSD slice.  The second pass looks for the first non-active FreeBSD
   * slice if the first one fails.
   */
-   mov $part4,%si  # Partition
+   mov $part4,%si  # Dummy partition
cmpb $0x80,%dl  # Hard drive?
jb main.4   # No
-   movb $0x1,%dh   # Block count
-   callw nread # Read MBR
+   xor %eax,%eax   # Read MBR
+   movw $MEM_BUF,%bx   #  from first
+   callw nread #  sector
mov $0x1,%cx# Two passes
  main.1:   mov $MEM_BUF+PRT_OFF,%si# Partition table
movb $0x1,%dh   # Partition
@@ -161,10 +152,16 @@ main.4:   xor %dx,%dx # 
Partition:drive
   * area and target area do not overlap.
   */
  main.5:   mov %dx,MEM_ARG # Save args
-   movb $NSECT,%dh # Sector count
+   mov $NSECT,%cx  # Sector count
movl $1024,%eax # Offset to boot2
-   callw nread.1   # Read disk
-main.6:mov $MEM_BUF,%si# BTX (before reloc)
+   mov $MEM_BUF,%bx# Destination buffer
+main.6:pushal  # Save params
+   callw nread # Read disk
+   popal   # Restore
+   incl %eax   # Update for
+   add $SIZ_SEC,%bx#  next sector
+   loop main.6 # If not last, read another
+   mov $MEM_BUF,%si# BTX (before reloc)
mov 0xa(%si),%bx# Get BTX length and set
mov $NSECT*SIZ_SEC-1,%di# Size of load area (less one)
mov %di,%si # End of load
@@ -214,29 +211,35 @@ seta20.3: sti # Enable 
interrupts
   * packet on the stack and passes it to read.
   *
   * %eax   - int - LBA to read in relative to partition start
+ * %es:%bx - ptr - destination address
   * %dl- byte- drive to read from
- * %dh - byte- num sectors to read
   * %si- ptr - MBR partition entry
   */
-nread: xor %eax,%eax   # Sector offset in partition
-nread.1:   xor %ecx,%ecx   # Get
+nread: xor %ecx,%ecx   # Get
addl 0x8(%si),%eax  #  LBA
adc $0,%ecx
pushl %ecx  # Starting absolute block
pushl %eax  #  block number
push %es# Address of
-   push $MEM_BUF   #  transfer buffer
-   xor %ax,%ax # Number of
-   movb %dh,%al#  blocks to
-   push %ax#  transfer
+   push %bx#  transfer buffer
+   push $0x1   # Read 1 sector
push $0x10   

Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread Henri Hennebert

On 06/22/2011 16:23, Henri Hennebert wrote:

On 06/22/2011 16:19, Henri Hennebert wrote:

On 06/22/2011 15:57, John Baldwin wrote:

On Wednesday, June 22, 2011 7:34:05 am Henri Hennebert wrote:

I get

LBA: 8200
Read error: 04


Odd. Oh, I fubar'd and read the wrong thing for the sector. Also, we
should leave the EDD packet on the stack so it doesn't get trashed by
calling hex8, etc. Please try this:

Index: zfsldr.S
===
--- zfsldr.S (revision 223365)
+++ zfsldr.S (working copy)
@@ -16,7 +16,6 @@
*/

/* Memory Locations */
- .set MEM_REL,0x700 # Relocation address
.set MEM_ARG,0x900 # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main: cld # String ops inc
mov %cx,%ss # Set up
mov $start,%sp # stack
/*
- * Relocate ourself to MEM_REL. Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
- mov %sp,%si # Source
- mov $MEM_REL,%di # Destination
- incb %ch # Word count
- rep # Copy
- movsw # code
-/*
* If we are on a hard drive, then load the MBR and look for the first
* FreeBSD slice. We use the fake partition entry below that points to
* the MBR when we call nread. The first pass looks for the first active
* FreeBSD slice. The second pass looks for the first non-active FreeBSD
* slice if the first one fails.
*/
- mov $part4,%si # Partition
+ mov $part4,%si # Dummy partition
cmpb $0x80,%dl # Hard drive?
jb main.4 # No
- movb $0x1,%dh # Block count
- callw nread # Read MBR
+ xor %eax,%eax # Read MBR
+ movw $MEM_BUF,%bx # from first
+ callw nread # sector
mov $0x1,%cx # Two passes
main.1: mov $MEM_BUF+PRT_OFF,%si # Partition table
movb $0x1,%dh # Partition
@@ -161,10 +152,16 @@ main.4: xor %dx,%dx # Partition:drive
* area and target area do not overlap.
*/
main.5: mov %dx,MEM_ARG # Save args
- movb $NSECT,%dh # Sector count
+ mov $NSECT,%cx # Sector count
movl $1024,%eax # Offset to boot2
- callw nread.1 # Read disk
-main.6: mov $MEM_BUF,%si # BTX (before reloc)
+ mov $MEM_BUF,%bx # Destination buffer
+main.6: pushal # Save params
+ callw nread # Read disk
+ popal # Restore
+ incl %eax # Update for
+ add $SIZ_SEC,%bx # next sector
+ loop main.6 # If not last, read another
+ mov $MEM_BUF,%si # BTX (before reloc)
mov 0xa(%si),%bx # Get BTX length and set
mov $NSECT*SIZ_SEC-1,%di # Size of load area (less one)
mov %di,%si # End of load
@@ -214,29 +211,35 @@ seta20.3: sti # Enable interrupts
* packet on the stack and passes it to read.
*
* %eax - int - LBA to read in relative to partition start
+ * %es:%bx - ptr - destination address
* %dl - byte - drive to read from
- * %dh - byte - num sectors to read
* %si - ptr - MBR partition entry
*/
-nread: xor %eax,%eax # Sector offset in partition
-nread.1: xor %ecx,%ecx # Get
+nread: xor %ecx,%ecx # Get
addl 0x8(%si),%eax # LBA
adc $0,%ecx
pushl %ecx # Starting absolute block
pushl %eax # block number
push %es # Address of
- push $MEM_BUF # transfer buffer
- xor %ax,%ax # Number of
- movb %dh,%al # blocks to
- push %ax # transfer
+ push %bx # transfer buffer
+ push $0x1 # Read 1 sector
push $0x10 # Size of packet
mov %sp,%bp # Packet pointer
callw read # Read from disk
+ jc nread.1 # If error, fail
lea 0x10(%bp),%sp # Clear stack
- jnc return # If success, return
- mov $msg_read,%si # Otherwise, set the error
- # message and fall through to
- # the error routine
+ ret # If success, return
+nread.1: mov %ah,%al # Format
+ mov $read_err,%di # error
+ call hex8 # code
+ movl 0x8(%bp),%eax # Format
+ mov $lba,%di # LBA
+ call hex32
+ mov $msg_lba,%si # Display
+ call putstr # LBA
+ mov $msg_read,%si # Set the error message and
+ # fall through to the error
+ # routine
/*
* Print out the error message pointed to by %ds:(%si) followed
* by a prompt, wait for a keypress, and then reboot the machine.
@@ -259,14 +262,6 @@ putstr: lodsb # Get char
jne putstr.0 # No

/*
- * Overused return code. ereturn is used to return an error from the
- * read function. Since we assume putstr succeeds, we (ab)use the
- * same code when we return from putstr.
- */
-ereturn: movb $0x1,%ah # Invalid
- stc # argument
-return: retw # To caller
-/*
* Reads sectors from the disk. If EDD is enabled, then check if it is
* installed and use it if it is. If it is not installed or not
enabled, then
* fall back to using CHS. Since we use a LBA, if we are using CHS, we
have to
@@ -294,14 +289,38 @@ read: cmpb $0x80,%dl # Hard drive?
retw # To caller
read.1: mov $msg_chs,%si
jmp error
-msg_chs: .asciz CHS not supported

+/*
+ * Convert EAX, AX, or AL to hex, saving the result to [EDI].
+ */
+hex32: pushl %eax # Save
+ shrl $0x10,%eax # Do upper
+ call hex16 # 16
+ popl %eax # Restore
+hex16: call hex16.1 # Do upper 8
+hex16.1: xchgb %ah,%al # Save/restore
+hex8: push %ax # Save
+ shrb $0x4,%al # Do upper
+ call hex8.1 # 4
+ pop %ax # Restore
+hex8.1: andb $0xf,%al # Get lower 4
+ cmpb $0xa,%al # Convert
+ sbbb $0x69,%al # to hex
+ das # digit
+ orb $0x20,%al # To lower case
+ stosb # Save char

ata: SIGNATURE: ffffffff

2011-06-22 Thread George Kontostanos
This is the 3rd disk I replace in 3 disk- Raiz1 pool and I really start to
believe that the problem is somewhere else. The disks reside in a Promise
PDC40718 SATA300 controller. I am running this set up since 8.0-Release with
no issues till a few months ago after 8.2-Release now at 8.2-Stable.
Symptoms:

Jun 22 17:08:53 hp kernel: ata2: timeout waiting to issue command
Jun 22 17:08:53 hp kernel: ata2: error issuing SETFEATURES ENABLE WCACHE
command
Jun 22 17:09:33 hp kernel: ad4: WARNING - SET_MULTI taskqueue timeout -
completing request directly
Jun 22 17:09:33 hp kernel: ad4: WARNING - WRITE_DMA48 requeued due to
channel reset LBA=321558741
Jun 22 17:09:34 hp kernel: ata2: SIGNATURE: 0101
Jun 22 17:09:34 hp kernel: ad4: WARNING - WRITE_DMA48 requeued due to
channel reset LBA=321558869
Jun 22 17:09:34 hp kernel: ata2: FAILURE - already active DMA on this device
Jun 22 17:09:34 hp kernel: ata2: setting up DMA failed
Jun 22 17:09:34 hp kernel: ata2: FAILURE - already active DMA on this device
Jun 22 17:09:34 hp kernel: ata2: setting up DMA failed


After a while the disk gets detached from the pool. Always the same disk.
Rite now I am in the process of  resilvering :

  pool: tank
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scan: resilver in progress since Wed Jun 22 17:09:40 2011
189G scanned out of 578G at 88.8M/s, 1h14m to go
62.9G resilvered, 32.63% done
config:

NAME  STATE READ WRITE CKSUM
tank  ONLINE   0 0 0
  raidz1-0ONLINE   0 0 0
label/zdisk1  ONLINE   0 0 0
label/zdisk2  ONLINE   0 0 0
label/zdisk3  ONLINE   0 0 0  (resilvering)

But those errors have started to appear again. Again this is the 3rd disk
replaced !!! Full dmesg attached

-- 
George Kontostanos
aisecure.net http://www.aisecure.net
Copyright (c) 1992-2011 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.2-STABLE #0: Mon Jun  6 19:00:19 EEST 2011
gkon...@hp.aicom.loc:/usr/obj/usr/src/sys/ML110G3 amd64
Timecounter i8254 frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) D CPU 3.20GHz (3200.13-MHz K8-class CPU)
  Origin = GenuineIntel  Id = 0xf64  Family = f  Model = 6  Stepping = 4
  
Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
  Features2=0xe4bdSSE3,DTES64,MON,DS_CPL,VMX,EST,CNXT-ID,CX16,xTPR,PDCM
  AMD Features=0x20100800SYSCALL,NX,LM
  AMD Features2=0x1LAHF
  TSC: P-state invariant
real memory  = 4294967296 (4096 MB)
avail memory = 4106780672 (3916 MB)
ACPI APIC Table: HP OEMAPIC 
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 2
ioapic0 Version 2.0 irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: HP OEMXSDT on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter ACPI-fast frequency 3579545 Hz quality 1000
acpi_timer0: 24-bit timer at 3.579545MHz port 0x808-0x80b on acpi0
cpu0: ACPI CPU on acpi0
cpu1: ACPI CPU on acpi0
pcib0: ACPI Host-PCI bridge port 0xcf8-0xcff on acpi0
pci0: ACPI PCI bus on pcib0
pcib1: ACPI PCI-PCI bridge irq 16 at device 28.0 on pci0
pci1: ACPI PCI bus on pcib1
pcib2: ACPI PCI-PCI bridge irq 17 at device 28.5 on pci0
pci7: ACPI PCI bus on pcib2
bge0: Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x004101 mem 
0xfeaf-0xfeaf irq 17 at device 0.0 on pci7
bge0: CHIP ID 0x4101; ASIC REV 0x04; CHIP REV 0x41; PCI-E
miibus0: MII bus on bge0
brgphy0: BCM5750 10/100/1000baseTX PHY PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
bge0: Ethernet address: 00:13:21:cc:39:35
bge0: [ITHREAD]
uhci0: Intel 82801G (ICH7) USB controller USB-A port 0xdc00-0xdc1f irq 23 at 
device 29.0 on pci0
uhci0: [ITHREAD]
uhci0: LegSup = 0x2f00
usbus0: Intel 82801G (ICH7) USB controller USB-A on uhci0
uhci1: Intel 82801G (ICH7) USB controller USB-B port 0xd880-0xd89f irq 19 at 
device 29.1 on pci0
uhci1: [ITHREAD]
uhci1: LegSup = 0x2f00
usbus1: Intel 82801G (ICH7) USB controller USB-B on uhci1
uhci2: Intel 82801G (ICH7) USB controller USB-C port 0xd800-0xd81f irq 18 at 
device 29.2 on pci0
uhci2: [ITHREAD]
uhci2: LegSup = 0x2f00
usbus2: Intel 82801G (ICH7) USB controller USB-C on uhci2
ehci0: Intel 82801GB/R (ICH7) USB 2.0 controller mem 0xfe9ffc00-0xfe9f 
irq 23 at device 29.7 on pci0
ehci0: [ITHREAD]
usbus3: EHCI version 1.0
usbus3: Intel 82801GB/R (ICH7) USB 2.0 controller on ehci0
pcib3: ACPI 

Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread George Kontostanos
Forgot to mention, I have changed the SATA cables too.

On Wed, Jun 22, 2011 at 5:52 PM, George Kontostanos
gkontos.m...@gmail.comwrote:

 This is the 3rd disk I replace in 3 disk- Raiz1 pool and I really start to
 believe that the problem is somewhere else. The disks reside in a Promise
 PDC40718 SATA300 controller. I am running this set up since 8.0-Release with
 no issues till a few months ago after 8.2-Release now at 8.2-Stable.
 Symptoms:

 Jun 22 17:08:53 hp kernel: ata2: timeout waiting to issue command
 Jun 22 17:08:53 hp kernel: ata2: error issuing SETFEATURES ENABLE WCACHE
 command
 Jun 22 17:09:33 hp kernel: ad4: WARNING - SET_MULTI taskqueue timeout -
 completing request directly
 Jun 22 17:09:33 hp kernel: ad4: WARNING - WRITE_DMA48 requeued due to
 channel reset LBA=321558741
 Jun 22 17:09:34 hp kernel: ata2: SIGNATURE: 0101
 Jun 22 17:09:34 hp kernel: ad4: WARNING - WRITE_DMA48 requeued due to
 channel reset LBA=321558869
 Jun 22 17:09:34 hp kernel: ata2: FAILURE - already active DMA on this
 device
 Jun 22 17:09:34 hp kernel: ata2: setting up DMA failed
 Jun 22 17:09:34 hp kernel: ata2: FAILURE - already active DMA on this
 device
 Jun 22 17:09:34 hp kernel: ata2: setting up DMA failed


 After a while the disk gets detached from the pool. Always the same disk.
 Rite now I am in the process of  resilvering :

   pool: tank
  state: ONLINE
 status: One or more devices is currently being resilvered.  The pool will
 continue to function, possibly in a degraded state.
 action: Wait for the resilver to complete.
  scan: resilver in progress since Wed Jun 22 17:09:40 2011
 189G scanned out of 578G at 88.8M/s, 1h14m to go
 62.9G resilvered, 32.63% done
 config:

 NAME  STATE READ WRITE CKSUM
 tank  ONLINE   0 0 0
   raidz1-0ONLINE   0 0 0
 label/zdisk1  ONLINE   0 0 0
 label/zdisk2  ONLINE   0 0 0
 label/zdisk3  ONLINE   0 0 0  (resilvering)

 But those errors have started to appear again. Again this is the 3rd disk
 replaced !!! Full dmesg attached

 --
 George Kontostanos
 aisecure.net http://www.aisecure.net




-- 
George Kontostanos
aisecure.net http://www.aisecure.net
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: [poll / rfc] kdb_stop_cpus

2011-06-22 Thread Andriy Gapon
on 04/06/2011 11:22 Andriy Gapon said the following:
 commit 458ebd9aca7e91fc6e0825c727c7220ab9f61016
 
 generic_stop_cpus: move timeout detection code from under DIAGNOSTIC
 
 ... and also increase it a bit.
 IMO it's better to detect and report the (rather serious) condition and
 allow a system to proceed somehow rather than be stuck in an endless
 loop.
 
 diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
 index ae52f4b..4bd766b 100644
 --- a/sys/kern/subr_smp.c
 +++ b/sys/kern/subr_smp.c
 @@ -232,12 +232,10 @@ generic_stop_cpus(cpumask_t map, u_int type)
   /* spin */
   cpu_spinwait();
   i++;
 -#ifdef DIAGNOSTIC
 - if (i == 10) {
 + if (i == 1) {
   printf(timeout stopping cpus\n);
   break;
   }
 -#endif
   }
 
   stopping_cpu = NOCPU;
 
 

I would like to commit the above, if nobody objects.

A to do item is adding some code to aid debugging of the timeout condition.  I
discussed this with Attilio, he doesn't see this as a show-stopper and he plans 
to
add the code at a later time.

-- 
Andriy Gapon
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: [poll / rfc] kdb_stop_cpus

2011-06-22 Thread Andriy Gapon
on 03/06/2011 18:13 Andriy Gapon said the following:
 
 I wonder if anybody uses kdb_stop_cpus with non-default value.

I would like to go ahead and remove kdb_stop_cpus tunable/sysctl if nobody 
objects.

 If, yes, I am very interested to learn about your usecase for it.
 
 I think that the default kdb behavior is the correct one, so it doesn't make 
 sense
 to have a knob to turn on incorrect behavior.
 But I may be missing something obvious.
 
 The comment in the code doesn't really satisfy me:
 /*
  * Flag indicating whether or not to IPI the other CPUs to stop them on
  * entering the debugger.  Sometimes, this will result in a deadlock as
  * stop_cpus() waits for the other cpus to stop, so we allow it to be
  * disabled.  In order to maximize the chances of success, use a hard
  * stop for that.
  */
 
 The hard stop should be sufficiently mighty.
 Yes, I am aware of supposedly extremely rare situations where a deadlock could
 happen even when using hard stop.  But I'd rather fix that than have this 
 switch.
 
 Oh, the commit message (from 2004) explains it:
 Add a new sysctl, debug.kdb.stop_cpus, which controls whether or not we
 attempt to IPI other cpus when entering the debugger in order to stop
 them while in the debugger.  The default remains to issue the stop;
 however, that can result in a hang if another cpu has interrupts disabled
 and is spinning, since the IPI won't be received and the KDB will wait
 indefinitely.  We probably need to add a timeout, but this is a useful
 stopgap in the mean time.
 
 But that was before we started using hard stop in this context (in 2009).
 


-- 
Andriy Gapon
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread John Baldwin
On Wednesday, June 22, 2011 10:23:22 am Henri Hennebert wrote:
 On 06/22/2011 16:19, Henri Hennebert wrote:
  This time:
 
  LBA: 3c802308
  Read error: 04
 
  This morning I was reading the code (I'm in Belgium) and find that the
  previous LBA output was DAP+4 and so was the addr of the buffer. 0x8200
  = $MEM_BUF+512, and so we must be in the second read.
 
 
 OK I think I see, the first read mangle the partition table previously 
 read at $MEM_BUF and so the next one is wrong.

Ahh, very true.  I was planning to simplify the code to just load at MEM_BTX
directly and avoid copying BTX.  I went ahead and did that below:

Index: zfsldr.S
===
--- zfsldr.S(revision 223365)
+++ zfsldr.S(working copy)
@@ -16,7 +16,6 @@
  */
 
 /* Memory Locations */
-   .set MEM_REL,0x700  # Relocation address
.set MEM_ARG,0x900  # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main:   cld # 
String ops inc
mov %cx,%ss # Set up
mov $start,%sp  #  stack
 /*
- * Relocate ourself to MEM_REL.  Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
-   mov %sp,%si # Source
-   mov $MEM_REL,%di# Destination
-   incb %ch# Word count
-   rep # Copy
-   movsw   #  code
-/*
  * If we are on a hard drive, then load the MBR and look for the first
  * FreeBSD slice.  We use the fake partition entry below that points to
  * the MBR when we call nread.  The first pass looks for the first active
  * FreeBSD slice.  The second pass looks for the first non-active FreeBSD
  * slice if the first one fails.
  */
-   mov $part4,%si  # Partition
+   mov $part4,%si  # Dummy partition
cmpb $0x80,%dl  # Hard drive?
jb main.4   # No
-   movb $0x1,%dh   # Block count
-   callw nread # Read MBR
+   xor %eax,%eax   # Read MBR
+   movw $MEM_BUF,%bx   #  from first
+   callw nread #  sector
mov $0x1,%cx# Two passes
 main.1:mov $MEM_BUF+PRT_OFF,%si# Partition table
movb $0x1,%dh   # Partition
@@ -143,32 +134,35 @@ main.4:   xor %dx,%dx # 
Partition:drive
  * (i.e. after the two vdev labels).  We don't have do anything fancy
  * here to allow for an extra copy of boot1 and a partition table
  * (compare to this section of the UFS bootstrap) so we just load it
- * all at 0x8000. The first part of boot2 is BTX, which wants to run
+ * all at 0x9000. The first part of boot2 is BTX, which wants to run
  * at 0x9000. The boot2.bin binary starts right after the end of BTX,
  * so we have to figure out where the start of it is and then move the
- * binary to 0xc000. After we have moved the client, we relocate BTX
- * itself to 0x9000 - doing it in this order means that none of the
- * memcpy regions overlap which would corrupt the copy.  Normally, BTX
- * clients start at MEM_USR, or 0xa000, but when we use btxld to
- * create zfsboot2, we use an entry point of 0x2000.  That entry point is
- * relative to MEM_USR; thus boot2.bin starts at 0xc000.
+ * binary to 0xc000.  Normally, BTX clients start at MEM_USR, or 0xa000,
+ * but when we use btxld to create zfsboot2, we use an entry point of
+ * 0x2000.  That entry point is relative to MEM_USR; thus boot2.bin
+ * starts at 0xc000.
  *
  * The load area and the target area for the client overlap so we have
  * to use a decrementing string move. We also play segment register
  * games with the destination address for the move so that the client
  * can be larger than 16k (which would overflow the zero segment since
- * the client starts at 0xc000). Relocating BTX is easy since the load
- * area and target area do not overlap.
+ * the client starts at 0xc000).
  */
 main.5:mov %dx,MEM_ARG # Save args
-   movb $NSECT,%dh # Sector count
+   mov $NSECT,%cx  # Sector count
movl $1024,%eax # Offset to boot2
-   callw nread.1   # Read disk
-main.6:mov $MEM_BUF,%si# BTX (before reloc)
+   mov $MEM_BTX,%bx# Destination buffer
+main.6:pushal  # Save params
+   callw nread # Read disk
+   

Re: MFC: graid(8) (RAID GEOM) support

2011-06-22 Thread Ian Smith
On Wed, 22 Jun 2011, Alexander Motin wrote:
  Jeremy Chadwick wrote:
[..]
   Look graid(8) manual page for additional details.
  
   Co-authored by: imp
   Sponsored by:   Cisco Systems, Inc. and iXsystems, Inc.
   =
   
   By the way, it doesn't look like the graid(8) man page is being brought
   in to the base system on either of the two RELENG_8 systems I've rebuilt
   in the past few days.
   
   I'm thinking /usr/src/sbin/geom/class/raid/graid.8 isn't being noticed
   as a man page.
   
   /usr/src/sbin/geom/class/raid/Makefile doesn't have MAN8=graid.8 in it,
   is that the problem?
  
  I've just rebuilt my test 8-STABLE system and it installed graid(8).

I don't know if it's possibly related, or just that ongoing? issue with 
some? new manpages not making it into man.cgi but ..

http://www.freebsd.org/cgi/man.cgi?query=graidapropos=0sektion=0manpath=FreeBSD+8.2-stableformat=html

isn't working either, nor even for 9-current:

 Sorry, no data found for `graid'. Please try a keyword search.

cheers, Ian
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread Henri Hennebert

On 06/22/2011 17:58, John Baldwin wrote:

Index: zfsldr.S
===
--- zfsldr.S(revision 223365)
+++ zfsldr.S(working copy)
@@ -16,7 +16,6 @@
   */

  /* Memory Locations */
-   .set MEM_REL,0x700  # Relocation address
.set MEM_ARG,0x900  # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main:   cld # 
String ops inc
mov %cx,%ss # Set up
mov $start,%sp  #  stack
  /*
- * Relocate ourself to MEM_REL.  Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
-   mov %sp,%si # Source
-   mov $MEM_REL,%di# Destination
-   incb %ch# Word count
-   rep # Copy
-   movsw   #  code
-/*
   * If we are on a hard drive, then load the MBR and look for the first
   * FreeBSD slice.  We use the fake partition entry below that points to
   * the MBR when we call nread.  The first pass looks for the first active
   * FreeBSD slice.  The second pass looks for the first non-active FreeBSD
   * slice if the first one fails.
   */
-   mov $part4,%si  # Partition
+   mov $part4,%si  # Dummy partition
cmpb $0x80,%dl  # Hard drive?
jb main.4   # No
-   movb $0x1,%dh   # Block count
-   callw nread # Read MBR
+   xor %eax,%eax   # Read MBR
+   movw $MEM_BUF,%bx   #  from first
+   callw nread #  sector
mov $0x1,%cx# Two passes
  main.1:   mov $MEM_BUF+PRT_OFF,%si# Partition table
movb $0x1,%dh   # Partition
@@ -143,32 +134,35 @@ main.4:   xor %dx,%dx # 
Partition:drive
   * (i.e. after the two vdev labels).  We don't have do anything fancy
   * here to allow for an extra copy of boot1 and a partition table
   * (compare to this section of the UFS bootstrap) so we just load it
- * all at 0x8000. The first part of boot2 is BTX, which wants to run
+ * all at 0x9000. The first part of boot2 is BTX, which wants to run
   * at 0x9000. The boot2.bin binary starts right after the end of BTX,
   * so we have to figure out where the start of it is and then move the
- * binary to 0xc000. After we have moved the client, we relocate BTX
- * itself to 0x9000 - doing it in this order means that none of the
- * memcpy regions overlap which would corrupt the copy.  Normally, BTX
- * clients start at MEM_USR, or 0xa000, but when we use btxld to
- * create zfsboot2, we use an entry point of 0x2000.  That entry point is
- * relative to MEM_USR; thus boot2.bin starts at 0xc000.
+ * binary to 0xc000.  Normally, BTX clients start at MEM_USR, or 0xa000,
+ * but when we use btxld to create zfsboot2, we use an entry point of
+ * 0x2000.  That entry point is relative to MEM_USR; thus boot2.bin
+ * starts at 0xc000.
   *
   * The load area and the target area for the client overlap so we have
   * to use a decrementing string move. We also play segment register
   * games with the destination address for the move so that the client
   * can be larger than 16k (which would overflow the zero segment since
- * the client starts at 0xc000). Relocating BTX is easy since the load
- * area and target area do not overlap.
+ * the client starts at 0xc000).
   */
  main.5:   mov %dx,MEM_ARG # Save args
-   movb $NSECT,%dh # Sector count
+   mov $NSECT,%cx  # Sector count
movl $1024,%eax # Offset to boot2
-   callw nread.1   # Read disk
-main.6:mov $MEM_BUF,%si# BTX (before reloc)
+   mov $MEM_BTX,%bx# Destination buffer
+main.6:pushal  # Save params
+   callw nread # Read disk
+   popal   # Restore
+   incl %eax   # Update for
+   add $SIZ_SEC,%bx#  next sector
+   loop main.6 # If not last, read another
+   mov $MEM_BTX,%si# BTX
mov 0xa(%si),%bx# Get BTX length and set
mov $NSECT*SIZ_SEC-1,%di# Size of load area (less one)
mov %di,%si # End of load
-   add $MEM_BUF,%si#  area
+   

Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread George Kontostanos
I have also changed the SATA port in the controller!

I am afraid that I might get a new controller and still have the same
issues. I just want to eliminate any other options first.

On Wed, Jun 22, 2011 at 7:41 PM, Chris Brennan xa...@xaerolimit.net wrote:

 * George Kontostanos gkontos.m...@gmail.com [2011-06-22 18:48:45 +0300]:

  Forgot to mention, I have changed the SATA cables too.

 Just a stab in the dark here ... but since you mention the same disk
 almost being removed from the raidz1, maybe the port on the card is bad?
 if you've replaced the disk and the cable(s), then what is left? The
 card.

 --
  Chris Brennan
  --
  A: Yes.
  Q: Are you sure?
  A: Because it reverses the logical flow of conversation.
  Q: Why is top posting frowned upon?
  http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
  GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)
 




-- 
George Kontostanos
aisecure.net http://www.aisecure.net
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Chris Brennan
* George Kontostanos gkontos.m...@gmail.com [2011-06-22 18:48:45 +0300]:

 Forgot to mention, I have changed the SATA cables too.

Just a stab in the dark here ... but since you mention the same disk 
almost being removed from the raidz1, maybe the port on the card is bad? 
if you've replaced the disk and the cable(s), then what is left? The 
card.

-- 
 Chris Brennan
 -- 
 A: Yes.
 Q: Are you sure?
 A: Because it reverses the logical flow of conversation.
 Q: Why is top posting frowned upon?
 http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
 GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Chris Brennan
* George Kontostanos gkontos.m...@gmail.com [2011-06-22 19:58:50 +0300]:

 I have also changed the SATA port in the controller!
 
 I am afraid that I might get a new controller and still have the same
 issues. I just want to eliminate any other options first.
 

Don't top post, it's against list policy. See my siganture for a 
reasonable reason why. 

Replace the port or just moved the drive to an unused port? Or did you 
physically remove the card and solder a new SATA Female port to your 
card (which I would imagine would violate/void your warranty on the 
card.

Essentially this is what you've done so far:

1. Changed drives
2. Changed SATA Cable
3. Moved to an unused port

To be perfectly honest, it sounds like a faulty card, which was my 
original assessment. First I would see replacement on the same card 
under the warranty, if it still produces a problem, I would change 
cards. There is a slim chance it could also be a driver issue.


-- 
 Chris Brennan
 -- 
 A: Yes.
 Q: Are you sure?
 A: Because it reverses the logical flow of conversation.
 Q: Why is top posting frowned upon?
 http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
 GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)
---
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ZFS boot inside on the second partition inside a slice

2011-06-22 Thread John Baldwin
On Wednesday, June 22, 2011 12:48:43 pm Henri Hennebert wrote:
 No error message but a reboot...
 
 I add:
 
  loop main.6 # If not last, read another
 
  mov $msg_debug,%si
  call putstr
 
  mov $MEM_BTX,%si# BTX
 
 ..
 
 msg_debug:  .asciz @\r\n
 
 I don't get the @ on the console :-(

Hmm, so it never exits the loop?

 PS - I have to keep a short message otherwise:
 
 /usr/src/sys/boot/i386/zfsboot/zfsldr.S:322: Error: attempt to move .org 
 backwards

Yeah, it's getting tight.  I've commented the LBA printing bits out (so there
is more room to play with) and made it print out a . for each disk sector
read:

Index: zfsldr.S
===
--- zfsldr.S(revision 223365)
+++ zfsldr.S(working copy)
@@ -16,7 +16,6 @@
  */
 
 /* Memory Locations */
-   .set MEM_REL,0x700  # Relocation address
.set MEM_ARG,0x900  # Arguments
.set MEM_ORG,0x7c00 # Origin
.set MEM_BUF,0x8000 # Load area
@@ -91,26 +90,18 @@ main:   cld # 
String ops inc
mov %cx,%ss # Set up
mov $start,%sp  #  stack
 /*
- * Relocate ourself to MEM_REL.  Since %cx == 0, the inc %ch sets
- * %cx == 0x100.
- */
-   mov %sp,%si # Source
-   mov $MEM_REL,%di# Destination
-   incb %ch# Word count
-   rep # Copy
-   movsw   #  code
-/*
  * If we are on a hard drive, then load the MBR and look for the first
  * FreeBSD slice.  We use the fake partition entry below that points to
  * the MBR when we call nread.  The first pass looks for the first active
  * FreeBSD slice.  The second pass looks for the first non-active FreeBSD
  * slice if the first one fails.
  */
-   mov $part4,%si  # Partition
+   mov $part4,%si  # Dummy partition
cmpb $0x80,%dl  # Hard drive?
jb main.4   # No
-   movb $0x1,%dh   # Block count
-   callw nread # Read MBR
+   xor %eax,%eax   # Read MBR
+   movw $MEM_BUF,%bx   #  from first
+   callw nread #  sector
mov $0x1,%cx# Two passes
 main.1:mov $MEM_BUF+PRT_OFF,%si# Partition table
movb $0x1,%dh   # Partition
@@ -143,32 +134,35 @@ main.4:   xor %dx,%dx # 
Partition:drive
  * (i.e. after the two vdev labels).  We don't have do anything fancy
  * here to allow for an extra copy of boot1 and a partition table
  * (compare to this section of the UFS bootstrap) so we just load it
- * all at 0x8000. The first part of boot2 is BTX, which wants to run
+ * all at 0x9000. The first part of boot2 is BTX, which wants to run
  * at 0x9000. The boot2.bin binary starts right after the end of BTX,
  * so we have to figure out where the start of it is and then move the
- * binary to 0xc000. After we have moved the client, we relocate BTX
- * itself to 0x9000 - doing it in this order means that none of the
- * memcpy regions overlap which would corrupt the copy.  Normally, BTX
- * clients start at MEM_USR, or 0xa000, but when we use btxld to
- * create zfsboot2, we use an entry point of 0x2000.  That entry point is
- * relative to MEM_USR; thus boot2.bin starts at 0xc000.
+ * binary to 0xc000.  Normally, BTX clients start at MEM_USR, or 0xa000,
+ * but when we use btxld to create zfsboot2, we use an entry point of
+ * 0x2000.  That entry point is relative to MEM_USR; thus boot2.bin
+ * starts at 0xc000.
  *
  * The load area and the target area for the client overlap so we have
  * to use a decrementing string move. We also play segment register
  * games with the destination address for the move so that the client
  * can be larger than 16k (which would overflow the zero segment since
- * the client starts at 0xc000). Relocating BTX is easy since the load
- * area and target area do not overlap.
+ * the client starts at 0xc000).
  */
 main.5:mov %dx,MEM_ARG # Save args
-   movb $NSECT,%dh # Sector count
+   mov $NSECT,%cx  # Sector count
movl $1024,%eax # Offset to boot2
-   callw nread.1   # Read disk
-main.6:mov $MEM_BUF,%si# BTX (before reloc)
+   mov $MEM_BTX,%bx# Destination buffer
+main.6:pushal 

Re: commit PR 154469, ftp-proxy(8) bug ?

2011-06-22 Thread John Baldwin
On Wednesday, June 22, 2011 8:11:36 am Kurt Jaeger wrote:
 Hi!
 
 Can someone have a look at
 
 http://www.freebsd.org/cgi/query-pr.cgi?pr=154469
 
 and commit it ? So that it ends up in 8.3 8-} ?

Does the patch from OpenBSD fix the problem for you?

-- 
John Baldwin
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread George Kontostanos
You already mentioned your thought about a faulty card. If you don't have to
add anything beyond that then please keep it for yourself.

On Wed, Jun 22, 2011 at 8:13 PM, Chris Brennan xa...@xaerolimit.net wrote:

 * George Kontostanos gkontos.m...@gmail.com [2011-06-22 19:58:50 +0300]:

  I have also changed the SATA port in the controller!
 
  I am afraid that I might get a new controller and still have the same
  issues. I just want to eliminate any other options first.
 

 Don't top post, it's against list policy. See my siganture for a
 reasonable reason why.



-- 
George Kontostanos
aisecure.net http://www.aisecure.net
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: commit PR 154469, ftp-proxy(8) bug ?

2011-06-22 Thread Bjoern A. Zeeb

On Jun 22, 2011, at 12:11 PM, Kurt Jaeger wrote:

 Hi!
 
 Can someone have a look at
 
 http://www.freebsd.org/cgi/query-pr.cgi?pr=154469

I have a pf45 universe tree sitting here with the works from max and ermal
that needs to go in;  without checking specifically it should have the
fix and the fix could possibly be merges to 8 from there then

but knowing that just this fix applied to stable/8 works would be good for that.

/bz

-- 
Bjoern A. Zeeb You have to have visions!
 Stop bit received. Insert coin for new address family.

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: commit PR 154469, ftp-proxy(8) bug ?

2011-06-22 Thread Kurt Jaeger
Hi!

  Can someone have a look at
  
  http://www.freebsd.org/cgi/query-pr.cgi?pr=154469
  
  and commit it ? So that it ends up in 8.3 8-} ?
 
 Does the patch from OpenBSD fix the problem for you?

Yes, sure. That why I sent the pr!

-- 
p...@opsec.eu+49 171 3101372 9 years to go !
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Chris Brennan
* George Kontostanos gkontos.m...@gmail.com [2011-06-23 00:43:09 +0300]:

 You already mentioned your thought about a faulty card. If you don't have to
 add anything beyond that then please keep it for yourself.

And yet, your still top posting. I was only pointing out the logical 
conclusion here. You've tried the obvious, time to move up the chain. 
I'm sorry you don't happen to like that but there is no need to be rude 
about it.

-- 
 Chris Brennan
 -- 
 A: Yes.
 Q: Are you sure?
 A: Because it reverses the logical flow of conversation.
 Q: Why is top posting frowned upon?
 http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
 GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread George Kontostanos
Look, I think that this is getting personal and not constructive at all.
Stop mumbling unless you have something useful to add.

Like pointing out a old PR regarding this controller:

http://www.freebsd.org/cgi/query-pr.cgi?pr=116935cat=

Best Regards,

On Thu, Jun 23, 2011 at 1:44 AM, Chris Brennan xa...@xaerolimit.net wrote:

 * George Kontostanos gkontos.m...@gmail.com [2011-06-23 00:43:09 +0300]:

  You already mentioned your thought about a faulty card. If you don't have
 to
  add anything beyond that then please keep it for yourself.

 And yet, your still top posting. I was only pointing out the logical
 conclusion here. You've tried the obvious, time to move up the chain.
 I'm sorry you don't happen to like that but there is no need to be rude
 about it.

 --
  Chris Brennan
  --
  A: Yes.
  Q: Are you sure?
  A: Because it reverses the logical flow of conversation.
  Q: Why is top posting frowned upon?
  http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
  GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)
 




-- 
George Kontostanos
aisecure.net http://www.aisecure.net
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Jeremy Chadwick
On Wed, Jun 22, 2011 at 05:52:39PM +0300, George Kontostanos wrote:
 This is the 3rd disk I replace in 3 disk- Raiz1 pool and I really start to
 believe that the problem is somewhere else. The disks reside in a Promise
 PDC40718 SATA300 controller. I am running this set up since 8.0-Release with
 no issues till a few months ago after 8.2-Release now at 8.2-Stable.
 Symptoms:
 
 Jun 22 17:08:53 hp kernel: ata2: timeout waiting to issue command
 Jun 22 17:08:53 hp kernel: ata2: error issuing SETFEATURES ENABLE WCACHE
 command
 Jun 22 17:09:33 hp kernel: ad4: WARNING - SET_MULTI taskqueue timeout -
 completing request directly
 Jun 22 17:09:33 hp kernel: ad4: WARNING - WRITE_DMA48 requeued due to
 channel reset LBA=321558741
 Jun 22 17:09:34 hp kernel: ata2: SIGNATURE: 0101
 Jun 22 17:09:34 hp kernel: ad4: WARNING - WRITE_DMA48 requeued due to
 channel reset LBA=321558869
 Jun 22 17:09:34 hp kernel: ata2: FAILURE - already active DMA on this device
 Jun 22 17:09:34 hp kernel: ata2: setting up DMA failed
 Jun 22 17:09:34 hp kernel: ata2: FAILURE - already active DMA on this device
 Jun 22 17:09:34 hp kernel: ata2: setting up DMA failed
 
 
 After a while the disk gets detached from the pool. Always the same disk.
 Rite now I am in the process of  resilvering :
 
   pool: tank
  state: ONLINE
 status: One or more devices is currently being resilvered.  The pool will
 continue to function, possibly in a degraded state.
 action: Wait for the resilver to complete.
  scan: resilver in progress since Wed Jun 22 17:09:40 2011
 189G scanned out of 578G at 88.8M/s, 1h14m to go
 62.9G resilvered, 32.63% done
 config:
 
 NAME  STATE READ WRITE CKSUM
 tank  ONLINE   0 0 0
   raidz1-0ONLINE   0 0 0
 label/zdisk1  ONLINE   0 0 0
 label/zdisk2  ONLINE   0 0 0
 label/zdisk3  ONLINE   0 0 0  (resilvering)
 
 But those errors have started to appear again. Again this is the 3rd disk
 replaced !!! Full dmesg attached
 
 -- 
 George Kontostanos
 aisecure.net http://www.aisecure.net

 Copyright (c) 1992-2011 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
   The Regents of the University of California. All rights reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 8.2-STABLE #0: Mon Jun  6 19:00:19 EEST 2011
 gkon...@hp.aicom.loc:/usr/obj/usr/src/sys/ML110G3 amd64
 Timecounter i8254 frequency 1193182 Hz quality 0
 CPU: Intel(R) Pentium(R) D CPU 3.20GHz (3200.13-MHz K8-class CPU)
   Origin = GenuineIntel  Id = 0xf64  Family = f  Model = 6  Stepping = 4
   
 Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE
   Features2=0xe4bdSSE3,DTES64,MON,DS_CPL,VMX,EST,CNXT-ID,CX16,xTPR,PDCM
   AMD Features=0x20100800SYSCALL,NX,LM
   AMD Features2=0x1LAHF
   TSC: P-state invariant
 real memory  = 4294967296 (4096 MB)
 avail memory = 4106780672 (3916 MB)
 ACPI APIC Table: HP OEMAPIC 
 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 FreeBSD/SMP: 1 package(s) x 2 core(s)
  cpu0 (BSP): APIC ID:  0
  cpu1 (AP): APIC ID:  1
 ioapic0: Changing APIC ID to 2
 ioapic0 Version 2.0 irqs 0-23 on motherboard
 kbd1 at kbdmux0
 acpi0: HP OEMXSDT on motherboard
 acpi0: [ITHREAD]
 acpi0: Power Button (fixed)
 Timecounter ACPI-fast frequency 3579545 Hz quality 1000
 acpi_timer0: 24-bit timer at 3.579545MHz port 0x808-0x80b on acpi0
 cpu0: ACPI CPU on acpi0
 cpu1: ACPI CPU on acpi0
 pcib0: ACPI Host-PCI bridge port 0xcf8-0xcff on acpi0
 pci0: ACPI PCI bus on pcib0
 pcib1: ACPI PCI-PCI bridge irq 16 at device 28.0 on pci0
 pci1: ACPI PCI bus on pcib1
 pcib2: ACPI PCI-PCI bridge irq 17 at device 28.5 on pci0
 pci7: ACPI PCI bus on pcib2
 bge0: Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x004101 
 mem 0xfeaf-0xfeaf irq 17 at device 0.0 on pci7
 bge0: CHIP ID 0x4101; ASIC REV 0x04; CHIP REV 0x41; PCI-E
 miibus0: MII bus on bge0
 brgphy0: BCM5750 10/100/1000baseTX PHY PHY 1 on miibus0
 brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
 bge0: Ethernet address: 00:13:21:cc:39:35
 bge0: [ITHREAD]
 uhci0: Intel 82801G (ICH7) USB controller USB-A port 0xdc00-0xdc1f irq 23 
 at device 29.0 on pci0
 uhci0: [ITHREAD]
 uhci0: LegSup = 0x2f00
 usbus0: Intel 82801G (ICH7) USB controller USB-A on uhci0
 uhci1: Intel 82801G (ICH7) USB controller USB-B port 0xd880-0xd89f irq 19 
 at device 29.1 on pci0
 uhci1: [ITHREAD]
 uhci1: LegSup = 0x2f00
 usbus1: Intel 82801G (ICH7) USB controller USB-B on uhci1
 uhci2: Intel 82801G (ICH7) USB controller USB-C port 0xd800-0xd81f irq 18 
 at device 29.2 on pci0
 uhci2: [ITHREAD]
 uhci2: LegSup = 0x2f00
 usbus2: Intel 82801G (ICH7) USB controller USB-C on uhci2
 ehci0: Intel 82801GB/R (ICH7) USB 2.0 

Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Damien Fleuriot
On 23 Jun 2011, at 01:02, George Kontostanos gkontos.m...@gmail.com wrote:

 Look, I think that this is getting personal and not constructive at all.
 Stop mumbling unless you have something useful to add.
 

How about you do what he says and stop top posting, as per the list's policy ?

Annoying pretty much everyone in the list with your stubbornness about top 
posting and your misplaced rudeness towards a helper might result in a drop in 
the number of people willing to spend time helping you.


This being said, have you tried using a different PSU 
?___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Chris Brennan
* Damien Fleuriot m...@my.gd [2011-06-23 03:56:54 +0200]:

 On 23 Jun 2011, at 01:02, George Kontostanos gkontos.m...@gmail.com wrote:
 
  Look, I think that this is getting personal and not constructive at all.
  Stop mumbling unless you have something useful to add.
  
 
 How about you do what he says and stop top posting, as per the list's policy ?
 
 Annoying pretty much everyone in the list with your stubbornness about 
 top posting and your misplaced rudeness towards a helper might result 
 in a drop in the number of people willing to spend time helping you.

This will be my last post on this topic. George you are rude and I know 
I will not be offering any more suggestions for you. I foresee few 
others willing to help you now as well. Jeremy has willingly given you a 
great amount of detail to work with and it's up to him to look past your 
rude behavior and continue to help you.

-- 
 Chris Brennan
 -- 
 A: Yes.
 Q: Are you sure?
 A: Because it reverses the logical flow of conversation.
 Q: Why is top posting frowned upon?
 http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
 GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread Jeremy Chadwick
On Wed, Jun 22, 2011 at 11:08:57PM -0400, Chris Brennan wrote:
 * Damien Fleuriot m...@my.gd [2011-06-23 03:56:54 +0200]:
 
  On 23 Jun 2011, at 01:02, George Kontostanos gkontos.m...@gmail.com wrote:
  
   Look, I think that this is getting personal and not constructive at all.
   Stop mumbling unless you have something useful to add.
   
  
  How about you do what he says and stop top posting, as per the list's 
  policy ?
  
  Annoying pretty much everyone in the list with your stubbornness about 
  top posting and your misplaced rudeness towards a helper might result 
  in a drop in the number of people willing to spend time helping you.
 
 This will be my last post on this topic. George you are rude and I know 
 I will not be offering any more suggestions for you. I foresee few 
 others willing to help you now as well. Jeremy has willingly given you a 
 great amount of detail to work with and it's up to him to look past your 
 rude behavior and continue to help you.

off-topic
The difference is that I really don't care if people top-post,
bottom-post, or respond in-line.  I work with whatever I'm presented
with.

I personally use all 3 methods depending upon the context is and what
mailing list rules allow/permit.  But it varies per list, and some lists
have zealots that absolutely despise top-posting (even if the list
permits it).

I fully acknowledge that the FreeBSD lists advocate and insist upon
in-line or bottom-post replies, and I honour that -- as should George.

But let's be reasonable: there's a problem at hand that George is
needing help with.  The last thing a person under duress (re: in a
situation like this) needs is to be lectured about not confirming to
mailing list style.  I say this knowing that conforming to said list
style is important, however.

I tend to keep my style conformity requests very terse and mentioned
as one-liners at the bottom of the mail, e.g. P.S. -- Folks here don't
like top-posting, please try to avoid it if you can, thanks!.
Otherwise all it does is irritate an already-irritated person who's in
need of assistance.  Remember: they took the time to ask for help, which
in this day and age is practically a miracle.
/off-topic

-- 
| Jeremy Chadwickjdc at parodius.com |
| Parodius Networking   http://www.parodius.com/ |
| UNIX Systems Administrator   Mountain View, CA, US |
| Making life hard for others since 1977.   PGP 4BD6C0CB |

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: ata: SIGNATURE: ffffffff

2011-06-22 Thread grenville armitage



On 06/23/2011 14:05, Jeremy Chadwick wrote:
[..]

off-topic
The difference is that I really don't care if people top-post,
bottom-post, or respond in-line.  I work with whatever I'm presented
with.


+1

cheers,
gja

___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


Re: commit PR 154469, ftp-proxy(8) bug ?

2011-06-22 Thread Alexander V. Chernikov
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Kurt Jaeger wrote:
 Hi!
 
 Can someone have a look at

 http://www.freebsd.org/cgi/query-pr.cgi?pr=154469

 and commit it ? So that it ends up in 8.3 8-} ?
 Does the patch from OpenBSD fix the problem for you?
 
 Yes, sure. That why I sent the pr!
 

Yep, the patch does the right thing:

Setup:

FTP server: 87.51.34.132 (ftp.freebsd.org)
FTP client: 10.11.0.8 (stock freebsd ftp client)

GW with pf  ftp-proxy (FreeBSD 7.3)
ext: em0 77.73.232.13
int: vlan3 10.11.0.1

FTP session:

23:50 [0] bibi# ftp -a 87.51.34.132
Connected to 87.51.34.132.
220 ftp.beastie.tdk.net FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp quit

TCPDUMP (10.11.0.8 em0):
(-lnpAs0 host 87.51.34.132)

23:51:39.487136 IP 10.11.0.8.47376  87.51.34.132.21: Flags [P.], ack
303, win 8326, options [nop,nop,TS val 458938281 ecr 1611018784], length 6
E..:b.@.@.TW
...W3...E... 
.Z..`.2 QUIT

23:51:39.530414 IP 87.51.34.132.21  10.11.0.8.47376: Flags [F.], seq
303, ack 56, win 4163, options [nop,nop,TS val 1611020954 ecr
458938281], length 0
E..4..@.@...W3.
.ECT..
`.:..Z..


Note 'server' silently closing connection

TCPDUMP (GW em0):
23:56:20.405425 IP 77.73.232.13.61168  87.51.34.132.21: P 50:56(6) ack
303 win 4163 nop,nop,timestamp 2027802761 1933653527
W3.dn.C...
x...sA6.QUIT

23:56:20.448332 IP 87.51.34.132.21  77.73.232.13.61168: . ack 56 win
257 nop,nop,timestamp 1933655700 2027802761
dn
sA.x...
23:56:20.448345 IP 87.51.34.132.21  77.73.232.13.61168: P 303:317(14)
ack 56 win 257 nop,nop,timestamp 1933655700 2027802761
dn...8.
sA.x...221 Goodbye.

23:56:20.448353 IP 87.51.34.132.21  77.73.232.13.61168: F 317:317(0)
ack 56 win 257 nop,nop,timestamp 1933655700 2027802761
dn
sA.x...

Note real server transmits '221 Goodbye'



After applying patch:

23:54 [0] bibi# ftp -a 87.51.34.132
Connected to 87.51.34.132.
220 ftp.beastie.tdk.net FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp quit
221 Goodbye.

Note '221 Goodvye' received by ftp client
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.14 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk4CzWYACgkQwcJ4iSZ1q2lOcwCfYqknB9i1P7bfjgYVpSjkSWP1
Y8wAn3hC2pZ/OHDicCN+o3v1O5YiFZ8W
=dqk/
-END PGP SIGNATURE-
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org