Search Results: "Martin"

31 August 2006

Martin F. Krafft: Memes AGAIN?

The metro meme some of us subscribed to is all cute and well. But what's the point of having it on the Planet? I agree with Jordi that the Planet should not be a purely technical forum, but instead give insight into our colleagues' lives. I don't think the (incomplete) list of metros any one has used is really relevant or interesting. That's my opinion (and not impression), and if you think it's worth anything, please consider to discontinue.

30 August 2006

Martin F. Krafft: Using LVM snapshots for filesystem recovery

This morning, I found myself in Gunnar's position and was looking at an empty /home directory because of the following mount failure:
piper:~# mount /dev/mapper/vg0-home
mount: Unknown error 990
Starting XFS recovery on filesystem: dm-0 (logdev: internal)
Filesystem "dm-0": xfs_inode_recover: Bad inode magic number, dino ptr =
  0xffff810028a6bd00, dino bp = 0xffff81002851d140, ino = 33629
Filesystem "dm-0": XFS internal error xlog_recover_do_inode_trans(1) at
  line 2352 of file fs/xfs/xfs_log_recover.c.  Caller 0xffffffff88307729
I am used to XFS giving me hard times, but this time at least I didn't have much to worry as it happened at home, I have plenty other machines I can use instead, and all data was backed up. Since this is on a Debian unstable machine, I had the latest xfs_repair available, and told it to do its thing, but it refused:
piper:~# xfs_repair /dev/mapper/vg0-home
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_repair.  If you are unable to mount the filesystem, then use
the -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
Great. Catch-22. I decided to have a go at fixing it, but as much as I pretended to grok xfs_db, I did not manage to get the filesystem into a consistent state. I thus fired off an email to the mailing list (which has not arrived there 4 hours later) and started pv to dump the raw data to another machine for later use or debugging. Watching the progress meter of pv from time to time, it occured to me that my /home is in fact on LVM. I put it on LVM way back when LVM was new and cool and I wanted to gather experience with it. I've never actually done anything with it, but today it saved my little bits of remaining sanity. Why? Because LVM can take snapshots of volumes. It took me a while to put the pieces together, but in the end, a snapshot would enable me at least to run a test-round of xfs_repair -L and assess the damage, and if it wasn't all that bad, I could just run the repair process on the actual volume again. With the encouragement and knowledge of Christian Aichinger and Daniel J. Priem on IRC, I hence proceeded to give it a try. First I had to extend the volume group to make room for the snapshot data, and since I had no disks handy, I just used a loop device based on a sparse file:
dd if=/dev/zero of=/srv/loop bs=1 count=1 seek=5368709120
losetup -f /srv/loop
pvcreate /dev/loop0
vgextend vg0 /dev/loop0
lvcreate -s -n home-snapshot /dev/vg0/home -L 5G
(Thanks to Ian Nicholls for spotting the error: I was using pvcreate instead of that last lvcreate previously). Now /dev/vg0/home-snapshot was a copy-on-write snapshot of the original volume, and I could do whatever I wanted with it, as long as I did not exceed the 5G size allotted for the copied data blocks that I modified. Using mount and xfs_repair, I could verify that the problem also shows up with the snapshot. Thus, I ran xfs_repair -L on the snapshot and finally was able to mount the snapshot to inspect the /lost+found directory. Fortunately, it wasn't all that full, nor was there anything important in there, so I sighed, removed the snapshot (lvremove) and unleashed xfs_repair -L on the original volume, which is now again mounted under /home. Finally, remove the loop device from the volume group (vgreduce). If you are like me and forgot to do so before rebooting and now find your LVM volumes not starting anymore, look into the --removemissing option. I like this method. I knew the filesystem was corrupted, but I did not know to what extend. Had corruption been worse, I could have waited for the XFS guys to help me out. But seeing the low damage, I was able to decide to just purge the journal and accept the damage. If this had happened on a more important machine (i.e. without recent backups), I would have proceeded a bit differently: once the snapshot was mounted, I'd have run xfs_dump on it to save the data. I would also have used more space for the snapshot and not removed it until the parent volume was repaired and mounted. It's unlikely that xfs_repair will produce different results when run on a volume and its snapshot, but better be safe than sorry. All this said, I just want to point out that the above method is filesystem independent and hence would work for any filesystem out there. I've never been a big fan of LVM, especially without RAID to build on (striping across physical media multiplies your chance of data loss), but this method is a good reason for using LVM regardless: use a volume group instead of your physical disk, and logical volumes instead of partitions, but don't span disks (unless you have to). Then, if stuff goes bad, you can hook in another disk, extend the volume group with it, and work on snapshots.

