The new glibc has a var "readahead" in /usr/include/bits/fcntl.h that clashes with a variable of the same name in hdparm. I was unsure whether it's appropriate to fix glibc or hdparm, so I went for the latter since it's smaller and less scary. Patch follows.
Created attachment 25225 [details, diff] patch to rename "readahead" to "doreadahead" where appropriate
thanks! was just going to write the same patch myself :) committed to CVS, should hit rsync soon!