[9fans] venti

2009-01-09 Thread Tharaneedharan Vilwanathan
hi,

i noticed something odd with venti and i am just trying to see if this
is an issue and if this needs to be addressed.

i think, by default, plan9 installation sets localhost as the address
for venti in plan9.ini. but at some point i wanted venti to announce
any (*) address. for some reason, i simply started venti/venti -a
'tcp!*!17034' to make it so. after this, i did vac from another
machine and it archived data. after sometime, i realized i may be
running venti on the same venti data area twice. when i did 'ps', it
looked like that. then i rebooted the machine and then tried
'dumpvacroots.new' command (from contrib). i noticed that venti arena
was corrupted. this is what i remember and if required i can try to
reproduce the issue.

the question i have is, is there any protection that prevents someone
from doing this accidentally? something like the last active venti
arena is marked 'IN_USE' so that if another instance of venti is
started (with read-write access), it can check for this? i agree user
has to be careful but given that venti archive is so critical, we
should avoid any accidental damage.

please pass your views.

thanks
dharani



Re: [9fans] venti

2009-01-09 Thread Sape Mullender
 i noticed something odd with venti and i am just trying to see if this
 is an issue and if this needs to be addressed.
 
 i think, by default, plan9 installation sets localhost as the address
 for venti in plan9.ini. but at some point i wanted venti to announce
 any (*) address. for some reason, i simply started venti/venti -a
 'tcp!*!17034' to make it so. after this, i did vac from another
 machine and it archived data. after sometime, i realized i may be
 running venti on the same venti data area twice. when i did 'ps', it
 looked like that. then i rebooted the machine and then tried
 'dumpvacroots.new' command (from contrib). i noticed that venti arena
 was corrupted. this is what i remember and if required i can try to
 reproduce the issue.
 
 the question i have is, is there any protection that prevents someone
 from doing this accidentally? something like the last active venti
 arena is marked 'IN_USE' so that if another instance of venti is
 started (with read-write access), it can check for this? i agree user
 has to be careful but given that venti archive is so critical, we
 should avoid any accidental damage.

Hmm.  Running two ventis on the same data is, of course, bad.  It's also
something I haven't seen happen before.  A check could be put in by having
venti put some sort of lock somewhere on the disk.  But that would lead
to problems if venti doesn't shut down properly: venti would be gone
but the lock would still be there.  You run the risk of not being able
to boot your machine.  I think you should just learn to be careful.

Sape




Re: [9fans] venti

2009-01-09 Thread Richard Miller
 Hmm.  Running two ventis on the same data is, of course, bad.  It's also
 something I haven't seen happen before.

I think it may have happened to me.  Recently I had a missing score error
when I was looking for something in my dump fs.  To assess the damage I did
a 'venti/copy -r' to a spare server, which told me 13 pointers had to be
rewritten.

I do sometimes get errors like this from my fossil server:
could not write super block; waiting 10 seconds
blistAlloc: called on clean block
but I've been assuming they are benign.  Am I wrong?

My understanding of fossil is that venti writes are ordered such that
the store should not be left in an inconsistent state even after a
sudden shutdown.  If that's the case, I'm guessing the most likely
cause of corruption was a careless experiment with venti when there
was already one running.




Re: [9fans] venti

2009-01-09 Thread Sape Mullender
Yes, but even if one venti always leaves the store in a consistent
state, running two may still cause them to wite differemt things to
the same place on disk and this is likely to result in havoc.

Sape
---BeginMessage---
 Hmm.  Running two ventis on the same data is, of course, bad.  It's also
 something I haven't seen happen before.

I think it may have happened to me.  Recently I had a missing score error
when I was looking for something in my dump fs.  To assess the damage I did
a 'venti/copy -r' to a spare server, which told me 13 pointers had to be
rewritten.

I do sometimes get errors like this from my fossil server:
could not write super block; waiting 10 seconds
blistAlloc: called on clean block
but I've been assuming they are benign.  Am I wrong?