29 August 2006

Martin Zobel-Helas: package list frozen

The package list for Sarge r3 has been frozen today, though we still wait for one package from one architecture to be uploaded. I hope it makes it before dinstall. Lets see….
FINALLY!

Martin F. Krafft: Thank you, Uncle Steve!

Following my five week stay in Limerick to start my Ph.D. research, I headed for Cambridge for this year's Debian Barbeque at Steve McIntyre's house. For me, the event lasted from Friday night until Monday morning and involved many hours of joyous frolicing with happy people, and several insightful discussions. I would like to say thanks to Steve for organising the party, for putting up with all of us loonies, for driving Enrico and myself to the station in the early morning hours of Monday, and for memories of a funtastic weekend. ... and what better way to say thanks could there be than doing it a million times (warning, Flash animation; ha ha, imagine what would have happened if I had just embedded that in the post, dear readers of the planet).

28 August 2006

Martin-Éric Racine: On entrepreneurship and Tallinn

Lars mentions in the same article that he is thinking about starting a business and that Tallinn is nice. I agree. Now, what if we combined both statements? Not surprisingly, other Finns had the same idea, including former collegues of Lars and I, who took advantage of Estonia's outstandingly welcoming taxation laws, of Tallinn's luxurious variety of restaurants and coffee shops, of Estonia's comparatively more affordable cost of living and of the omnipresent country-wide wireless network. Given this, is it any surprise that I keep on spending more and more time there? Now, if someone on Toompea could only take a hint and realize that a qu b cois kegi r gib eesti keelt natukane and who has been living for more than 8 years in the neighboring country very much is a local and ought to be equally welcome to immigrate as any EU national...

Martin-Éric Racine: GNOME Network Manager annoyances

Having recently gotten around buying a WIFI card for the old ThinkPad 240x that my friend Marcus gave me and installed Dapper on it, I began to look for a simple method for selecting wireless Access Points. Someone on #ubuntu recommended network-manager, which I promptly installed. Well... The NM version in Dapper wouldn't even cooperate with a common 8139too Ethernet card! First, it would correctly fetch the IP from the router, but then the network-manager-gnome applet would keep on spinning and only stop after resetting the IP to some 169.254.0.0 private network meant for Bluetooth and other similar networked consumer devices. I then cautiously upgraded to Edgy, just enough packages to get a newer network-manager daemon and a 2.6.17 kernel, then tried again. Ah! It at least finally retained the dynamic IP whenever using the 8139too Ethernet card, but it still refused to connect to a wireless network whenever I switch to the DWL-G650 card. Hmm... Just to check that the Atheros driver (AR5212 chipset appearing as ath0) was correctly loaded, I did a test by opening a terminal and manually setting the ESSID to the nearest Internet caf 's AP, using iwconfig, then launching dhclient3. Look, ma! It works! Inspecting the logs revealed that connecting to a non-encrypted network with network-manager systematically fails, because NM bombards the Access Point with wpasupplicant, then sits there wondering why the AP doesn't request authentication, thus eventually reporting a failure to associate with the AP. How do we fix this? Any Network Manager developer who is reading this that would care to comment?

Axel Beckert: Goodbye Woody, Welcome Sarge (Penultimate Part)

Since security support for Woody ceased recently, and with Kazehakase I’ve found a reasonable successor in Sarge for Galeon 1.2.x, I’ve dist-upgraded my 10 years old Pentium I ThinkPad bijou to Sarge this weekend. Even the XFree86 4, which made so much hassles in Woody by not regcognising nor configuring the graphics card correctly, worked fine from scratch. Well, at least after installing xfonts-base and xfonts-75dpi — the -transcoded versions somehow gave only the error message “default font ‘fixed’ not found”. So goodbye Galeon, goodbye GNU Emacs 20, goodbye XFree86 3.3. I hope, I won’t miss you. Only my desktop gsa at home still runs Woody, but will be dist-upgraded soon, too. What though still stayed on my laptop from Woody is Siag Office, since there is no adequate replacement for such a nice office suite with such a low resource footprint. But it has also an impact on the talks I hold. I held all talks with a patched version of lynx (e.g. with LSS support) as presentation tool on that laptop because initially I didn’t get X running on that box. What started as a makeshift became my hallmark… But I didn’t manage to get Sarge’s lynx patched so that it gives me the same output as my old version did. So either I would have to reoptimise the layout of my talks for a new lynx version or just start with something new. Madduck recently showed me python-docutils, which he uses for presentations. Maybe I’ll use that although I have a severe aversion against Python. So it may also be that I’ll stick with WML, but get some new ideas from python-docutils how to use HTML for presentations. Update: Found out that the interesting part of his presentation technic wasn’t python-docutils but S5: A Simple Standards-Based Slide Show System which in entirely written in XHTML, CSS and JavaScript. S5 is really cool stuff, one of the first cases of useful use of JavaScript, and will surely be used for my next presentation — with Debian Sarge and Kazehakase on a Pentium I ThinkPad. ;-)

