2008-08-24 02:41 88 interested observers on the mailing list 2008-08-24 02:42 needs to translate into more commentary 2008-08-24 04:17 -!- pgquiles(~pgquiles@239.Red-83-41-113.dynamicIP.rima-tde.net) has joined #tux3 2008-08-24 04:21 flips: is lvm3 extent aware ? 2008-08-24 04:21 lvm4 is 2008-08-24 04:22 um 2008-08-24 04:22 sorry! 2008-08-24 04:22 it is just a block device 2008-08-24 04:22 hey, nice to see that you're awake now 2008-08-24 04:22 that means you throw bio structs at it 2008-08-24 04:22 ACTION just finished clubbing around San Francisco 2008-08-24 04:22 I sped thorugh LA today to get up there 2008-08-24 04:22 here 2008-08-24 04:22 ACTION got back from death race 2000 not too long ago 2008-08-24 04:23 I would have stopped if I had time, beside we saw each other not that long ago 2008-08-24 04:23 what is that ? 2008-08-24 04:23 bios are kinda like extents 2008-08-24 04:23 beyond that, lvm knows nothing about it 2008-08-24 04:23 so does that mean that the sha1 hash can be done a per extent basis in lvm4 ? 2008-08-24 04:23 it has a concept called extents 2008-08-24 04:23 but it isn't extents 2008-08-24 04:23 it is just fixed size multiples of the lvm allocation unit 2008-08-24 04:23 what the purpose of putting that in the raid layer ? 2008-08-24 04:24 there is no lvm4, I mispoke 2008-08-24 04:24 sha1 is a stupid hash to use 2008-08-24 04:24 it is ridiculously expensive to compute 2008-08-24 04:24 we're not doing crypto 2008-08-24 04:25 oh 2008-08-24 04:25 but you were thinking about hashed storage 2008-08-24 04:25 that is, content addressed storage 2008-08-24 04:25 sha1 is still pretty extravagant 2008-08-24 04:26 anyway, why the raid layer vs below it? 2008-08-24 04:26 don't know 2008-08-24 04:26 you have to reassemble your raid bits to do your content hash on them 2008-08-24 04:26 well, what else could be used ? 2008-08-24 04:26 depending on the properties of the hash it might be hard to do otherwise 2008-08-24 04:26 xor 2008-08-24 04:26 check out dx_hack_hash 2008-08-24 04:27 it performs well and is cheap to compute 2008-08-24 04:27 performs => distributes evenly 2008-08-24 04:27 sha1 is better, but not so much better as to be worth the cpu load 2008-08-24 04:28 it is also a much wider hash 2008-08-24 04:28 you can't use a 32 bit hash for this without a collision scheme 2008-08-24 04:30 well, what did you think about getting some kind of generic blob support to universally represetn chnk of data in a file so that you can avoid replicating it ? 2008-08-24 04:30 it would apply to uncompressed as well as compress storage 2008-08-24 04:30 http://en.wikipedia.org/wiki/Content-addressable_storage 2008-08-24 04:30 I wouldn't expect a radi layer to be a aware of that stuff 2008-08-24 04:31 ACTION can't chat much longer 2008-08-24 04:31 kay, I can't either 2008-08-24 04:31 got to consider the sleep thing 2008-08-24 04:32 interesting 2008-08-24 04:32 some kind of cheap hash that results in a protocol exchange between upstream and downstream to see if the blocks are really identical would be useful 2008-08-24 04:33 last bit, think about cdta localit and online disk checking. 2008-08-24 04:33 internet is dying 2008-08-24 04:33 night 2008-08-24 04:33 cdta? 2008-08-24 04:33 ah 2008-08-24 04:33 data locality 2008-08-24 04:33 sure 2008-08-24 04:34 been thinking indeed 2008-08-24 04:34 see the log 2008-08-24 04:34 for performance reasons, they should be considered together 2008-08-24 04:34 how far up ? 2008-08-24 04:34 is anything I say useful ? 2008-08-24 04:35 yes 2008-08-24 04:35 very 2008-08-24 04:35 check it out later 2008-08-24 04:35 shapor and me 2008-08-24 04:35 conclusion is that storing a thing that is kind of like a snapshot but does not have the actual snapshot data, just hashes of it 2008-08-24 04:36 would be useful for checking 2008-08-24 04:36 and efficient 2008-08-24 04:36 vs the stupid braindamage that zfs has popularized 2008-08-24 04:36 anything you say? 2008-08-24 04:36 yes 2008-08-24 04:37 inspired the hash snap idea 2008-08-24 05:56 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-24 12:47 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-24 14:07 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-24 14:36 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-24 15:18 iattr.c decoded an attribute list 2008-08-24 15:18 now an encoder 2008-08-24 15:18 or maybe I should check it in as is 2008-08-24 15:19 make shapor's eyes bleed 2008-08-24 15:21 check it in 2008-08-24 15:22 should be more exciting than just "return 0" 2008-08-24 15:22 it is 2008-08-24 15:22 it's real gouge your eyes out stuff 2008-08-24 15:23 strigi dox suck 2008-08-24 15:23 :-( 2008-08-24 15:24 pgquiles, just put out a call for tech writers 2008-08-24 15:24 flips: problem is tech writers would first need to understand what each class, method, etc do, which is the difficult part of these docs 2008-08-24 15:25 I'm not even sure which classes are internal and which ones are intended for use by applications! 2008-08-24 15:25 g99 -g -Wall iattr.c && ./a.out 2008-08-24 15:25 block = 1234, depth = 1 2008-08-24 15:25 I guess I will make it decode more than one attr before checking in 2008-08-24 15:25 pgquiles, decent tech writers understand that stuff 2008-08-24 15:26 jon corbet for example 2008-08-24 15:26 but he doesn't work for free... always 2008-08-24 15:42 shapor, iattr.c skeleton decoder is in 2008-08-24 15:42 next, skeleton encoder 2008-08-24 15:42 then really use both 2008-08-24 15:44 ACTION considers the wisdom of changing his skate wheels 2008-08-24 15:44 http://www.officemax.com/omax/catalog/sku.jsp?skuId=21607263 2008-08-24 15:44 nifty 2008-08-24 15:48 sounds big 2008-08-24 16:10 getting close to sk8 oclock 2008-08-24 17:54 getting really close to sk8 oclock 2008-08-24 18:38 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-24 21:50 ACTION has a relatively solid internet connection now 2008-08-24 22:59 flips: pull from me, some minor fixes 2008-08-24 23:00 hopefully not to iattr.c 2008-08-24 23:00 no 2008-08-24 23:00 kay 2008-08-24 23:00 now how do I do that again 2008-08-24 23:00 forgot to write down te prescription 2008-08-24 23:00 oh 2008-08-24 23:00 it was hard 2008-08-24 23:00 you have a bunch of heads 2008-08-24 23:00 and when I pulled I got them all 2008-08-24 23:01 hg pull static-http://shapor.com/tux3/shapor-tux3 2008-08-24 23:01 was a major pain to get rid of them 2008-08-24 23:01 right 2008-08-24 23:01 hrm 2008-08-24 23:01 but not just that 2008-08-24 23:01 best is to clone, then pull into that, then selectively pull from the local copy 2008-08-24 23:01 i should get rid of the heads first 2008-08-24 23:01 well there are probably better ways 2008-08-24 23:01 hm 2008-08-24 23:01 right 2008-08-24 23:02 make a clean repo to pull from 2008-08-24 23:02 that's what the kernel crowd does 2008-08-24 23:02 I'll peek at the repo online 2008-08-24 23:03 why not set up a cgi? 2008-08-24 23:04 ok i recloned 2008-08-24 23:04 and put one of my changes is (fix dependencies in Makefile) 2008-08-24 23:07 have you tried hg view? 2008-08-24 23:07 no 2008-08-24 23:07 try it :-) 2008-08-24 23:07 I can see your repo is clean right away with it 2008-08-24 23:08 $ hg view 2008-08-24 23:08 /usr/bin/env: wish: No such file or directory 2008-08-24 23:08 heh 2008-08-24 23:08 make it there 2008-08-24 23:13 ey 2008-08-24 23:14 I've got a more solid internet connection right now 2008-08-24 23:14 so I can talk for a bit before it drops out 2008-08-24 23:14 ACTION is still prepping for Burning Man 2008-08-24 23:16 shapor, merged 2008-08-24 23:16 not painful 2008-08-24 23:16 only shakey spot was forgetting the url 2008-08-24 23:16 which I have written down this time 2008-08-24 23:16 bh, hi 2008-08-24 23:17 I'm not clear on why prepping is required 2008-08-24 23:17 probably I just don't understand 2008-08-24 23:19 flips: should inode test be asserting ? 2008-08-24 23:19 no 2008-08-24 23:19 (just pulled) 2008-08-24 23:19 perhaps 64 bit bug 2008-08-24 23:19 i'll look 2008-08-24 23:20 outputs about 15 lines then [5972] brelse: Failed assertion "buffer->count" 2008-08-24 23:20 doesn't assert for me 2008-08-24 23:20 double free 2008-08-24 23:21 included the filename? 2008-08-24 23:21 should clean that up 2008-08-24 23:21 yes i included the filename 2008-08-24 23:21 valgrind says uninitialized value 2008-08-24 23:21 in tuxopen 2008-08-24 23:22 let me check here 2008-08-24 23:23 yup 2008-08-24 23:23 just a sec 2008-08-24 23:25 http://pastebin.com/m6e86586e 2008-08-24 23:26 fixed 2008-08-24 23:26 you beat me to it? 2008-08-24 23:26 no that is the output 2008-08-24 23:26 valgrind really blew up 2008-08-24 23:26 illegal opcode 2008-08-24 23:26 i havne't seen that before 2008-08-24 23:27 I inherited that dodgy interface from ripping the ext2 dir code 2008-08-24 23:27 fragile 2008-08-24 23:27 sure blame someone else :P 2008-08-24 23:28 well I'm the one who didn't run valgrind 2008-08-24 23:28 the encode/decode verges on pretty now, does it not? 2008-08-24 23:28 its pretty obvious you aren't using the makefile 2008-08-24 23:28 I use make 2008-08-24 23:29 fairly often 2008-08-24 23:29 not for running the test 2008-08-24 23:29 but not in development, usually just before or after a commit 2008-08-24 23:29 right 2008-08-24 23:29 -!- tim_dimm(~timothyhu@cpe-76-90-98-247.socal.res.rr.com) has joined #tux3 2008-08-24 23:29 hi tim 2008-08-24 23:29 hey shapor 2008-08-24 23:29 hiyah tim 2008-08-24 23:29 u missed a great skate today 2008-08-24 23:30 flips! 2008-08-24 23:30 dude! 2008-08-24 23:30 I had a pretty good one 2008-08-24 23:30 ;-_ 2008-08-24 23:30 doing a little faux grinding 2008-08-24 23:30 skating on the skateboard obstacles 2008-08-24 23:30 really? 2008-08-24 23:30 wow 2008-08-24 23:30 tim_dimm: did you get my email? 2008-08-24 23:30 about chris? 2008-08-24 23:30 yeah 2008-08-24 23:31 yeah, were you involved in that? 2008-08-24 23:31 we went to ikea tonight, so I didn't have time to respond 2008-08-24 23:31 ah, sounds... manly 2008-08-24 23:31 I also had to clean 40 mini bearings for my race 2008-08-24 23:31 that course looks amazing 2008-08-24 23:31 I'm crashing guys. just logged on to plug in my phone 2008-08-24 23:32 he sent a pic of the road rash he got longboarding downhill 2008-08-24 23:32 night 2008-08-24 23:32 night 2008-08-24 23:32 wanna see the road rash in the am 2008-08-24 23:32 http://tinyurl.com/6ql2h6 2008-08-24 23:32 tim_dimm: g'night 2008-08-24 23:32 I have a special treatment for road rash 2008-08-24 23:33 das ugly 2008-08-24 23:33 wiskey? 2008-08-24 23:33 hip crash 2008-08-24 23:33 no, trying to remember the name 2008-08-24 23:33 special bandages 2008-08-24 23:33 its late, I'll remember in the am 2008-08-24 23:33 k, crashin 2008-08-24 23:33 anna put mine away 2008-08-24 23:33 see you 2008-08-24 23:33 ttyl 2008-08-24 23:33 tegaderm 2008-08-24 23:40 flips: what is this {en,de}code_{two,four,six,eight} mess? 2008-08-24 23:40 serial encoding/decoding 2008-08-24 23:40 always looks like that or worse 2008-08-24 23:42 maybe a macro could make it cleaner? 2008-08-24 23:42 would make it worse 2008-08-24 23:42 try it 2008-08-24 23:43 make once the dust settles 2008-08-24 23:43 inlines are to be preferred over macros 2008-08-24 23:43 yes good attitude 2008-08-24 23:43 also read some similar code 2008-08-24 23:43 s/make/maybe/ 2008-08-24 23:43 say, xdelta 2008-08-24 23:43 then come back and complain ;-) 2008-08-24 23:44 heh 2008-08-24 23:44 serial coding/decoding never looks pretty because the compiler can help very little 2008-08-24 23:44 the endian conversion is the biggest mess 2008-08-24 23:44 if you can make that pretty, show me 2008-08-24 23:45 btw i fixed some (L) warnings 2008-08-24 23:45 if you want to pull 2008-08-24 23:45 ok 2008-08-24 23:47 why do we care about endianness? 2008-08-24 23:48 on disk format should be whatever is native 2008-08-24 23:48 because if somebody writes a filesystem on a ppc they want to be able to read it on an x86 2008-08-24 23:49 right, just record that in the superblock 2008-08-24 23:50 theres no reason do jerk around with the endianness in the normal case if you never swap dicks 2008-08-24 23:50 disks* 2008-08-24 23:50 all filesystems do endian conversion 2008-08-24 23:51 zfs will store in native format and convert if you read on the other format, that sucks the worst 2008-08-24 23:51 why? 2008-08-24 23:51 that seems right 2008-08-24 23:51 because you have a whole different code patch if somebody goes to a different endian host 2008-08-24 23:52 better to pick a format and stick with it 2008-08-24 23:52 that's why there is a network byte order for example 2008-08-24 23:52 sounds ideal, its a uncommon case 2008-08-24 23:52 could do the same wanking with context senstive conversion there, it just isn't wise 2008-08-24 23:52 everyone has pcs 2008-08-24 23:53 no filesystem will get merged in linux without conversion 2008-08-24 23:53 extept for ramfs/tmpfs 2008-08-24 23:53 and tux3 2008-08-24 23:53 :P 2008-08-24 23:53 welcome to the filesystem world 2008-08-24 23:54 there are some unpretty things that have to be done 2008-08-24 23:54 thats just dumb 2008-08-24 23:54 for no good reason 2008-08-24 23:54 not having a consistent disk format would be way dumber 2008-08-24 23:55 think about it: you end up with all the same code if you do context conversion anyway, plus other code 2008-08-24 23:55 oh wait 2008-08-24 23:55 yeah but its not normally in the code path 2008-08-24 23:55 chances are you end up with two copies of the conversion code 2008-08-24 23:55 it's cruft 2008-08-24 23:55 cpu cost of always converting is small 2008-08-24 23:55 there are dedicated processor instructions that do it 2008-08-24 23:56 ACTION is done grumbling about it being a waste 2008-08-24 23:57 ddsnap doesn't do anything with endianness iirc 2008-08-24 23:59 that has to be fixed before merging 2008-08-24 23:59 it's written in the comments at the top of the file