My understanding of fossil is that venti writes are ordered such that
the store should not be left in an inconsistent state even after a
sudden shutdown.  If that's the case, I'm guessing the most likely
cause of corruption was a careless experiment with venti when there
was already one running.
---End Message---


Re: [9fans] Why do we need syspipe() ?

2009-01-09 Thread roger peppe
On Fri, Jan 9, 2009 at 2:05 AM, Roman V. Shaposhnik r...@sun.com wrote:
 Multiplexing. If devices exposed channel interface, and got
 exported there would be no kernel protecting from clients
 sending random sequences of 9P messages (on a single host
 you can't mount a channel and then continue reading/writing
 9P messages over it).

a year or so back i mentioned a way that this could be done,
by having an auth (DMAUTH) file visible in the namespace representing the
channel to be mounted. you can turn this file into a new namespace
by opening it and handing it to an attach message (as the afid).

i've probably still got a working inferno kernel that i modified to
allow this, but i didn't take it any further.

this mechanism *could* potentially be used to replace the # namespace.



Re: [9fans] venti

2009-01-09 Thread erik quanstrom
 I do sometimes get errors like this from my fossil server:
   could not write super block; waiting 10 seconds
   blistAlloc: called on clean block
 but I've been assuming they are benign.  Am I wrong?

i looked into this.

/sys/src/cmd/fossil/cache.c:1210,1217
if(p-index  0){
/*
 * We don't know how to temporarily undo
 * b's dependency on bb, so just don't write b yet.
 */
if(0) fprint(2, blockWrite skipping %d %x %d %d; need 
to write %d %x %d\n,
b-part, b-addr, b-vers, b-l.type, p-part, 
p-addr, bb-vers);
return 0;
}

what if bb == b?

it'd be interesting to see what that outputs with if(1).
i think _cacheLocalLookup is finding the superblock
itself.  perhaps no write between snaps meaning that
only the sb itself is dirty?

- erik



[9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Rudolf Sykora
Hello,

I tried to install plan9 on one of my computers and wanted to update
it running 'pull'. However, it doesn't work, perhaps because the home
pages of plan9 at Bell labs don't work. I somehow have a feeling there
are problems with those pages every now and then. Is it so? Why?

May some mirror be used instead?
If yes, what and how do I have to modify so that 'pull' then works?

Also. My computer is Acer Travelmate 291LCi. It has a touchpad (2
buttons) and I want to use a usb mouse. After installation the
touchpad works, but connected external mouse does not. Why? What do I
have to do? There is a message saying something like
'/dev/usb0/1/ep0data does not exists'.
Last, the computer has a 1400x1050 screen, which is somehow not listed
in its Bios table, so that I had to run some program to help it under
linux (something like 855patch ;
http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
board). Is there a chance it would work in plan9? What do I have to
do?

Thanks
Ruda



Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread erik quanstrom
 http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
 board). Is there a chance it would work in plan9? What do I have to
 do?

there was a guy around here who worked up
that bios patch for plan 9.  (translated, oddly enough,
from the original oberon.)  i'll try to hunt it down.
i can't currently locate it.  but if it can't be found,
the linux version should be easy enough to translate.

- erik



Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread sqweek
On Fri, Jan 9, 2009 at 11:17 PM, Rudolf Sykora rudolf.syk...@gmail.com wrote:
 I tried to install plan9 on one of my computers and wanted to update
 it running 'pull'. However, it doesn't work, perhaps because the home
 pages of plan9 at Bell labs don't work. I somehow have a feeling there
 are problems with those pages every now and then. Is it so? Why?

 Yeah, I can't connect to sources at the moment. I get as far as
post... and then 9fs blocks.
-sqweek



Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Gabriel Diaz Lopez de la Llave

Hello

As soon as the new mirror method mentioned by Geoff becomes the  
official way to sync mirrors i will update the 9grid.es mirror and i  
will provide the scripts to pull from 9grid.es again


Gabi



El 09/01/2009, a las 15:17, Rudolf Sykora rudolf.syk...@gmail.com  
escribió:



Hello,