24 August 2006

Martin-Éric Racine: GTK2 coder wanted

I'm putting together a startup with some friends. Our product is based on diet versions of GNOME components. At this stage, the missing part is a diminutive control panel, to select the keyboard map (console + X) and to toggle between left/right -handed mouse (gpm + X). This could probably be extracted from GNOME components (e.g. capplets) as well, however keeping in mind the fact that we aim for GTK2 -only applications, to avoid unnecessary dependencies normally appearing with fully GNOME -compliant software. The result shall be published as Free Software, under a license matching whichever code the product was derived from. Our budget is small, but everything you code as a part of this project is immediately contributed back to the Free Software community. If this gig interests you, please drop by my homepage for my contact info and send me a summary of your skillset.

Martin F. Krafft: Rating with stars (or whatever)

If you're about to evaluate something with four out of five stars (or whatever), please, pretty please with sugar on top, state in your review why you did not award all five! Seeing a 4/5 followed by a review that touts the benefits and still pretends to be objective is about as helpful as not reading the review at all. Well, at least it's not as helpful as it could be. In general, I would wish that a review explained why the object did not receive 100% (if it got more than 50%), or why it got more than 0% (if it got less than half). That's probably the most use you can get out of any such scale.

23 August 2006

Martin F. Krafft: Urgent Warning!

A dangerous virus is being passed electronically, orally, and by hand, and has been for many years. Recent advances in science have finally lead to its identification: This virus is called Wicked Overarching Recreational Killer (WORK). If you receive WORK from any of your colleagues, your boss or anyone else by any means DO NOT TOUCH OR COME NEAR IT. This virus will wipe out your private life completely. Should you come into contact with WORK, immediately take your friends to the nearest bar and consume any of the proven antidotes:
  • Worm Incubating Neutralisation Elixier (WINE)
  • Besieged Employee Entertainment Revitaliser (BEER)
In addition, any form of large-scale Bothersome Oppressive, Or Zealous Employer (BOOZE) elimination is known to work as well. If possible, combine the above for increased rate of success. Also, take the antidotes repeatedly until WORK has been completely eliminated from your system. This message brought to you by the Ministry of Health, your local barman, and the joy of mass emails.

20 August 2006

Martin Michlmayr: Status update of Debian on Linksys NSLU2

Beta 3 of debian-installer has been released recently and some people are wondering about the status of Debian on Linksys NSLU2. This ARM based device includes an Ethernet chip for which Intel provides a driver (based on some code which only recently became free software and which still requires some microcode which is only distributable together with a click-through license). During the beta 3 development process, I tested the installation on NSLU2 with my USB Ethernet gadget to make sure it works. When beta 3 came out, I wanted to integrate Intel's module and make unofficial images available. Marcus Better did some great work in the last few weeks putting the sources into a Debian packages from which the modules can easily be created. Unfortunately, they don't seem to work. My kernel oopses immediately when I insert them. I spent more than a day compiling the modules myself, trying various things, but to no avail. I have now given up and sent a call for help. What this means is that the unofficial images with the Ethernet driver are unsupported right now, even though Debian on NSLU2 works fine if you have a USB Ethernet adapter. In the long run, I hope to be able to support Ethernet using a driver which is currently being developed. The author has made good progress already and is aiming for mainline inclusion. I hope it will be usable on the NSLU2 in the next few weeks but it's hard to tell. There has also been some development that users may not directly see but which is important maintenance work. The firmware of the NSLU2 has a 1 MB limit for the kernel. So far, we have provided a special kernel for the NSLU2 but it would be better if we could use one generic kernel for all IXP4xx based devices. Together with Marc Singer, the author of APEX, we're now integrating his boot loader as a 2nd stage loader to work around this limit. In summary, NSLU2 development work is still being done, even though the in-built Ethernet is currently not supported. This problem will be addressed in the long run with a proper, mainline driver which will hopfully be usable in the next few weeks. Help with NSLU2 support is welcome because even though I'm still working on it, I now have a number of more interesting devices I'm currently working on (more on this later).

