[9fans] New User with Problems

2010-02-08 Thread Steve
I've been scouring the Interwebs and haven't been able to find much of
a solution.

Yesterday I decided to give P9 a try and burned the ISO file available
on Plan 9's installation page here:
http://plan9.bell-labs.com/wiki/plan9/download/index.html

It was the direct link to the CD image so none of the other choices
that are available below.

After burning the image to CD, I restarted my computer with the
primary booting option as the CD rather than the HD. I received the
following:

   1 FD 2.88 MB System Type (00)
PBS1...
Plan 9 from Bell Labs
ELCR: 0CA0
pcirouting: South bridge 8086, 2812 not found
no plan.ini
cpu0: 1862 MHz P6 loop 105279
apm ax=f000 cx=f000 dx=fdf7 di=0 ebx=801c esi=10041c
Boot devices: fd0
boot from:

I've checked the requirements and my PC seems to be in order there.

I did look around and the only possible problems I could find were
that maybe since I don't have Windows it was trying to look for the
FAT file (I'm strictly an only Linux user) in which case I do not have
VMWare and I'd be curious if there is a non-DOS ISO file that could
run on a Linux only system. The only other explanations that seemed
somewhat logical were that something went wrong in the pcirouting and
I missed something in the PC requirements listed on site or the ISO
file burned to my CD is faulty.

Thoughts?

-E



Re: [9fans] New User with Problems

2010-02-08 Thread Iruata Souza
On Mon, Feb 8, 2010 at 8:41 AM, Steve carrickfergu...@gmail.com wrote:
 I've been scouring the Interwebs and haven't been able to find much of
 a solution.

 Yesterday I decided to give P9 a try and burned the ISO file available
 on Plan 9's installation page here:
 http://plan9.bell-labs.com/wiki/plan9/download/index.html

 It was the direct link to the CD image so none of the other choices
 that are available below.

 After burning the image to CD, I restarted my computer with the
 primary booting option as the CD rather than the HD. I received the
 following:

   1 FD 2.88 MB System Type (00)
 PBS1...
 Plan 9 from Bell Labs
 ELCR: 0CA0
 pcirouting: South bridge 8086, 2812 not found
 no plan.ini
 cpu0: 1862 MHz P6 loop 105279
 apm ax=f000 cx=f000 dx=fdf7 di=0 ebx=801c esi=10041c
 Boot devices: fd0
 boot from:

 I've checked the requirements and my PC seems to be in order there.

 I did look around and the only possible problems I could find were
 that maybe since I don't have Windows it was trying to look for the
 FAT file (I'm strictly an only Linux user) in which case I do not have
 VMWare and I'd be curious if there is a non-DOS ISO file that could
 run on a Linux only system. The only other explanations that seemed
 somewhat logical were that something went wrong in the pcirouting and
 I missed something in the PC requirements listed on site or the ISO
 file burned to my CD is faulty.

 Thoughts?

 -E



the cd can't seem to find plan9.ini(8), the boot configuration file.
the boot from: prompt is 9load(8) (the bootloader) asking you for a
Plan 9 kernel to load, you may want to try fd0!dos!file where file may
be 9pcf.gz, 9pcflop.gz.

iru



[9fans] How to extend a fossil filesystem with a second disk?

2010-02-08 Thread Wolfgang Kunz
Hi,

I would like to add a second disk to my fossil configuration.

I would like to ask if this is possible without fs?

When it is possible I would like to ask for a sample. 

Here is what I was trying without success:

disk/mbr -m /386/mbr /dev/sdC1/data

disk/fdisk /dev/sdC1/data

disk/prep /dev/sdC1/plan9

fossil/flfmt /dev/sdC1/other

fossil/conf -w /dev/sdC0/fossil  EOF
fsys main config /dev/sdC0/fossil
fsys other config /dev/sdC1/other
fsys main open -V -c 3000
fsys other open -V -c 3000
EOF

I was not able to mount the 'other' fs to /n/other. 

Regards,
Wolfgang




Re: [9fans] How to extend a fossil filesystem with a second disk?

2010-02-08 Thread Steve Simon
 Here is what I was trying without success:
 [snip]

It looks right (from memory).

 I was not able to mount the 'other' fs to /n/other. 

how are you doing the mount, I would expect somthing like

mount /srv/fossil /n/other other

i.e. you mount fossil but with the attach specifier of other.

-Steve



Re: [9fans] NaN, +Inf, and -Inf, constants?

2010-02-08 Thread Lyndon Nerenberg (VE6BBM/VE7TFX)
 why does being able to switch on any enum trump
 the ability to define constants without #define?

Because enum's legacy is that of a 'first class' int-like
object, which can be subject to the usual set of int-like
operations. switch() is one of those. #define isn't.

 if you try, sizeof(foo)==4, but you'll need to remove
 'd' since you can't have a string.  you can't switch on
 a vlong or float.  would be nice, though.

Why not a string? If you can extend an enum to include floats,
why not an integer representation of a pointer?

And yes, I also think switching on vlongs would be useful.

 the plan 9 style is never to typedef or name enums.

It may not be the style for the Labs, but that's not the case for
everyone.  The compile time type checking named enums provide isn't
something I'd want to lose.

 if it were an error to name or typedef an enum
 containing non-int members, there would be no
 problem.

This could work. But I have to agree with Bakul: 'static const'
is a much better fit for the language.

--lyndon




Re: [9fans] New User with Problems

2010-02-08 Thread Jeff Sickel

On Feb 8, 2010, at 9:13 AM, David Leimbach wrote:

 If you try Erik's 9atom ISO, you may have better luck.  It'd be nice if the
 9load changes he made were already rolled up into the standard ISO, but I
 guess they haven't made it yet?

Steve,

Dave's suggestion could work.  Check the 9fans archive for the link to 
9atom.iso.gz.

In the install instructions there is mention of IDE/ATAPI drive settings that 
you might want to look through.  I recently had an issue where I too had to 
explicitly set the CD/DVD drive as a Secondary Master and then instead of:

boot from: sdC1!cdboot!9pcflop.gz

I used:

boot from: sdD1!cdboot!9pcflop.gz

After that the install went smoothly.

-jas




Re: [9fans] New User with Problems

2010-02-08 Thread Iruata Souza
On Mon, Feb 8, 2010 at 1:13 PM, David Leimbach leim...@gmail.com wrote:


 On Mon, Feb 8, 2010 at 6:34 AM, erik quanstrom quans...@labs.coraid.com
 wrote:

  I did look around and the only possible problems I could find were
  that maybe since I don't have Windows it was trying to look for the
  FAT file (I'm strictly an only Linux user) in which case I do not have
  VMWare and I'd be curious if there is a non-DOS ISO file that could
  run on a Linux only system. The only other explanations that seemed
  somewhat logical were that something went wrong in the pcirouting and
  I missed something in the PC requirements listed on site or the ISO
  file burned to my CD is faulty.
 
  Thoughts?

 i put a modified 9load on sources /n/sources/contrib/quanstro/9load
 perhaps you would be able to download it and put it in your 9fat
 partition with the distribution cd?

 if not or doesn't work, send the output of lspci off line.
 the main problem is that the distribution cd is not recognizing
 your pata/sata devices.

 - erik


 If you try Erik's 9atom ISO, you may have better luck.  It'd be nice if the
 9load changes he made were already rolled up into the standard ISO, but I
 guess they haven't made it yet?
 Also there's a project to boot plan 9 from plan 9 without 9load, but I've
 sort of lost track of where that is.  I believe it was showing signs of
 great success though :-)
 Dave


http://src.oitobits.net/9null may be what you've heard of. i managed
to boot kernels without 9load, but now it is somehow dog slow for
loading from hard disks (cds are ok). i'm working on fixing that this
week.

iru



Re: [9fans] NaN, +Inf, and -Inf, constants?

2010-02-08 Thread Russ Cox
we could spend a lot of time debating proposed
changes, but i think it's fine to leave as is.
there appears to be a good, justifiable reason
for it, and it's already implemented.

russ



Re: [9fans] In case anyone worries about block hash collision in venti

2010-02-08 Thread Georg Lehner

About a year ago i wrote a (kind of vapourware) backup system called Baccus,
based on content addressed storage. Most ideas are stolen from Plan9/venti,
but for the here discussed reasons i used the Salsa family of hashes 
from Dan

Bernstein:

http://cr.yp.to/chacha.html

Respectively the Rumba-compression:

http://cr.yp.to/rumba20.html

I combined hashing and encryption with Salsa/Rumba into one step.

The hash function in Baccus is pluggable, so the user could decide which to use
and would be able to upgrade to a stronger hash.

Maybe pluggability of the hash function would be a nice addition to venti
(if it is not there anyways).  Also Salsa should be considered a valuable 
addition
to Plan9.

Regards,

Jorge-León

P.S.: Here is the link to Baccus: http://wiki.tcl.tk/23064, but beware: it is 
in a bad
state and style.  Didn't have time to improve since then.  If you still want to 
look
at it, start with reading the CREDITS file.

PS2: You need at least eight rounds, else you get lots of hash-collisions.


Tim Newsham wrote:

1.  the sender can't control email headers.  many
transfer agents add a random transfer-id which
would confound this attack.


If you know the size of the transfer id, you can pad out
to the next full block size.


2.  if the rcpt uses mbox format, the sender can't
control how your message is fit into venti blocks.
the sender would need to control the entire
mail box.


I'm ignorant on this front.


3.  http://en.wikipedia.org/wiki/SHA_hash_functions
says that there have been no SHA1 collisions found.


IIUC there has been significant progress in attacking
all major hash functions and the cryptographic community
has low confidence in all major hash functions at the
moment.  Some hash algorithms have more serious attacks
than others, but once a few weaknesses are found its
usually an indication that the algorithm will fall soon.

Re: SHA1, it looks like the strenght has been whittled
down to around 2^52 operations:
http://www.schneier.com/blog/archives/2009/06/ever_better_cry.html

I'm not saying that there is a viable attack against
your SHA-indexed venti right now.  I'm saying that its
bunk to evaluate the storage system simply on how likely
it is for a random collision to occur.  The proper analysis
is how hard it is for a malicious attacker to cause a
collision now and in the near future.


- erik


Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com






[9fans] acid tools for tracking leaking fd's

2010-02-08 Thread Lyndon Nerenberg (VE6BBM/VE7TFX)
Has anyone cooked up some acid to track leaking file descriptors
(ala leak for memory)?

--lyndon




[9fans] porting Heirloom troff to plan9

2010-02-08 Thread Rudolf Sykora
Hello

Has anyone considered / tried to port the Heiroom version of troff?
Has anyone any comment about why doing so would be a bad idea?

Perhaps it would not be that difficult, or at least APE could be used.
(maybe G Ritter would know of some gotchas)

Thanks
Ruda



Re: [9fans] porting Heirloom troff to plan9

2010-02-08 Thread Lyndon Nerenberg (VE6BBM/VE7TFX)
 Has anyone considered / tried to port the Heiroom version of troff?
 Has anyone any comment about why doing so would be a bad idea?

No sense tossing the baby overboard. But it's worth examining the changes
the Heirloom folks have made to see what would make sense to backport. They've
certainly done some good work that deserves a look at least.

--lyndon




[9fans] tiny rio hack: Delete

2010-02-08 Thread Mathieu Lonjaret
Hello,

if you have been bitten one too many times by Delete on rio, here's one
quick fix:

diff -r 7aac02e8704e src/cmd/rio/grab.c
--- a/src/cmd/rio/grab.cSat Feb 06 22:16:46 2010 -0800
+++ b/src/cmd/rio/grab.cTue Feb 09 00:11:33 2010 +0100
@@ -142,7 +142,8 @@
else if(i  0 || i = n)
i = -1;
else
-   m-lasthit = i;
+   if(i != 3)
+   m-lasthit = i;
if(!nobuttons(ev.xbutton))
i = -1;
ungrab(ev.xbutton);

The way the button 3 menu works is the following: the entry selected
by default when you call the menu is the one that was used for the last
time. This change simply disables that behavior when the last operation
was Delete.

I did this because it has happened to me too often to select it by mistake
and to delete a window afterwards before I realized my mistake. I realize
this breaks the generic behavior, but on the other hand Delete is the
only operation that is not always easily reversible, so it didn't bother
me that much to make an exception for this one in the end.

Cheers,
Mathieu

P.S: tested only on p9p, I haven't checked on plan 9. I can do it if
anyone's interested.




Re: [9fans] In case anyone worries about block hash collision in venti

2010-02-08 Thread Nathaniel W Filardo
On Sun, Feb 07, 2010 at 10:08:39PM +, matt wrote:
 not only has someone got to find a collision during a tiny timeframe,  
 they also have to fit it in 8k

MD5 collisions can, apparently, be constructed in 24 hours on a laptop these
days.  Yes, it's a constraint, but.

Venti supports larger blocks than 8K, and even if it didn't, the exhibited
MD5 collisions to date are short strings and would fit.  Working with larger
data feels like it would be unlikely to be advantageous to the collision
search -- 8K is much more than 20 bytes, and so there should be plenty of
pidgeons to cram into holes.

In any case, I fear that the point has been lost in details.  Something
about forests and trees.  So:

The point was not to say that you shouldn't be using venti; it's a lovely
idea and the code does its job somewhat well, bugs aside.  The point was to
object to the kind of analysis which postulates that you need to store 2^98
blocks with a 256 bit hash (or 2^50 for 160-bit hashes) before collisions
start be meaningful.

If you're storing iid uniformly-selected-at-random blocks of iid uniform
noise then yes, that's true, but you're not and besides the instantiation of
the random oracle model you're using (SHA-1) isn't perfect.  As such, we
should expect to see collisions after many fewer blocks stored -- strictly,
the iid uniform-at-random selection criterion yields an upper bound.

One way to demonstrate this upper-bound nature is to exhibit work on hash
collisions and the reduction in estimated security margins.  To take an
extreme case, the Fletcher checksum or your favorite CRC polynomial can be
extended to be perfectly valid 160 bit hash, but the lack of cryptographic
security makes it laughably easy to collide blocks.  Surely you'd be dubious
of a Venti where I replaced SHA-1 with such an extended Fletcher?  (It'd be
faster, too!)  Why?  Selection of blocks iid uniformly-at-random should mean
that it will take exactly as many blocks as before, before you see a
problem...  SHA-1 is not laughably easy to break by any stretch of the
imagination, but it also isn't the impossibly hard you'd get in the random
oracle model either.

(While nitpicking about the analysis, I feel compelled to add that hardware
uncorrectable bitflips are still reported as erasures, whereas venti
collisions are reported as success and only caught if somebody's doing
checksumming at larger granularity.  So at least in the one case you know
you're in trouble.  Collisions in venti act as if the disk corrupted so many
bits that we move into the correctable region for a different codeword.)

--nwf;


pgpKRQORZwz0C.pgp
Description: PGP signature


Re: [9fans] acid tools for tracking leaking fd's

2010-02-08 Thread Russ Cox
On Mon, Feb 8, 2010 at 2:14 PM, Lyndon Nerenberg (VE6BBM/VE7TFX)
lyn...@orthanc.ca wrote:
 Has anyone cooked up some acid to track leaking file descriptors
 (ala leak for memory)?

cat /proc/$pid/fd

Russ



Re: [9fans] tiny rio hack: Delete

2010-02-08 Thread michael block
 [...] it has happened to me too often to select [delete] by mistake
 and to delete a window afterwards before I realized my mistake.

there is a patch on sources that allows you to change rio's linear menus
into pie menus. this allows you to associate the desired action with a
mouse gesture rather than requiring you to either remember the menu state
or to always look carefully at what you're doing. since i began using pie
menus with rio, my rate of absent-minded window loss has sharply dropped


satisfaction guaranteed. and thank you to whoever wrote the patch



Re: [9fans] acid tools for tracking leaking fd's

2010-02-08 Thread Lyndon Nerenberg (VE6BBM/VE7TFX)
 cat /proc/$pid/fd

I already know the bloody thing is open :-P

I just wondered if someone had come up with some glue to intercept
open()/close()/dup()/etc and track the fd's in an acid list, or
something similar.




[9fans] Plan 9 on Xen 3.2.1 / 32-bit PAE Kernel / 64-bit Hypervisor

2010-02-08 Thread Kenneth L Van Alstyne
Just curious if anyone has any experience running Plan 9 under Xen with a
64-bit hypervisor?  It's my understanding that the PAE kernel should work,
but upon creation of the DomU, the machine quickly panics.  Example output
is below:

wired:~# xm create -c /home/kvanals/plan9/boot.conf
Using config file /home/kvanals/plan9/boot.conf.
Started domain plan9.kvanals.org

Plan 9
127 holes free
0018b000 00dba000 12775424
12775424 bytes free
cpu0: 2792MHz AuthenticAMD AMD64 (cpuid: AX 0x20F51 DX 0x78BFBFF)
panic: xenupdatema - pte 80185010 value 269a5027
panic: xenupdatema - pte 80185010 value 269a5027
dumpstack
ktrace /kernel/path 8001444a 80002e2c EOF
estackx 80003000
80002dcc=8001428b 80002dd8=80040514 80002ddc=8006b902 80002de4=8006b963
80002df0=80072b4a 80002e00=8004065b 80002e10=8006cef8 80002e14=8001444a
80002e28=8001444a 80002e2c=8001428f 80002e34=80040a81 80002e48=8006a91a
80002e84=8007380a 80002e90=80074682 80002ea4=80073a82 80002ed0=8006cf37
80002ed4=8006a91a 80002edc=80072b4a 80002ef0=8007 80002ef4=80070044
80002f00=8006cef8 80002f0c=8006cef8 80002f10=80070276 80002f18=8007055a
80002f24=8006a91a 80002f38=80070661 80002f44=8006c3e7 80002f60=8006ca30
80002f8c=80011cc0 80002fac=80011be5 80002fb8=80012208 80002fc4=80012254
80002fe4= 80002fe8=801c6ff8 80002fec=80010a37 80002ff0=800b209f
80002ff4= 80002ff8=8001001f 80002ffc=
EOF
cpu0: exiting
cpu0: spurious interrupt 102, last 0
cpu0: spurious interrupt 102, last 0
cpu0: spurious interrupt 102, last 0
cpu0: spurious interrupt 102, last 0
cpu0: spurious interrupt 102, last 0
cpu0: spurious interrupt 102, last 0
cpu0: spurious interrupt 102, last 0
...

Thanks ahead of time for any assistance anyone is able to provide.

Thanks,
Kenny





Re: [9fans] acid tools for tracking leaking fd's

2010-02-08 Thread Federico G. Benavento
setfdtag(getcallerpc(s))?

On Mon, Feb 8, 2010 at 11:04 PM, Lyndon Nerenberg (VE6BBM/VE7TFX)
lyn...@orthanc.ca wrote:
 cat /proc/$pid/fd

 I already know the bloody thing is open :-P

 I just wondered if someone had come up with some glue to intercept
 open()/close()/dup()/etc and track the fd's in an acid list, or
 something similar.






-- 
Federico G. Benavento



[9fans] walk and find again

2010-02-08 Thread Georg Lehner
walk, find, locate and friends try to cope with exploring filesystem 
metadata at breadth
and length effectively, efficiently and with controlled time/space 
consumption.


Proposal: walkfs(4) (or finds, or indexfs, or sphinx, or ...)

walkfs serves a filesystem tree similar to network devices.  A 'clone' 
file is used to create new connection to the metadata database.  Each 
connection subdirectory contains the following files (and maybe more):

root, data, ctl, size, count, stat, metadata.

Writing a string subdir to the 'root' file (re)starts a walk through 
the designated
subdirectory. Each read from the 'data' file returns the next path 
found. EOF indicates

that the walk has terminated.

Query constraints and walking indications can be written to the 'ctl' 
files as

attribute=value pairs.  Example:
user=glenda traversal=depth depth=3 type=file mode=u=r.
The ctl message mode=sync indicates that the walker thread writing to 
the data file
and the reading process synchornize on each found path.  The message 
mode=async allows the walker thread to run ahead of the reader.  The 
message
mode=stat does not write any found path to the data file, but just 
updates size and

count (see below).

The stat file indicates the current status of traversal. If it is eof 
the count file holds
the number of found files and the stat size file holds the total size in 
bytes of all found files. While in traversal (stat is walking) the 
size and count files hold the totals up to the moment.


The metadata file holds the metadata corresponding to the current path 
in 'data' in
attribute=value format.  If walkfs has been called with a cache 
options, writing a path inside root to data, sets the metadata to the 
respective values.


walkfs options:
-c size  indicates the size of  the memory buffer or cache to be 
used by walkfs
-p path filename of a persistent cache/metadata database.  When 
walkfs is started
   with -p information may be outdated,  ctl messages are 
used to update the

   metadata database
-s channel
   a fileserver can write update messages to channel, when 
changing
   metadata of the filesystem it serves. walkfs then 
updates its metadata

   database.

One usage scenario of walkfs is to implement find, du, walk, rdup and 
the like.
Another usage schenario of walkfs, with the -s option, is to add file 
indexing to a

fileserver.

Regards,

   Jorge-León




Re: [9fans] How to extend a fossil filesystem with a second disk?

2010-02-08 Thread Wolfgang Kunz
Your sample:

mount /srv/fossil /n/other other 

works fine.

There was a typo error in my mount command. 

Many thanks for your help!

-Wolfgang

On Mon, 08 Feb 2010 13:34:06 +0100 Steve Simon st...@quintile.net 
wrote:
 Here is what I was trying without success:
 [snip]

It looks right (from memory).

 I was not able to mount the 'other' fs to /n/other. 

how are you doing the mount, I would expect somthing like

   mount /srv/fossil /n/other other

i.e. you mount fossil but with the attach specifier of other.

-Steve