2008-08-27 00:42 shapor, once it mounts then people will pile on 2008-08-27 00:42 people are already interested 2008-08-27 00:42 but interested lazy people who do not want to help get it to the point of mounting are uninteresting 2008-08-27 00:49 indeed 2008-08-27 00:49 flipz, just read your post a couple times, looking at the ext2 along side 2008-08-27 00:50 annoying on this 1024x768 laptop display 2008-08-27 00:50 a phone? 2008-08-27 00:50 inode.c is still pretty braindamaged 2008-08-27 00:51 does not yet implement the code in the post 2008-08-27 00:51 last checkin was 26 hours ago :( 2008-08-27 00:51 oops 2008-08-27 00:51 forgot to pull 2008-08-27 00:53 also your post didnt get recogized as a response to the previous one 2008-08-27 00:53 it wasn't 2008-08-27 00:53 should have been 2008-08-27 00:54 ah 2008-08-27 00:54 saw that it started with "Re:" 2008-08-27 00:54 why would you do that? 2008-08-27 00:55 pulled 2008-08-27 00:55 distracted 2008-08-27 00:55 most probably I did reply 2008-08-27 00:55 and something messed up 2008-08-27 00:56 that's why good archivers have "probably in reply to" 2008-08-27 00:56 no the in-reply to header wasn't there 2008-08-27 00:56 you can make it all better by incorporing them into design.html ;-) 2008-08-27 00:57 yes 2008-08-27 00:57 got the subject line from somewhere 2008-08-27 00:57 did not type it in by hand 2008-08-27 00:57 therefore something screwed up 2008-08-27 00:57 it is quite hard actually 2008-08-27 00:57 much harder than coding 2008-08-27 00:57 cutting and pasting? 2008-08-27 00:58 in a cohesive fashion, yes 2008-08-27 00:58 or thinking clearly when faced with a bunch of fuzzy rambling design notes? 2008-08-27 00:58 :) 2008-08-27 00:58 thinking hurts my head too 2008-08-27 00:58 try to avoid it whenever possible 2008-08-27 00:59 getting that all together would take a whole day of sitting down with it all really 2008-08-27 00:59 dont have the time right now :( 2008-08-27 01:00 don't get it all together then 2008-08-27 01:00 just get one piece of it together 2008-08-27 01:00 yeah 2008-08-27 01:00 the koreans have a saying: starting is half 2008-08-27 01:00 heh 2008-08-27 01:00 since the koreans are the masters of lazy, it is important for them to have their motivators all lined up in a row 2008-08-27 01:11 there, another commit 2008-08-27 01:11 send html ;-) 2008-08-27 01:31 heh 2008-08-27 01:37 ah, I just realized why the inum allocation goal keeps changing 2008-08-27 01:37 because I decided to make it the same as the block allocation goal 2008-08-27 01:37 for now 2008-08-27 01:38 probably not going to stay that way 2008-08-27 01:38 but it is ok to start with 2008-08-27 01:38 planned that carefullly then forgot I did it ;-) 2008-08-27 01:38 needs a comment 2008-08-27 01:45 /* 2008-08-27 01:45 * For now the inum allocation goal is the same as the block allocation 2008-08-27 01:45 * goal. This gives us a maximum inum density of one per block and 2008-08-27 01:46 * should give pretty good spacial correlation between inode table blocks 2008-08-27 01:46 * and file data belonging to those inodes provided somebody sets the 2008-08-27 01:46 * block allocation goal based on the directory the file will be created. 2008-08-27 01:46 */ 2008-08-27 01:46 will be in I mean 2008-08-27 02:47 flipz: http://shapor.com/tux3/shapor-tux3/doc/design.html 2008-08-27 02:47 wee 2008-08-27 02:47 i've started dropping the pieces in the original post 2008-08-27 02:47 ooh, pretty 2008-08-27 02:48 growing in to a real doc 2008-08-27 02:48 should we check it into the repo yet? 2008-08-27 02:48 no, needs a lot more work, an hour ago it was just the 2008-July.txt mailing list archive from your mailman 2008-08-27 02:49 -!- jennyf(~jennyf@ANantes-257-1-135-233.w90-32.abo.wanadoo.fr) has joined #tux3 2008-08-27 02:49 although, it is the only copy 2008-08-27 02:49 hi jennyf 2008-08-27 02:49 there is this too: http://tux3.org/design.html 2008-08-27 02:49 yeah i looked at that 2008-08-27 02:50 mostly rubbish? 2008-08-27 02:50 is it anything more than html-ized lkml post? 2008-08-27 02:50 microscopically more 2008-08-27 02:50 didn't look like it was 2008-08-27 02:50 hm 2008-08-27 02:50 there are a few bits 2008-08-27 02:51 worth not killing 2008-08-27 02:51 i've only done minor editing, removing list like "i forgot to mention this in my original post:" 2008-08-27 02:51 the phtree part 2008-08-27 02:51 ok 2008-08-27 02:51 just keep posting to the list and i'll extract 2008-08-27 02:51 ;) 2008-08-27 02:51 "new user interfaces" 2008-08-27 02:52 other things like inode attributes have been completely superceded I think 2008-08-27 02:52 should not take too long to snarf the few bits that aren't treated better elsewhere 2008-08-27 02:53 I think it's just the two I mentioned 2008-08-27 02:53 ok 2008-08-27 02:54 actually, maybe i will make a commit with that in it 2008-08-27 02:54 simply because its my only copy 2008-08-27 02:54 want to pull it in? 2008-08-27 02:54 sure 2008-08-27 02:54 just say when 2008-08-27 02:55 one quick scan for things that jump out and rip out your eyeballs 2008-08-27 02:55 committed 2008-08-27 02:55 ACTION looks for the pull address 2008-08-27 02:57 hg view is a godsend for this process 2008-08-27 02:57 I wish it didn't use such an ugly widget set though 2008-08-27 03:01 still haven't seen it 2008-08-27 03:01 oh btw 2008-08-27 03:01 i had the first hg fail today 2008-08-27 03:01 my inbox got spammed with cron failures, trying to pull from you was failing 2008-08-27 03:01 for 12 hours or so 2008-08-27 03:02 when i ran hg pull on the command line, it complained that it needed a lock 2008-08-27 03:02 hmm 2008-08-27 03:02 there was some stuck hg pull process 2008-08-27 03:02 why was the pull failing? 2008-08-27 03:02 your side? 2008-08-27 03:02 stupidly i killed it 2008-08-27 03:02 or mine? 2008-08-27 03:02 yeah on my side 2008-08-27 03:02 i should have tried to figure out why it was hung before i killed it 2008-08-27 03:03 hopefully it will happen again 2008-08-27 03:03 yeah, we'll see 2008-08-27 03:04 well there it is 2008-08-27 03:05 well I wonder if I am going to get my 1 exabyte file in 8 k volume demo for tomorrow 2008-08-27 03:05 maybe not 2008-08-27 03:05 I'll relax a little on that 2008-08-27 03:06 other important stuff is getting done too 2008-08-27 03:06 yeah, as long as progress marches on 2008-08-27 03:07 I think I will add the logic to round down the inode table split boundaries to multiples of some binary number like 64 2008-08-27 03:07 at that point I might have to play the shapor card 2008-08-27 03:07 to expunge the bugs 2008-08-27 03:07 cuz its a little hairy already 2008-08-27 03:07 not a great deal of code, but logic is subtle 2008-08-27 03:08 whyd you change your nick 2008-08-27 03:08 z mean something special? 2008-08-27 03:08 huh? 2008-08-27 03:08 what nick? 2008-08-27 03:08 hah 2008-08-27 03:08 it means the other one was in use 2008-08-27 03:08 because I went oom and crashed 2008-08-27 03:08 linux is ugly that way 2008-08-27 03:08 eek 2008-08-27 03:09 without ulimits 2008-08-27 03:09 happens regularly 2008-08-27 03:09 sucks 2008-08-27 03:09 set ulimits ;) 2008-08-27 03:09 I don't, because I want to feel that pain 2008-08-27 03:09 and fix it one day 2008-08-27 03:09 speaking of feeling pain 2008-08-27 03:09 watched gladiator all the way through 2008-08-27 03:09 buy more ram isn't a solution really 2008-08-27 03:09 you need to see it 2008-08-27 03:09 no 2008-08-27 03:09 since ff will just eat it up 2008-08-27 03:10 crap on my system expands to fill all space 2008-08-27 03:10 crap being mainly firefox 2008-08-27 03:10 with all those porn tabs open 2008-08-27 03:10 yes 2008-08-27 03:10 pitiful 2008-08-27 03:10 russion porn tabs, the worst 2008-08-27 03:10 so, is windows better for something then... porn? 2008-08-27 03:10 windows is way worse 2008-08-27 03:10 oh wait, russian? than it is worse 2008-08-27 03:11 I think 2008-08-27 03:11 spyware 2008-08-27 03:11 based on my knowledge of its kernel structure 2008-08-27 03:11 hrm true, joelle does have to reboot a lot 2008-08-27 03:12 the last round of windows kernel development was mainly copying linux 2.6 features 2008-08-27 03:12 we suck at oom, so they suck worse 2008-08-27 03:12 funny really 2008-08-27 03:19 there we go 2008-08-27 03:19 nice meaty post 2008-08-27 03:19 on allocation strategy 2008-08-27 03:19 barely scratched the surface though 2008-08-27 03:20 that ones been cooking a while 2008-08-27 03:21 that post? 2008-08-27 03:21 wrote it starting a couple hours ago 2008-08-27 03:21 but yes 2008-08-27 03:21 been blathering about it a while 2008-08-27 03:53 valgrind errors in ileaf 2008-08-27 03:53 must have been there a while 2008-08-27 05:55 -!- pgquiles(~pgquiles@189.Red-81-44-176.dynamicIP.rima-tde.net) has joined #tux3 2008-08-27 07:18 you guys had a late night 2008-08-27 07:18 talking about russian porn and all 2008-08-27 07:18 http://lxr.linux.no/linux+v2.6.26.3/CREDITS 2008-08-27 07:18 might be a source of tux3 developers 2008-08-27 07:19 flips: when you get a chance, troll that list and mark who's been naughty or nice. I'll fire off emails to the nice ones 2008-08-27 08:04 and another request- I could use a more condensed general description of Tux3 illustrating the main features/benefits. 2008-08-27 10:16 tim_dimm, I'll pen something 2008-08-27 10:16 question for u 2008-08-27 10:16 how would map reduce fit in along with tux3? 2008-08-27 10:16 or visa versa 2008-08-27 10:17 no idea 2008-08-27 10:17 lot of discussion about hadoop / map reduce on the cloud computing list 2008-08-27 10:17 Maybe shapor knows something about it 2008-08-27 11:45 tim_dimm: i don't think hadoop stuff really asks much of the filesystem 2008-08-27 14:46 So... exabyte file written 2008-08-27 14:46 with Tux3, an exabyte means an exabyte 2008-08-27 14:47 not an exabyte less one 2008-08-27 14:51 [12818] tuxseek: seek to 0xffffffffffffff4 2008-08-27 14:51 [12818] tuxread: read ffffffffffffff4/c 2008-08-27 14:51 0xbfd504a4: 68 65 6c 6c 6f 20 77 6f 72 6c 64 21 "hello world!" 2008-08-27 14:53 [12843] tuxread: file pos 1000000000000000/c 2008-08-27 14:53 whoops 2008-08-27 14:54 flips: have you taken a decision about time resolution? 2008-08-27 14:54 [12861] tuxread: file pos 1000000000000000 2008-08-27 14:54 pgquiles, general idea is to go with 48 bits unless somebody jumps up with a use case that has to have more 2008-08-27 14:55 pgquiles, and 32 bits for atime, using the measures we discussed on the list to avoid breakage 2008-08-27 14:55 but not set in stone 2008-08-27 14:55 ext3's 1 second resolution is annoying for some uses 2008-08-27 14:55 that is too crude, yes 2008-08-27 14:56 millisecond resolution ought to be good enough for a file 2008-08-27 14:56 agreed 2008-08-27 14:56 0.1 seconds is good enough, IMHO 2008-08-27 14:56 probably 2008-08-27 14:56 1 second not quite 2008-08-27 14:57 100ms is NTFS' time resolution and my users are happy with that 2008-08-27 14:57 we should merge #zumastor and #tux3 in #daniel's :-P 2008-08-27 14:59 they're pretty separate 2008-08-27 14:59 for now 2008-08-27 14:59 at least until tux3 is ready to replicate 2008-08-27 15:29 ok, now tuxread and tuxwrite return EIO for access about 1 EB 2008-08-27 15:29 above 2008-08-27 15:43 mmm potstickers 2008-08-27 20:27 flips: minor (L) cleanups and Makefile committed to my repo 2008-08-27 20:32 I'll pull 2008-08-27 20:48 sefault boo 2008-08-27 20:48 inode->btree = new_btree(sb, &dtree_ops); // error??? 2008-08-27 20:48 needs to be handled 2008-08-27 20:49 segfault* 2008-08-27 20:54 ah this is the real culprit: 2008-08-27 20:54 486 struct buffer *rootbuf = new_node(&btree); 2008-08-27 20:55 hmm lots of missing error checking 2008-08-27 21:14 yup 2008-08-27 21:14 need to start using ERR_PTR 2008-08-27 21:15 which allows an errno to be overloaded on a pointer return 2008-08-27 21:15 used extensively in kernel 2008-08-27 21:16 hmm 2008-08-27 21:17 http://lxr.linux.no/linux+v2.6.26.3/include/linux/err.h#L22 2008-08-27 21:17 the getblk interface is classic evil 2008-08-27 21:18 returns NULL if anything goes wrong 2008-08-27 21:18 so everybody makes up some different random error to report higher 2008-08-27 21:20 whats the point of ERR_PTR? 2008-08-27 21:20 to return an error without adding a new parameter 2008-08-27 21:21 instead of checking for NULL return you check for IS_ERR 2008-08-27 21:21 just changes a type though 2008-08-27 21:21 looks quite pointless? 2008-08-27 21:21 it's how you use it 2008-08-27 21:22 if (IS_ERR(result = some_function()) return result; 2008-08-27 21:23 and some_function returns ERR_PTR(ENOMEM) etc 2008-08-27 21:24 I can never remember if it is supposed to be ERR_PTR(ENOMEM) or ERR_PTR(-ENOMEM) 2008-08-27 21:24 one of those will cause oopses 2008-08-27 21:24 ah i see 2008-08-27 21:24 hah 2008-08-27 21:24 crappy interface actually 2008-08-27 21:24 but 2008-08-27 21:24 everything in C is crappy 2008-08-27 21:25 so it fits 2008-08-27 21:25 exceptions yeah 2008-08-27 21:25 lack thereof 2008-08-27 21:25 errno! 2008-08-27 21:25 well we should adopt that interface 2008-08-27 21:25 if its what we need to kernel port anyway 2008-08-27 21:25 will make the port easier 2008-08-27 21:25 yes 2008-08-27 21:25 you'll see various shouts to myself about that 2008-08-27 21:32 ERR_PTR is in 2008-08-27 21:38 why is DATA_BTREE_ATTR called "root" ? 2008-08-27 21:47 hmm 2008-08-27 21:47 because it's the root of a btre 2008-08-27 21:47 btree 2008-08-27 21:47 gives the on-disk block that's the root 2008-08-27 21:48 wouldn't "data" make more sense though 2008-08-27 21:48 in the context of the other attributes 2008-08-27 21:49 it's a kind of data attribute 2008-08-27 21:49 one of four kinds 2008-08-27 21:49 it's btree data 2008-08-27 21:49 could call it btree, but that's already taken 2008-08-27 21:49 that is the in-memory version 2008-08-27 21:50 that has a bunch of extra fields and no endian requirment 2008-08-27 21:51 ACTION reads the inode attributes post 2008-08-27 21:51 which does? 2008-08-27 21:51 struct btree 2008-08-27 21:51 like struct inode, it's the cached version 2008-08-27 21:51 of a btree root 2008-08-27 21:54 ah 2008-08-27 22:11 zzz time