18 August 2006

Martin F. Krafft: Talk on Debian "etch"

Tomorrow I will deliver a talk on Debian "etch" at the University of Limerick Computer Society. Staying true to my principles, I held back the preparation of slides until the last minute, but now I actually ended up having them done well in advance, with enough time to invite you to take a look [*] and provide feedback. In this talk, I introduce Debian, give a status update on the "etch" release, talk a little bit about the future and how I see Debian's strategies evolving/developing/changing, and finally relate a bit to Ubuntu. That latter point was added on request, and I will remain objective and talk about the status quo, problems, and benefits (so it won't be a subjective take like this, although I certainly will address some of the issues). Comments welcome!
[*]the slides were prepared for S5 and can be viewed directly in modern browsers. The best experience is with a 1024x768 or higher resolution. Here are instructions on how to browse them (though you probably don't need them).
Update: the talk went well. I planned it to be 40 minutes (which is ambitious for 25 slides, but I can zip through them at high speed if I need to), and I learnt that the room was scheduled for two hours, so I added about 5 slides and went into it without a clock... and totally enjoyed delivering a talk with almost no time restrictions, which turned out to last just under 2 hours in the end. I talked a bit too much about what Debian is, then delivered the status report on the "etch" release, and in the end also had quite some time to spare on talking about our current and future challenges, as well as discussing some of the problems with the distribution and the project, as I see them. I would like to thank the attendants for making their way to the campus on a Saturday, and for their attention throughout the two hours of presentation without a single one of them giving me the impression of disinterest! We ended in a bar with beer in the afternoon, of which I probably had a little more than I should have had, given that I needed to be a little more productive that day. But even that worked out well. Laura, the society's president, offered me an honorary membership with skynet.ie, which I gladly accepted [ ], and I enjoyed hearing some of their stories about the past and the present. Given that university computer societies may be somewhat in decline, I think they still have their rightful purpose, and they are definitely a great place to gain experience and have a lot of fun. Thanks, skynet.ie for a good time! And now on to meet them at a pub...
[ ]If nothing else, then an account on skynet.ie should allow me to port-forward or even use VPN from Zurich, to access some of the electronic library resources available here, to which the University of Zurich has not subscribed.

17 August 2006

Martin Zobel-Helas: Why m68k should not become release architecture for Etch

m68k is blocking the release for Debian Sarge r3 now for longer than a week. We are currently only waiting for one (essential) package from this arch: debian-installer. For some curious reasons this package did not build on any of the build-deamons and as porter machines are still locked down after compromise one can’t even do hand-builds. Wouter is currently doing this on one of his machines, but that might take a while… So one can still say what we said pre-sarge release: “It’s ready when it’s done”. Disclaimer: This is my personal opinion and reflects neither the opinion of the whole release team nor is consensus there.

16 August 2006

Lars Wirzenius: Random thought: TDD doesn't eliminate debugging

Martin, I know about TDD, thanks. It is great for preventing all the kinds of bugs you expect to make (or make again), and can write test cases for. Been using it for years. It's part of what I meant when I said "every now and then a bug slips through, and then I'm screwed". It doesn't, however, help, when something really unexpected happens. For example, who would have expected beforehand to write a test case for the Pentium floating point bug? Not just a test case of whether floating point arithmetic works at all, but a test case specifically for the small number of special cases in which the original Pentium failed. It's for the unexpected cases where you really need your debugging skills. That's what the book is good for.

Martin F. Krafft: Happy Birthday, Debian

We are 13 years old today. If we believe the Chinese, where "thirteen" sounds similar to " ", which means "must be alive" (thanks, Wikipedia), then all I can add is: We surely are! Alive and Kickin'! (and we didn't need to resort to Chinese for that) Thanks, Ian!

15 August 2006

Martin F. Krafft: Test-driven development