I tried to install plan9 on one of my computers and wanted to update
it running 'pull'. However, it doesn't work, perhaps because the home
pages of plan9 at Bell labs don't work. I somehow have a feeling there
are problems with those pages every now and then. Is it so? Why?

May some mirror be used instead?
If yes, what and how do I have to modify so that 'pull' then works?

Also. My computer is Acer Travelmate 291LCi. It has a touchpad (2
buttons) and I want to use a usb mouse. After installation the
touchpad works, but connected external mouse does not. Why? What do I
have to do? There is a message saying something like
'/dev/usb0/1/ep0data does not exists'.
Last, the computer has a 1400x1050 screen, which is somehow not listed
in its Bios table, so that I had to run some program to help it under
linux (something like 855patch ;
http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
board). Is there a chance it would work in plan9? What do I have to
do?

Thanks
Ruda






Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Francisco J Ballesteros
Sorry, which new mirror method?

I probably missed that.
We keep a mirror of sources/plan9 and 9grid at sources.lsub.org.


On Fri, Jan 9, 2009 at 5:37 PM, Gabriel Diaz Lopez de la Llave
gd...@9grid.es wrote:
 Hello

 As soon as the new mirror method mentioned by Geoff becomes the official way
 to sync mirrors i will update the 9grid.es mirror and i will provide the
 scripts to pull from 9grid.es again

 Gabi



 El 09/01/2009, a las 15:17, Rudolf Sykora rudolf.syk...@gmail.com
 escribió:

 Hello,

 I tried to install plan9 on one of my computers and wanted to update
 it running 'pull'. However, it doesn't work, perhaps because the home
 pages of plan9 at Bell labs don't work. I somehow have a feeling there
 are problems with those pages every now and then. Is it so? Why?

 May some mirror be used instead?
 If yes, what and how do I have to modify so that 'pull' then works?

 Also. My computer is Acer Travelmate 291LCi. It has a touchpad (2
 buttons) and I want to use a usb mouse. After installation the
 touchpad works, but connected external mouse does not. Why? What do I
 have to do? There is a message saying something like
 '/dev/usb0/1/ep0data does not exists'.
 Last, the computer has a 1400x1050 screen, which is somehow not listed
 in its Bios table, so that I had to run some program to help it under
 linux (something like 855patch ;
 http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
 board). Is there a chance it would work in plan9? What do I have to
 do?

 Thanks
 Ruda






Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Gabriel Diaz Lopez de la Llave

hello

Geoff is working to get a replica/pull set up to mirror /n/sources.

9grid.es stopped mirrorning since this started, and i'm trying from  
time to time to use the replica/pull system to mirror sources.


sorry but i can't remember the message on which Geoff talked about this.

gabi


El 09/01/2009, a las 17:51, Francisco J Ballesteros escribió:


Sorry, which new mirror method?

I probably missed that.
We keep a mirror of sources/plan9 and 9grid at sources.lsub.org.


On Fri, Jan 9, 2009 at 5:37 PM, Gabriel Diaz Lopez de la Llave
gd...@9grid.es wrote:

Hello

As soon as the new mirror method mentioned by Geoff becomes the  
official way
to sync mirrors i will update the 9grid.es mirror and i will  
provide the

scripts to pull from 9grid.es again

Gabi



El 09/01/2009, a las 15:17, Rudolf Sykora rudolf.syk...@gmail.com
escribió:


Hello,

I tried to install plan9 on one of my computers and wanted to update
it running 'pull'. However, it doesn't work, perhaps because the  
home
pages of plan9 at Bell labs don't work. I somehow have a feeling  
there

are problems with those pages every now and then. Is it so? Why?

May some mirror be used instead?
If yes, what and how do I have to modify so that 'pull' then works?

Also. My computer is Acer Travelmate 291LCi. It has a touchpad (2
buttons) and I want to use a usb mouse. After installation the
touchpad works, but connected external mouse does not. Why? What  
do I

have to do? There is a message saying something like
'/dev/usb0/1/ep0data does not exists'.
Last, the computer has a 1400x1050 screen, which is somehow not  
listed
in its Bios table, so that I had to run some program to help it  
under

