GlitchKernel/Glitch — comment on commit adb6ff1367f2b02e5b33790a9c9731382b34bacb
File: fs/ext4/page-io.c line 123
By Efpophis:

Something about this block of code doesn't quite look right to me.

Is the call to inode_dio_done() supposed to be commented out? and is it the only thing that's done if the flag is set?

It looks like, from the indenting, that all the "wake anyone waiting on unwritten extent conversion" stuff was intended to also be in the if (io->flag & EXT4_IO_END_DIRECT ) block, but is not actually due to no curly-braces.

I won't pretend to know what this code is doing, but since we're having issues in recovery with backing up an ext4 partition (/data), it might be worth making sure this code is actually doing what it is supposed to. I did find out that the TAR command used for backing up data is going into an un-interruptable sleep while waiting for IO to complete, and it seems like it is never woken up. Since that looks like something this code here could be doing wrong, maybe it's worth a look....

Sorry to be a PITA :)