Lars, I strongly suggest test-driven development. It seems to preemptively do the most relevant of what the debugging rules you quote instruct you to do later. The principles:
  1. design your interface
  2. write tests that fail
  3. write the code to make the tests stop failing
  4. refactor
  5. lather, rinse, repeat
It's a philosophy that anticipates bugs and errors, yet it uses that very fact to guard against them. Test-driven development has changed the way I (and many others, I learnt it while becoming a Plone developer) plan, design, think about, and implement code. And yet, it's really not far away from how you're already doing things. Really. For C++ coders, I recommend libtut, which is elegant and non-intrusive. PS: The definitive (and quite good) book on test-driven development by Kent Beck is only 200-something pages, so it's also in the domain of shorter books. Update: sorry, liw, for making it sound like I assumed you had spent the last years in a cocoon or cave or curled up in a corner. I didn't intend to doubt that you know of TDD, just wanted to get that off my mind what your post put there. And of course, I agree with you: TDD will not eliminate debugging. But it will make your debugging sessions a lot less frequent, even though the really long and painful ones are exactly those that it won't prevent...

14 August 2006

Norbert Tretkowski: Productive weekend

Last weekend was quite productive. First, Joerg Jaspert updated the dak installation on backports.org, which means we can also use ~ in version numbers. What does it mean? We no longer need to lower the Debian revision of the version number, 1.2.3-4 becomes 1.2.3-4~foo instead 1.2.3-3foo. Martin F. Krafft suggested to use 1.2.3-4~bpo.1 instead 1.2.3-4~bpo1, and I like the idea, it looks indeed better. Daniel Baumann already modified the contribute page on our website. Speaking about the website... it's now based on a wiki, thanks to Sebastian Harl, who implemented the old website design into the new Dokuwiki installation. If you want an account to edit something, just drop me a mail.

13 August 2006

Martin F. Krafft: Officially commencing my Ph.D. research

My professor, Brian Fitzgerald, identifies a common misconception about the initial phase of Ph.D. research as the drawing of a line to indicate a point in time when the research starts. Undoubtedly, a lot of thinking preceeds any such decision, and that's all part of the research. I didn't argue. Nevertheless, I do consider my research to have officially started with the beginning of this month, especially since I've really taken a turn from my initial plans last year. It's been painful staying away from computers as much as possible while trying to cure my wrist problems with all these ideas and a lot of enthusiasm about getting to work on them. Even though the problems hadn't subsided in February, I decided to get back online while trying to take more care of my body. Since then, I've attended a few conferences, addressed some legal issues, cleaned up my data, and travelled around in Southeast Asia. I could have continued going about, having a good time, and getting stuff done endlessly and I would have never started my research, which is why I decided to come to Limerick and booked a flight to have a fixed date. So far, it's been a lot of literature and papers, but I've also spent a considerable amount of time making plans for how to proceed, and I am really pleased with what I'm currently looking at, even though I really need to figure out how to avoid distractions. And since my wrists and the rest of the body aren't all well yet, I should really be explicit of how I spent the few hours per day that I can be typing. I've started a little web page to document my intentions and progress, and to bridge between the horribly tangled world of academia and the more pragmatic outside world, including the Debian project (which is core to my research). You can also find my current proposal on that page, in case you want to know more than the brief overview reveals. PS: is it really the case that there are no means on Linux to annotate PDFs and highlight text in them???

Clint Adams: Waiting for something to break