linux (something like 855patch ;
http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
board). Is there a chance it would work in plan9? What do I have to
do?

Thanks
Ruda










Re: [9fans] venti

2009-01-09 Thread Dave Eckhardt
 A check could be put in by having venti put some sort of lock
 somewhere on the disk.  But that would lead to problems if
 venti doesn't shut down properly: venti would be gone but the
 lock would still be there.

Post an (ignored) mode 000 fd in /srv?  Since nobody could open
it, it would always have one reference, and would go away when
the venti did?

Dave Eckhardt



Re: [9fans] venti

2009-01-09 Thread erik quanstrom
  A check could be put in by having venti put some sort of lock
  somewhere on the disk.  But that would lead to problems if
  venti doesn't shut down properly: venti would be gone but the
  lock would still be there.
 
 Post an (ignored) mode 000 fd in /srv?  Since nobody could open
 it, it would always have one reference, and would go away when
 the venti did?

dns tries a similar trick.  unfortunately, this means that dns
doesn't like to be restarted when it's gone haywire as slay dns|rc
doesn't seem to remove dns' entry from srv.

it also assumes direct-attach storage.

- erik



Re: [9fans] venti

2009-01-09 Thread Steve Simon
 Post an (ignored) mode 000 fd in /srv?  Since nobody could open
 it, it would always have one reference, and would go away when
 the venti did?

Kudos to Mr Eckhardt for a very neat solution.

-Steve



Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Uriel
What was wrong with the old way of doing mirroring with lsr? It worked
quite nicely, and was way more reliable and infinitely faster than
replica.

uriel

On Fri, Jan 9, 2009 at 6:36 PM, Gabriel Diaz Lopez de la Llave
gd...@9grid.es wrote:
 hello

 Geoff is working to get a replica/pull set up to mirror /n/sources.

 9grid.es stopped mirrorning since this started, and i'm trying from time to
 time to use the replica/pull system to mirror sources.

 sorry but i can't remember the message on which Geoff talked about this.

 gabi


 El 09/01/2009, a las 17:51, Francisco J Ballesteros escribió:

 Sorry, which new mirror method?

 I probably missed that.
 We keep a mirror of sources/plan9 and 9grid at sources.lsub.org.


 On Fri, Jan 9, 2009 at 5:37 PM, Gabriel Diaz Lopez de la Llave
 gd...@9grid.es wrote:

 Hello

 As soon as the new mirror method mentioned by Geoff becomes the official
 way
 to sync mirrors i will update the 9grid.es mirror and i will provide the
 scripts to pull from 9grid.es again

 Gabi



 El 09/01/2009, a las 15:17, Rudolf Sykora rudolf.syk...@gmail.com
 escribió:

 Hello,

 I tried to install plan9 on one of my computers and wanted to update
 it running 'pull'. However, it doesn't work, perhaps because the home
 pages of plan9 at Bell labs don't work. I somehow have a feeling there
 are problems with those pages every now and then. Is it so? Why?

 May some mirror be used instead?
 If yes, what and how do I have to modify so that 'pull' then works?

 Also. My computer is Acer Travelmate 291LCi. It has a touchpad (2
 buttons) and I want to use a usb mouse. After installation the
 touchpad works, but connected external mouse does not. Why? What do I
 have to do? There is a message saying something like
 '/dev/usb0/1/ep0data does not exists'.
 Last, the computer has a 1400x1050 screen, which is somehow not listed
 in its Bios table, so that I had to run some program to help it under
 linux (something like 855patch ;
 http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
 board). Is there a chance it would work in plan9? What do I have to
 do?

 Thanks
 Ruda









Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Francisco J Ballesteros
it's not reliable.
I had to fix several things, but the main problem is that
it's not coherent wrt sources. You might end up with incosistent
files, depending on when lsr runs.

I'm using a variant of lsr, but I'm looking forward to a more
coherent way of doing it.

