2008-08-07 05:07 -!- tux3bot(~tux3bot@yzf.shapor.com) has joined #tux3 2008-08-07 05:56 http://web.archive.org/web/20060904185736/http://www.complang.tuwien.ac.at/anton/lfs/ 2008-08-07 05:57 similar thought process on versioning 2008-08-07 06:56 wow- that's pretty cool. 2008-08-07 06:57 very similar method of managing free space 2008-08-07 07:01 -!- pgquiles(~pgquiles@224.Red-81-39-154.dynamicIP.rima-tde.net) has joined #tux3 2008-08-07 09:23 more purdy: http://shapor.com/tux3/ 2008-08-07 09:50 bitchin' 2008-08-07 09:58 that really looks nice shapor 2008-08-07 09:58 is this now the "official site" or the mirror site? 2008-08-07 09:59 and wtf on zumastor? 2008-08-07 10:07 wtf? 2008-08-07 10:11 wtf wtf i mean 2008-08-07 10:11 :-0 2008-08-07 10:12 i'm thinking of organizing daniels mailing list posts in to a design document 2008-08-07 10:12 morning 2008-08-07 10:16 morning flips 2008-08-07 10:28 shapor, that would be most wonderful 2008-08-07 10:29 u guys heard of MogileFS? 2008-08-07 10:29 http://www.danga.com/mogilefs/ 2008-08-07 10:29 never 2008-08-07 10:29 its a selfish effort, to absorb it all ;) 2008-08-07 10:29 distributed fs that allows you to run any type of fs locally 2008-08-07 10:30 Application level -- no special kernel modules required. 2008-08-07 10:30 veoh networks uses it. was developed for live journal 2008-08-07 10:30 sounds like not a filesystem really 2008-08-07 10:30 actually sounds a lot like google's gfs 2008-08-07 10:31 MogileFS is not: 2008-08-07 10:31 * POSIX Compliant 2008-08-07 10:31 kerneltrap picked up the matt dillon dialogue 2008-08-07 10:31 so yeah, much like google's gfs, not a real filesystem ;) 2008-08-07 10:31 useful thing maybe though 2008-08-07 10:32 who knows 2008-08-07 10:32 cloud? 2008-08-07 10:32 its vrey useful that its open source 2008-08-07 10:32 yeah, saw the *not* posix note 2008-08-07 10:32 like hadoop and memcached 2008-08-07 10:32 nice tools for building clusters for specific applications 2008-08-07 10:33 web 2.0 stuff 2008-08-07 10:33 speaking of which 2008-08-07 10:33 danga = livejournal guy 2008-08-07 10:33 someone at a startup i was talking to yesterday 2008-08-07 10:33 is running redhat's gfs 2008-08-07 10:33 heh 2008-08-07 10:33 fun? 2008-08-07 10:33 in a backend cluster 2008-08-07 10:33 and it keeps crashing 2008-08-07 10:33 when load gets high 2008-08-07 10:33 cascading failure 2008-08-07 10:33 all nodes die 2008-08-07 10:33 never woulda thunkit 2008-08-07 10:34 i'm lurking on the hadoop irc now 2008-08-07 10:34 that's how i heard of mogilefs 2008-08-07 10:35 the lfs article is a good read 2008-08-07 10:35 thinking way back, it was _really_ dumb of me to try to put the free space bitmaps inside the snapshot 2008-08-07 10:36 nobody questioned it at the time 2008-08-07 10:36 good thing you can question your own work, huh? 2008-08-07 10:37 if you live long enough 2008-08-07 10:37 I'm thinking about that because the lfs guy seems to be busy making the same mistake 2008-08-07 10:38 "At each snapshot we have a set of free blocks (and complementary, a set of allocated blocks) for the files reachable through this snapshot." 2008-08-07 10:39 btrfs uses per-block refcounts for that (ouch) and zfs uses dead block lists (complexity and weirdness) 2008-08-07 10:39 tux3 just has a conventional allocator and can figure out what blocks can actually be freed by looking at its version information 2008-08-07 10:40 this is a huge advantage to keeping all the version information for a given block together in one place 2008-08-07 10:40 flips: i found that site linked off comments on lwn from last year 2008-08-07 10:40 related to zumastor i think 2008-08-07 10:40 ah 2008-08-07 10:41 http://lwn.net/Articles/170346/ 2008-08-07 10:41 hm thats not the one 2008-08-07 10:42 http://lwn.net/Articles/239369/ 2008-08-07 10:42 that one 2008-08-07 10:42 ah yeah stumbled across it reading about gplv3 2008-08-07 10:43 that comment is not very accurate re wafl 2008-08-07 10:44 I like linus's comment 2008-08-07 10:44 "Umm. You are making the fundamental mistake of thinking that Sun is in 2008-08-07 10:44 this to actually further some open-source agenda." 2008-08-07 10:46 remember scott mcneally wearing the penguin suit? 2008-08-07 10:51 lol that was a long time ago 2008-08-07 10:51 seems like only yestaday 2008-08-07 10:55 see "Free-space management and clones" in http://www.complang.tuwien.ac.at/anton/lfs/ and you will see diagrams much like versioned pointers 2008-08-07 10:55 yes! 2008-08-07 10:56 but he didn't go on to realize you could actually represent the version data that way 2008-08-07 10:56 only has rather similar freeable block algorithm 2008-08-07 10:57 also, you don't need .killed, on .born 2008-08-07 10:57 only .born 2008-08-07 10:57 you should email him 2008-08-07 10:57 invite him to the list 2008-08-07 10:57 sure 2008-08-07 10:57 he is a professor i believe 2008-08-07 10:57 he was talking about potentialy putting some students on lfs 2008-08-07 10:57 might be useful for tux3 2008-08-07 10:58 very pretty site shapor 2008-08-07 10:58 hand coded html? 2008-08-07 10:58 looks like you speak his language 2008-08-07 10:58 I think so 2008-08-07 10:58 yes I will email 2008-08-07 10:58 fartenpoopenspakenziepissin 2008-08-07 10:58 :-) 2008-08-07 10:58 genau 2008-08-07 10:59 yes hand coded html 2008-08-07 10:59 looked like crap until i added the css 2008-08-07 10:59 its very simple just 1996-ish h1, h2, and li tags 2008-08-07 10:59 I have issues with this post http://www.complang.tuwien.ac.at/anton/memory-wall.html 2008-08-07 11:00 I think its a few years old 2008-08-07 11:01 there's no such thing as an infinitely fast CPU 2008-08-07 11:52 mind if I plagiarize your html? 2008-08-07 11:53 tim_dimm, what about the disk wall? 2008-08-07 11:53 or more properly, disk chasm 2008-08-07 12:08 disk wall? you mean wall-o-disk ? 2008-08-07 12:09 the big leap? the humongoid gap? 2008-08-07 12:49 was playing lego indiana jones last night, why I thought about chasms 2008-08-07 13:32 why: 2008-08-07 13:33 -if (!tuxread(&sb, 6, buf, 11)) 2008-08-07 13:33 +if (tuxread(&sb, 6, buf, 11)) 2008-08-07 13:34 wow 711 diggs! 2008-08-07 13:36 "But will Tux3 be the ReiserFS killer?" 2008-08-07 13:36 "The ReiserFS murderer" 2008-08-07 13:36 lol 2008-08-07 13:37 "Are you saying that Tux3 will be made from the blood, sweat and horror filled tears of the developers Wives..........probably :P" 2008-08-07 13:37 http://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices <- this is really helping me think about lvm3 2008-08-07 13:37 url? 2008-08-07 13:37 linked from http://shapor.com/tux3/ 2008-08-07 13:37 the "digg" link at the bottom 2008-08-07 13:38 ah, I looked at that line lots of times without noticing the digg link 2008-08-07 13:39 the reiser jokes seem to keep the conversation going 2008-08-07 13:39 70 comments 2008-08-07 13:39 http://oss.oracle.com/projects/btrfs/dist/documentation/btrfs-volumes.html <- actually, this is the interesting one 2008-08-07 13:39 most of the good ones re "below the threshold" 2008-08-07 13:39 heh 2008-08-07 13:44 wow. css is a completely different syntax than html/xml 2008-08-07 13:48 yes it is metadata for the html to use 2008-08-07 13:48 the one i put up is in no way minimalistic 2008-08-07 13:49 it is originally from doxygen 2008-08-07 13:49 so it has lots of crap in it 2008-08-07 13:49 could be trimmed down to 10 lines to do the same thing 2008-08-07 13:54 mistake in your html 2008-08-07 13:55 2008-08-07 13:55 looking forward to the 10 line version 2008-08-07 13:56 i wasn't planning on making it 10 lines 2008-08-07 13:57 its also probably not w3c compliant 2008-08-07 13:58 http://validator.w3.org/check?uri=http%3A%2F%2Fshapor.com%2Ftux3 2008-08-07 14:01 flips: i just quickly pulled all the css out for classes 2008-08-07 14:01 since i dont set any, they never get used 2008-08-07 14:01 so it is equivalent 2008-08-07 14:09 created a mercurial tree for tux3 kernel 2008-08-07 14:17 linus knocked us off the top of the lkml.org hot list with his 2.6.27-rc2 announcement 2008-08-07 14:17 now #2 2008-08-07 14:33 heh 2008-08-07 15:17 only 2008-08-07 15:17 only #? 2008-08-07 15:17 wtf good is that? 2008-08-07 15:17 ;-) 2008-08-07 15:49 flips: bitbucket has a wiki feature, its a nicer way of storing notes/links than editing html 2008-08-07 15:49 best part is, its all tracked in a mercurial repo 2008-08-07 15:49 http://www.bitbucket.org/shapor/tux3/wiki/OtherFilesystems 2008-08-07 15:50 where can I download the source? 2008-08-07 15:50 http://www.wikicreole.org/ i think 2008-08-07 15:51 although i'm not sure what they are using to integrate with hg 2008-08-07 15:54 sudo apt-get install ikiwiki 2008-08-07 15:55 I like this: http://www.selenic.com/mercurial/wiki/ 2008-08-07 15:55 oh neat 2008-08-07 15:55 yeah thats better than using some 3rd party thing 2008-08-07 15:56 little more work to setup though 2008-08-07 15:56 no doubt 2008-08-07 15:56 there was also one with an issue tracker somewhere 2008-08-07 15:57 people seem to be using rcs as a data backend for more and more things these days 2008-08-07 15:57 it just makes sense 2008-08-07 15:58 however it is quite slow 2008-08-07 15:58 http://moinmoin.wikiwikiweb.de/MoinMoin 500 - Internal Server Error 2008-08-07 16:05 http://www.mantisbt.org/bugs/view_all_bug_page.php 2008-08-07 16:10 http://moinmo.in/ <- works 2008-08-07 16:13 tim_dimm, want to try the dcc again? 2008-08-07 16:13 I keep failing to notice the popup 2008-08-07 16:13 not that xchat dcc has ever worked for me 2008-08-07 16:13 hm 2008-08-07 16:13 call me then 2008-08-07 16:13 something abourt nat and xchat being lame 2008-08-07 16:57 -!- MaZe(~MaZe@64.173.151.3) has joined #tux3 2008-08-07 16:59 http://www.physorg.com/news137325794.html 2008-08-07 17:13 hey maze 2008-08-07 17:13 ok, let's consider a serious issue: how to get people to send us beer 2008-08-07 17:13 I'll put a link on the tux3.org page when we figure out what the link should say 2008-08-07 17:17 http://tux3.org/ <- send beer here 2008-08-07 17:33 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-07 17:52 struct btree_ops { 2008-08-07 17:52 int (*leaf_verify)(SB, void *leaf); 2008-08-07 17:52 }; 2008-08-07 17:52 struct btree_ops ftree_ops = { 2008-08-07 17:52 .leaf_verify = leaf_verify, 2008-08-07 17:52 }; 2008-08-07 17:53 btree.c on its way to crappy-c-style object oriented 2008-08-07 18:06 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-07 18:37 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-07 19:13 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-07 21:44 shapor, a starting point: http://tux3.org/design.html 2008-08-07 22:11 oh thats nice 2008-08-07 22:12 i'm going to be pretty busy the next couple days, probably wont get a chance to do much until sunday 2008-08-07 22:13 docs should go in vcs too though 2008-08-07 22:15 flips: http://lwn.net/Articles/234441/ 2008-08-07 22:16 mentions "versioned pointers" 2008-08-07 22:16 only to the root inode 2008-08-07 22:16 that was one of the few pre-existing hits on versioned pointers before my post 2008-08-07 22:17 now 10 out of first 10 google hits point at me and/or tux3 2008-08-07 22:18 hit number 22 is finally on some msft concept 2008-08-07 22:19 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-07 22:20 there are a lot of similarities coming from the logfs people 2008-08-07 22:20 but basically they are another tree versioned concept 2008-08-07 22:20 hamer is closer 2008-08-07 22:20 hammer 2008-08-07 22:20 see the beer link yet? 2008-08-07 22:20 i did 2008-08-07 22:20 so far no beer 2008-08-07 22:21 heheh 2008-08-07 22:21 nice 2008-08-07 22:21 yeah i saw it too ;) 2008-08-07 22:21 flips: only because you can't email beer ;) 2008-08-07 22:21 I don't have any beer here, only... 2008-08-07 22:21 Results 1 - 10 of about 308,000 for tux3. 2008-08-07 22:21 if only you could 2008-08-07 22:21 flips: i gave you one the other day!! 2008-08-07 22:21 I'm still subsisting on ramback beer 2008-08-07 22:21 so i'm the first beer contributor 2008-08-07 22:21 :-) 2008-08-07 22:21 true 2008-08-07 22:22 and what does that make me? 2008-08-07 22:22 although i think that may have hindered more than it helped ;) 2008-08-07 22:22 a contributor 2008-08-07 22:22 to juvenile delinquency 2008-08-07 22:22 I was pretty useless that night 2008-08-07 22:22 crashed just in front of my door 2008-08-07 22:22 good beer :-D 2008-08-07 22:22 hung out on 3rd st on the way back 2008-08-07 22:22 that was great 2008-08-07 22:22 hehe 2008-08-07 22:23 shapor, you caused me to almost break my wrist. you know that, right/ 2008-08-07 22:23 ? 2008-08-07 22:23 ACTION is a bad influence 2008-08-07 22:23 showing off for drunks 2008-08-07 22:23 that's not right 2008-08-07 22:23 juvenile delinquency is a bad influence on us respectable citizens 2008-08-07 22:25 "It's good that we have projects like this I think. Sun and ZFS really need some competition, and maybe soon we'll have no need to envy ZFS." 2008-08-07 22:25 on the zfs list? 2008-08-07 22:25 "do you have ZFS envy" -> tux3.org poll question 2008-08-07 22:26 nice 2008-08-07 22:26 nice hook 2008-08-07 22:26 tuxopen(&sb, 123, buf, sizeof(buf), 0); 2008-08-07 22:27 Segmentation fault 2008-08-07 22:28 left out the init_buffers and tux3_init 2008-08-07 22:28 new node 2008-08-07 22:28 new leaf blocksize = 4096 2008-08-07 22:28 root at 1 2008-08-07 22:28 leaf at 2 2008-08-07 22:28 Thu Aug 7 22:28:01 2008: [10463] probe: Failed assertion "(ops->leaf_sniff)(sb, buffer->data)" 2008-08-07 22:28 http://www.scdsource.com/article.php?id=296 2008-08-07 22:28 Trace/breakpoint trap 2008-08-07 22:29 Looks like sicortex interconnect design 2008-08-07 22:29 somebody should push forward the i/o pin tech 2008-08-07 22:30 would not be that hard 2008-08-07 22:30 3D stacking for pins 2008-08-07 22:30 micro pins 2008-08-07 22:30 get way more that way 2008-08-07 22:30 actually, 3D switches with pins on the ends of the switches 2008-08-07 22:31 pin->switch->pin 2008-08-07 22:31 you know pins are currently .1 mm right? how stupid is that? 2008-08-07 22:31 ball pens 2008-08-07 22:31 they could easily be 1 um 2008-08-07 22:31 yeah, its a problem for the memory channel too 2008-08-07 22:31 problem isn't so much the pin, its the link 2008-08-07 22:31 on the mobo 2008-08-07 22:31 problem for most packages 2008-08-07 22:32 tim_dimm: from http://www.linux.com/feed/142781 comments 2008-08-07 22:32 idiotic that it hasn't been fixed reasonably 2008-08-07 22:32 nano-technology to the rescue 2008-08-07 22:33 "slew-rate requirements" 2008-08-07 22:33 data skew 2008-08-07 22:34 flips: wheres tuxopen ? 2008-08-07 22:34 not checked in yet 2008-08-07 22:34 pukes 2008-08-07 22:34 ah thats why its hard to find 2008-08-07 22:34 coming in about .5 hr, depending on whether I get into another ramback beer or not 2008-08-07 22:35 will that make it take more or less time? ;) 2008-08-07 22:35 more 2008-08-07 22:35 you found the fleaf bug yet? 2008-08-07 22:36 i haven't had a chance to look yet 2008-08-07 22:36 busy with work all day 2008-08-07 22:36 that's sick 2008-08-07 22:36 well some of us have day jobs! 2008-08-07 22:36 :P 2008-08-07 22:40 new leaf blocksize = 4096 2008-08-07 22:40 root at 1 2008-08-07 22:40 leaf at 2 2008-08-07 22:40 inode at 123 2008-08-07 22:40 Thu Aug 7 22:39:52 2008: [10543] ileaf_lookup: Failed assertion "at < leaf->count" 2008-08-07 22:43 pardon my noobness- what does assert do? 2008-08-07 22:45 similar to what it means in english 2008-08-07 22:45 "abort if this is not true" 2008-08-07 22:46 just figured that out 2008-08-07 22:46 http://www.cplusplus.com/reference/clibrary/cassert/assert.html 2008-08-07 22:46 me learn to use the google 2008-08-07 22:46 teh google 2008-08-07 22:46 yeah, the correct answer is http://www.justfuckinggoogleit.com/ 2008-08-07 22:47 but its not very nice to send that link 2008-08-07 22:47 :P 2008-08-07 22:51 teh goggles 2008-08-07 22:53 beer goggles' 2008-08-07 22:55 lookup inode 123, 0 + 123 2008-08-07 22:55 0 inodes, 4084 free: 2008-08-07 22:55 release buffer for 1 2008-08-07 22:55 release buffer for 2 2008-08-07 22:55 Thu Aug 7 22:54:52 2008: [10710] tuxopen: no inode 123 2008-08-07 22:55 good 2008-08-07 22:55 now to set the create flag and create the inode 2008-08-07 22:58 I know you guys are going to be at it until the wee hrs 2008-08-07 22:58 whowever wrote the ddsnap warn macro needs to be hurt 2008-08-07 22:58 not me 2008-08-07 22:58 wasn't I 2008-08-07 22:58 gotta recover 2008-08-07 22:58 I've been getting up at 6am for contractors all week 2008-08-07 23:00 <-crashing 2008-08-07 23:00 ttyl 2008-08-07 23:02 creating the inode requires abstracting add_extent_to_tree to also be able to add an inode 2008-08-07 23:03 starting with renaming as add_entity_to_tree 2008-08-07 23:33 flips: not my bug :) 2008-08-07 23:34 ACTION does a happy dance 2008-08-07 23:36 :-) 2008-08-07 23:36 mine? 2008-08-07 23:39 actually, maybe mine 2008-08-07 23:39 you've got mail :) 2008-08-07 23:40 that was about 30 minutes of debugging 2008-08-07 23:41 most of which was just isolating the issue 2008-08-07 23:42 we should put a test in the main which tests all the boundary conditions 2008-08-07 23:42 good call on grouplim = 7 2008-08-07 23:42 would have taken us a lot longer to hit this otherwise 2008-08-07 23:43 yes 2008-08-07 23:43 use the same trick as I did in btree.c, redefine main as notmain, include in another file and go crazy 2008-08-07 23:44 there's a lot to be said for having a very simple single file sanity test as now, at this point 2008-08-07 23:44 when i have more time 2008-08-07 23:44 i can rest now knowing that one is fixed 2008-08-07 23:44 there's everntually going to be a generic fuzztester for all leaf methods 2008-08-07 23:44 i dont want to discover 5 more which require 30 min of debugging each ;) 2008-08-07 23:45 but knowledge of the specific boundary condiditions means you can write a better single purpose test 2008-08-07 23:45 not tonight anyway 2008-08-07 23:46 nice fix 2008-08-07 23:46 did that used to read entry == entries 2008-08-07 23:47 i think i might have changed it to !group->count when i added splitting 2008-08-07 23:47 i remember poking it before, might have just been in testing 2008-08-07 23:48 how do i go back to an old rev in hg 2008-08-07 23:48 test now succeeds indeed 2008-08-07 23:48 hg co 2008-08-07 23:49 woo 2008-08-07 23:49 unsigned limit = !group->count || entry == entries ? 0 : (entry + 1)->limit; 2008-08-07 23:49 *entry = (struct entry){ .loglo = loglo, .limit = limit }; 2008-08-07 23:58 yeah, see anything wrong? 2008-08-07 23:58 lgtm 2008-08-07 23:59 if you're worried about limit=0, don't be, you go through and increment all the limits by 1 starting at entry*