Looking out over Toronto from the top of the CN Tower, and still running for public office, I realize that I have taken several actions in my life for which I owe public apologies. Once, I blamed the entire history of Middle East politics on a hapless middle-aged retard just because he said that he liked malls. He is currently awaiting trial at the International Criminal Court in rainy The Hague. I would like to apologize to the people of the Netherlands for my part in inflicting an American on them. When I was 55, I strapped a large snowboard to each foot and sat in the middle of a narrow trail in Vermont, just to be a dick. I would like to apologize to all the skiers who injured themselves fatally in attempts to avoid me. Four hours later, I tried the same on a mountain in Utah. I would like to apologize to the American people for failing to injure any Mormons in that endeavor. In order to console myself, I broke into a beer brewery and upped the alcohol content to 4% by weight, in contravention of state law. I would like to apologize for wasting alcohol on the people of Utah. When I was three, my cousin hung up on an imaginary phone call with Mr. President and proceeded to place an imaginary phone call to Mr. Government. I became so overcome by stress from her antics that I cast away her mock aloe, peddled my tricycle to Boston, and pissed all over the First Church of Christ, Scientist. I would like to apologize for not having waited several years in order to piss on some Scientologists instead. I would like to apologize to Uncle Bill for having dragged his name into this blog entry, especially in such close proximity to the Scientologists, who hate him with aplomb. I would like to apologize for having re-enacted this episode every month since then, despite the protests of Mr. "I-am-not-a-Jew" Schwartz et al. Several years later, I defecated on the streets of Hoboken, Jersey City, Atlantic City, and Camden during rush-hour traffic. I would like to apologize for not doing this in every city in New Jersey (Newark in particular). Last month on a flight to Dar-us-Salaam, I noticed that Steve Martin was sitting across the aisle from me. While he was sleepily drooling into his pillow, I swiped his notebook. I would like to apologize to Steve Martin for plagiarizing this blog entry verbatim. I would also like to apologize for having sex with his wife Karen seventeen times. I would like to apologize to Karen for having sex with her three times without her consent, and I would like to apologize to both Steve and Karen for having sex with their children while pretending they were members of the Plimpton family. I would also like to apologize for having sex with their elderly Hawaiian turtle, whom I mistakenly believed was dead. In 1981, I dined at Sammy's Roumanian Steakhouse while wearing a purple zoot suit with a silver see-through mesh tank top. I would like to apologize to the Romanian people, the denizens of Chrystie Street, the City of New Orleans, the poblano farmers, the shiksa that gave me a lapdance, and the marmot named Stu who saw the pictures on the website of a Jewish dog rapist and promptly choked to death on his own vomit. In 1987, I dined at a Benihana with a girl who would later get tattoos and piercings. We sat at a hibachi with a truckload of Italian tourists who spoke no English at all. I would like to apologize for laughing hysterically at them when one asked, Du sprichst Deutsch? , and for getting blood all over the teppanyaki when I slit their throats after another asked, Quel pays ? On New Year's Eve in 1989, I dined at the same Benihana with a different girl whose command of Japanese was incomplete. When a middle-aged drunken British woman jammed her tongue into my mouth, a Brooklyn school bus driver laughed at me. After leaving the restaurant, he offered me a Werther's Original candy to get the taste of old woman out of my mouth. I would like to apologize for following him home and forcing him to watch the same episode of Full House over and over again for 37 hours. I would also like to apologize to Girl Scout Troop 5166 for calling them a bunch of stupid whores. While they still are a bunch of stupid whores, there was no way I could have known that at the time. Furthermore, when I was growing up, the term stupid whore approximated the use of Khidir beneath Momouteh and Shaka, when the walls fell. Finally, I would like to apologize for making a Star Trek reference when I could have said that thing about porchmonkeys instead. Now on with the campaign!

12 August 2006

Martin F. Krafft: The relation between cipher blocks and physical blocks

Many people have responded to my post on encrypted filesystems and power losses; thank you! To clear up the confusion, I decided to write a new entry rather than updating the previous one... I learnt two important things about encrypted block devices, which make me conclude that the addition of encryption does not put your filesystem at jeopardy any more than if it lived directly on the medium. First of all, AES works on blocks of size 128 bits, not 64 bytes, but that's mostly a cosmetic issue with respect to the original blog post. What's more important is that a power loss while writing out a cipher block effectively is the same as a power loss while writing out a physical block to the storage medium: the cipher block is usually smaller than the disk block, and an incompletely written disk block is considered to be invalid. So any incomplete cipher block results in an incomplete disk block, which in turn causes the filesystem to consider the block invalid and try to recover from the journal. What confused me for a long time was the use of chaining block ciphers (see the excellent Wikipedia article for more info). Essentially, block chaining adds security to encryption by making each (cipher) block depend on its predecessor. Great, I thought, so if the first block on disk is corrupted, it'll percolate all the way through the disk and render it all unusable... Well, fortunately, this is not the case... by that logic, a write to the first block would require all remaining blocks on the disk to be recalculated. It is true that cipher blocks are chained, but only within a physical block. This means that a read error on the medium may corrupt a cipher block, which then renders all following cipher blocks contained in the physical block unusable (for they cannot be decrypted anymore). But since the filesystem would already consider the entire block invalid, this does not add to problem. PS: Thanks to Peter Samuelson for (passively) leading me to the light.

Next.

Previous.