On Fri, Jan 9, 2009 at 9:42 PM, Uriel urie...@gmail.com wrote:
 What was wrong with the old way of doing mirroring with lsr? It worked
 quite nicely, and was way more reliable and infinitely faster than
 replica.

 uriel

 On Fri, Jan 9, 2009 at 6:36 PM, Gabriel Diaz Lopez de la Llave
 gd...@9grid.es wrote:
 hello

 Geoff is working to get a replica/pull set up to mirror /n/sources.

 9grid.es stopped mirrorning since this started, and i'm trying from time to
 time to use the replica/pull system to mirror sources.

 sorry but i can't remember the message on which Geoff talked about this.

 gabi


 El 09/01/2009, a las 17:51, Francisco J Ballesteros escribió:

 Sorry, which new mirror method?

 I probably missed that.
 We keep a mirror of sources/plan9 and 9grid at sources.lsub.org.


 On Fri, Jan 9, 2009 at 5:37 PM, Gabriel Diaz Lopez de la Llave
 gd...@9grid.es wrote:

 Hello

 As soon as the new mirror method mentioned by Geoff becomes the official
 way
 to sync mirrors i will update the 9grid.es mirror and i will provide the
 scripts to pull from 9grid.es again

 Gabi



 El 09/01/2009, a las 15:17, Rudolf Sykora rudolf.syk...@gmail.com
 escribió:

 Hello,

 I tried to install plan9 on one of my computers and wanted to update
 it running 'pull'. However, it doesn't work, perhaps because the home
 pages of plan9 at Bell labs don't work. I somehow have a feeling there
 are problems with those pages every now and then. Is it so? Why?

 May some mirror be used instead?
 If yes, what and how do I have to modify so that 'pull' then works?

 Also. My computer is Acer Travelmate 291LCi. It has a touchpad (2
 buttons) and I want to use a usb mouse. After installation the
 touchpad works, but connected external mouse does not. Why? What do I
 have to do? There is a message saying something like
 '/dev/usb0/1/ep0data does not exists'.
 Last, the computer has a 1400x1050 screen, which is somehow not listed
 in its Bios table, so that I had to run some program to help it under
 linux (something like 855patch ;
 http://www.chzsoft.com.ar/855patch.html ; it has a 810i graphics on
 board). Is there a chance it would work in plan9? What do I have to
 do?

 Thanks
 Ruda










Re: [9fans] venti

2009-01-09 Thread Roman V. Shaposhnik
On Fri, 2009-01-09 at 15:11 -0500, Dave Eckhardt wrote:
  A check could be put in by having venti put some sort of lock
  somewhere on the disk.  But that would lead to problems if
  venti doesn't shut down properly: venti would be gone but the
  lock would still be there.
 
 Post an (ignored) mode 000 fd in /srv?  Since nobody could open
 it, it would always have one reference, and would go away when
 the venti did?

Very neat! One question though: since a hostowner can change 
permissions on the entry later, this still doesn't offer
a guarantee of a single reference, does it?

Thanks,
Roman.




Re: [9fans] cheap, low-resolution terminal

2009-01-09 Thread Eris Discordia
What'd you say if you had my keyboard? It's got a couple of (useful) 
Windows keys, a numeric pad, and some multimedia keys. Can't complain, to 
each their lot ;-)


And for the oldies fun: last week I had to replace an AT type PSU and get 
the right wires (white, black, brown, blue) connected to the right pins or 
the replacement would go where the fried one went. Don't ask how I found 
the replacement in the first place.


--On Thursday, January 08, 2009 2:20 PM -0500 j...@csplan9.rit.edu wrote:


[...] Last thing I did before I  packed  it  in  was take the
superimposed picture and look at it through a green  filter.  You
remember I was always superstitious about the color green  when  I  was
a kid? I always wanted to be a pilot on one of the trading scouts?


I love green and I admire your taste, John Floren.



Thank you



By the way, this was the first picture of a VT220 I had ever seen in my
life. The no-frills keyboard looks even cooler than the display.


