Re: [GIT PULL]

From: Linus Torvalds
Date: Fri Feb 11 2011 - 19:34:28 EST


On Fri, Feb 11, 2011 at 5:40 AM, Ted Ts'o <tytso@xxxxxxx> wrote:
>
> Please pull from:
>
>  git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git for_linus
>
> to get regression and bug fixes for 2.6.38.
>
> Eric Sandeen (3):
>      ext4: serialize unaligned asynchronous DIO

This is a completely disgusting patch, and it causes warnings like this:

fs/ext4/file.c: In function ‘ext4_aiodio_wait’:
fs/ext4/file.c:60:44: warning: cast from pointer to integer of different size

because that disgusting patch does things like

#define ext4_aio_mutex(v) (&ext4__aio_mutex[((unsigned)v) % EXT4_WQ_HASH_SZ])

which is just terminally broken.

It's terminally broken for multiple reasons, too. It's not just "oh, a
warning". It's a case of "oh, THAT CODE IS UTTER CRAP". The warning
was just the lucky reason I noticed the totally unacceptable code.

Dammit, don't send sh*t to me this late in the release cycle. This
clearly went through _zero_ quality control.

Linus

PS. If people don't understand why that code is utter crap, let me
give you a hint: macro argument expansion vs operator precedence.

PPS. And btw, the warning is unacceptable too. Cast the thing to
"unsigned long" (or uintptr_t, but quite frankly, in the kernel I'd
suggest "unsigned long" rather than the more obscure standard types)
after you've fixed the macro argument problem.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/