[9fans] New User with Problems
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
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?
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?
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?
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
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
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?
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
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
Has anyone cooked up some acid to track leaking file descriptors (ala leak for memory)? --lyndon
[9fans] porting Heirloom troff to plan9
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
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
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
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
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
[...] 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
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
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
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
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?
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