The keyboard is nice to type on, but unfortunately it's a VMS layout;
there is also a UNIX layout but I don't have that.  The result is that
I have a really long keyboard (it has a numberpad/EDIT keypad
off-screen to the right) instead of a short keypad-less UNIX board,
and the Control key is on the wrong side of the caps lock key.  Still,
a fun piece of equipment.


John



--On Wednesday, January 07, 2009 10:10 PM -0500 j...@csplan9.rit.edu
wrote:



http://csplan9.rit.edu/users/john/plan9vt220-full.jpeg
http://csplan9.rit.edu/users/john/plan9vt220-screen.jpeg

Just threw this onto my CPU server (yes, mock my slow processor, it
was free) and was once again pleased with how easy it is to set stuff
up on Plan 9.  Just one line in plan9.ini and I was rocking.


John Floren













Re: [9fans] venti

2009-01-09 Thread Dave Eckhardt
 Post an (ignored) mode 000 fd in /srv?  Since nobody could open
 it, it would always have one reference, and would go away when
 the venti did?
 
 dns tries a similar trick.

I think /srv/dns serves an actual file system, so there are
potentially many references to it (not just one).

 it also assumes direct-attach storage.

Not exactly, but you are right that ventis running on two
kernels could mount the same storage.

I seem to recall being surprised at some point to observe
/dev/sdXX/data silently imposing a one-open-at-a-time policy
(I think subsequent opens stalled).  Maybe a script run at
system boot time could turn on DMEXCL for appropriate things
in /dev/sd*/*?

Dave Eckhardt



Re: [9fans] pull doesn't work due to unavailable sources; travelmate 291LCi specials

2009-01-09 Thread Nathaniel W Filardo
On Fri, Jan 09, 2009 at 09:54:02PM +0100, Francisco J Ballesteros wrote:
 it's not reliable.
 I had to fix several things, but the main problem is that
 it's not coherent wrt sources. You might end up with incosistent
 files, depending on when lsr runs.
 
 I'm using a variant of lsr, but I'm looking forward to a more
 coherent way of doing it.

I am still missing something (and did not get a response on an earlier
attempt at asking a slightly different question), but... why doesn't sources
  1) allow read-only access to its backing venti to the Internet at large
  2) nightly run a full vac job against the nightly dump [1] as none [2] and
  3) publish the score so derived? [3]

This makes venti/copy -f an excellent mirroring mechanism; mirrors would
be only very slightly lagged from the official sources (see [1]), and it
would seem to have only very modest bandwidth requirements relative to full
tree traversal.

If this an acceptable mechanism (I don't see anything wrong with it, but
I've been wrong before), I'd be very happy if somebody seeded the system
with the dumps already taken.

[1] And/or snapshots.  Those would work just as well, be just as coherent,
and be more frequent in case nightly crawls aren't good enough.
[2] Running as none means that only world-readable files get included in the
published capabilities.  Presumably that's exactly the class that would
be mirrored.
[3] A vac archive generated by merging each run's vac output, say, with the
last run's root score published at the root of sources?

Thanks much.
--nwf;


pgpnibPr4kN13.pgp
Description: PGP signature


Re: [9fans] venti

2009-01-09 Thread erik quanstrom
 I seem to recall being surprised at some point to observe
 /dev/sdXX/data silently imposing a one-open-at-a-time policy
 (I think subsequent opens stalled).  Maybe a script run at
 system boot time could turn on DMEXCL for appropriate things
 in /dev/sd*/*?

i think you mean the raw file.  

; cat fu.c
#include u.h
#include libc.h

void
main(void)
{
int i, fd[2];

for(i = 0; i  nelem(fd); i++){
fd[i] = open(/dev/sdC0/data, OREAD);
print(fd = %d\n, fd[i]);
}
exits();
}
; 8c fu.c  8l fu.8  8.out
3
4

- erik



[9fans] serial consoles vs. new motherboards

2009-01-09 Thread erik quanstrom
it's becoming increasingly popular for manufacturers
to ship motherboards with no serial ports at all.
my terminal has nonfunctional uarts. it's easy enough
to add in pci(e) based serial cards. i just got a startech
pex2s with 2x 16c950 uarts.

