Archive for November, 2007

Twitter Updates for 2007-11-29

Thursday, November 29th, 2007
  • finding out that my laptop warranty doesn’t cover fan beyond 12 months. fuckers. #
  • and the fuckers and now focused on me getting my broken hard-disk replaced. #

Powered by Twitter Tools.

Coming to the end of OSDC

Thursday, November 29th, 2007

Sitting in the last lightning talk session of OSDC2007 and in a couple of hours will be (surprise) jumping on a plane back home.

Has been a good and interesting conference. Met cool people, done cool hacking and chatting around the place.

Gave my talk today, and seemed to go down well…. at least Paul Fenwick liked it :)

Bug ID: 6493264 Solaris libc should provide posix_memalign

Thursday, November 29th, 2007

Bug ID: 6493264 Solaris libc should provide posix_memalign

At least it’s acknowledged as a problem :)

Although I now have to go and implement it in the NDB portlib.

I wish we could drop support for everything other than linux 2.6… would make this stuff a lot nicer.

Twitter Updates for 2007-11-28

Wednesday, November 28th, 2007
  • mmmm…. lunch #
  • i want an olpc #
  • everybody in lightning talk works rather well #
  • history of open source in 5min 25sec #

Powered by Twitter Tools.

Twitter Updates for 2007-11-27

Tuesday, November 27th, 2007
  • I HATE AUTOCONF #
  • why have database abstraction layers, once you’re using the one true database - why change? #
  • @bytebot: it’s mysql of course :) #
  • just gvelibeatmydata lightening talk for osdc #
  • s/gve/gave / #
  • got compliment for lightning talk #
  • i hate the lifts in this hotel #
  • they aren’t very optimal #
  • mmmm…. coffeee #
  • me also in rasmus’ keynote #

Powered by Twitter Tools.

testing crashes in file IO

Tuesday, November 27th, 2007

So Rusty gave me this idea for simulating crashes in libeatmydata to check durability of application data with stuff hitting the rust in interesting ways. Preserving fsync barriers, but mucking with the data before the last one and crashing. Then, recovery should all work.

Interesting… something to soon hack on…

libeatmydata

Tuesday, November 27th, 2007

Following my successful linux.conf.au talk “Eat My Data: How Everybody Gets POSIX File I/O Wrong“, I started to feel the need to easily be able to have my data eaten.

Okay, not quite. However, when you’ve written your software properly, so it uses fsync() correctly, opening files with O_SYNC or whatever - tests take longer as you’re having to wait for things to hit the rust.

So….. LD_PRELOAD=libeatmydata.so to the rescue! With a POSIX compliant fsync() (that does nothing) and filtering on open(2), it can take your test run times down dramatically.

The only time you shouldn’t use it for your tests is when you end up crashing the machine to test durability (i.e. when the OS doesn’t have the opportunity to cleanly write out the data to disk).

See the libeatmydata project page: http://www.flamingspork.com/projects/libeatmydata/

and the bazaar repository: http://www.flamingspork.com/src/libeatmydata

(it’s seemed to have saved somewhere between 20 and 30% of the time for innodb/ndb tests in mysql-test-run).

Twitter Updates for 2007-11-26

Monday, November 26th, 2007
  • in Brisbane for OSDC #
  • very, very early flight #
  • laptop fan seems to have shat itself… have had overheating laptop :( #
  • ASUS fuckers seem to think it’s "unlikely" that the brisbane repair shop can do it today #
  • repair likely to take "a day" as they basically have to disassemble it… grr #
  • although, unlike whenever I needed an Apple repaired, it’s not "two weeks" #
  • @bytebot: word to the shooting of spammers #
  • at osdc #
  • brisbane morning is bright #
  • i never want to hear about AV again #
  • free martial arts lessons for wireless crackers #
  • Resty giving keynote #
  • funny as always #

Powered by Twitter Tools.

Twitter Updates for 2007-11-24

Saturday, November 24th, 2007
  • glad to see not many people taking FF leaflets #
  • not a short queue though #
  • i can count to 68! #
  • ahhh… the chaser :) #
  • hungry #
  • so strange, waching live tv #
  • red fuji apples are yummy #
  • the counting has started! #
  • WHAT WAS THE VIBE? #
  • (we donmt care about the mood, just the vibe) #
  • world of awesome #
  • the good news just keeps coming… looks like Howard still going to loose Bennelong #

