the compiler is warning you against its own laziness. in this case it is using a global temporary to hold the intermediate value of (lba = f->lba) while converting it to uchar. if you had another thread running through this code it would use the same temporary.
use lba = f->lba; ah->lba0 = lba; russ