unfortunately, i didn't realize that only i8250 work as
consoles.  this makes sense if you always get a serial
console, since pci uarts are obviously not available
until the pci bus has been scanned, which is much later
in the boot process than the onboard uarts can be
enabled.  but, i don't have much choice.

initially i copied the code from uarti8250.c and got
things going, but that doesn't help anyone with a
uartixp or an uartisa part, and it seemed like a hokey
way of doing things.

so on a flier, i rearranged things a little bit by doing
two odd things, 
- adding a function uartconsconf that returns the
uart number and the boot-time cmd string.
- adding a command for enabling a console on a uart (z).

thus, uartreset just needs to call uartsconsconf to
find the boot-time console and call uartctl twice to
configure any console.  for special consoles that can
be enabled really early in boot, a very simple function
is needed.  i8250console, for example, becomes:

void
i8250console(void)
{
int n;
char *cmd;

n = uartconsconf(cmd);
if(n == 0 || n == 1){
uartctl(i8250uart + n, z);
uartctl(i8250uart + n, cmd);
}
}

(i think a similar trick would work for other
arches' consoles.)

as a bonus, adding a command (y) to disable a uart
console fell out naturally.  this is could have saved a
few reboots had it been available before!

in any event, i welcome any feedback.

- erik




[9fans] a bug in awk?

2009-01-09 Thread Tharaneedharan Vilwanathan
hi,

while i was playing with venti archive, i found something interesting.

i used dumpvacroots.new (from contrib) and for some reason, awk bailed
out with floating point error whenever it saw a line with a specific
root score.

here are the two sample lines (i used customized printarena.c which
prints the date for me at the end):

  11260359 d05544897ff642ca36e58174bc753b0f3382b793   0
8192 Jan  9 18:09
  11258672 5946903e318d3596c21e35b42a13c1dea5fd32cc   0
8192 Jan  9 18:09

awk seems to be okay with the first line but not the second line.

here is the output when i use awk:

mill# awk ' { print $0; print NF}' /tmp/out1.dat
  11260359 d05544897ff642ca36e58174bc753b0f3382b793   0
8192 Jan  9 18:09
7
  11258672 5946903e318d3596c21e35b42a13c1dea5fd32cc   0
8192 Jan  9 18:09
awk: floating point exception 6
 input record /tmp/out1.dat:2
 source line 1

i figured that:

- awk runs fine if i dont print NF. (so, it parses the line on-demand
and parsing fails?)
- awk doesnt seem to like the score 594632cc. If I change that
score to something else and rerun, it seems to be fine.

to confirm that this is a plan9 specific awk issue, i tried the same
with my Mac machine. it seems to be okay:

$ awk ' { print $0; print NF }' out1.dat
  11260359 d05544897ff642ca36e58174bc753b0f3382b793   0
8192 Jan  9 18:09
7
  11258672 5946903e318d3596c21e35b42a13c1dea5fd32cc   0
8192 Jan  9 18:09
7

what could be the issue? any clues?

i initially thought my venti data got corrupted but i am now convinced
that this is something else, since i was also able to reliably archive
data.

thanks
dharani



Re: [9fans] a bug in awk?

2009-01-09 Thread lucio
   11258672 5946903e318d3596c21e35b42a13c1dea5fd32cc   0

Note the 5946903e318 which AWK may mistakenly treat as a floating
point constant.  Now to figure how to prevent such errors...

++L




Re: [9fans] a bug in awk?

2009-01-09 Thread Tharaneedharan Vilwanathan
hi lucio,

so, it tries to interpret as a floating-point no and goes for a toss!

thanks for the quick response.

regards
dharani

On Fri, Jan 9, 2009 at 10:26 PM,  lu...@proxima.alt.za wrote:
   11258672 5946903e318d3596c21e35b42a13c1dea5fd32cc   0

 Note the 5946903e318 which AWK may mistakenly treat as a floating
 point constant.  Now to figure how to prevent such errors...

 ++L