Powered by Twitter Tools.

Twitter Updates for 2007-11-23

Friday, November 23rd, 2007
  • ordered more buffy comics #
  • very annoying that Amazon doesn’t seem to stock all of them… #
  • (but cheaper elsewhere it seems) #
  • MASTER. MASTER (of puppets) #
  • never had video calling work on my phone #
  • wonder if there’s magic foo… #
  • voting tomorrow! #

Powered by Twitter Tools.

Twitter Updates for 2007-11-22

Thursday, November 22nd, 2007
  • lots of election junk in mail today #
  • (i only check physical mail once or twice a week these days) #
  • Liberal (conservative, not a small-’l’ liberal) candidate doesn’t mention party affiliation or current Prime Minister in the cover letter… #
  • having the FIBMAP ioctl root only sucks #
  • wishing for flickr to have a "just ask for licensing" mode thingy #
  • @pjf i gather this @user thing is some magic to direct things :) #
  • /me is such the twitter n00b #

Powered by Twitter Tools.

Election Night Party!

Thursday, November 22nd, 2007

Mail me for details! (Obviously only really applicable if you’re in Melbourne this Saturday night)

Twitter Updates for 2007-11-21

Wednesday, November 21st, 2007
  • Marx Brothers on DVD. awesome. I gt to watch Monkey Business again #
  • thinking of election night party…. #

Powered by Twitter Tools.

Twitter Updates for 2007-11-20

Tuesday, November 20th, 2007
  • back on the ground in melb… #
  • again, waiting for plane doors to open #
  • Wii! #

Powered by Twitter Tools.

Twitter Updates for 2007-11-17

Saturday, November 17th, 2007
  • been to wedding ceremony. now doing that in between thing before reception #
  • leg pain :) #
  • leg pain is a :( not a :) #

Powered by Twitter Tools.

Twitter Updates for 2007-11-16

Friday, November 16th, 2007
  • fucking American companies dealing with international people and not putting $USD around currency. idiots. #
  • apparently helgrind is working again! yay! #

Powered by Twitter Tools.

Twitter Updates for 2007-11-15

Thursday, November 15th, 2007
  • waiting for guy to come open the doors of the plane #
  • groundstaff got held up aparrently #

Powered by Twitter Tools.

Twitter Updates for 2007-11-14

Wednesday, November 14th, 2007
  • packing #
  • "what the fuck is twitter?" #
  • i have followers #
  • i haven’t jumped off a cliff, so they don’t have to #
  • turns out I can actually now remember all my credit card details. #
  • so many distractions from actually packing… :( #
  • people in tech companies not on IRC are idiots. #
  • possibly coming up to sleep time… #

Powered by Twitter Tools.

Twitter Updates for 2007-11-14

Wednesday, November 14th, 2007
  • packing #
  • "what the fuck is twitter?" #
  • i have followers #
  • i haven’t jumped off a cliff, so they don’t have to #
  • turns out I can actually now remember all my credit card details. #
  • so many distractions from actually packing… :( #
  • people in tech companies not on IRC are idiots. #
  • possibly coming up to sleep time… #

Powered by Twitter Tools.

Better disk allocation with MythTV and XFS

Wednesday, November 14th, 2007

Running MythTV on XFS? Noticed that all your recordings end up rather fragmented? (use xfs_bmap to find out) Well, the culprit is MythTV not being too nice to the file system. Good news is, it’s rather fixable.

From the MythTV source code, edit libs/libmythtv/ThreadedFileWrite.cpp and look for the following:

void ThreadedFileWriter::Sync(void)
{
if (fd >= 0)
{
#ifdef HAVE_FDATASYNC
fdatasync(fd);
#else
fsync(fd);
#endif
}
}
You then want to, after the first squiggly bracket (a { ) put in a “return;” so that it looks like this:

void ThreadedFileWriter::Sync(void)
{
return;
if (fd >= 0)
{
#ifdef HAVE_FDATASYNC
fdatasync(fd);
#else
fsync(fd);
#endif
}
}

Recompile MythTV and go!

(Before anybody says, yes - this patch could be neater and all that… I just haven’t had time yet).