Does this mean the short block needs replacing ? This is what a mechanic is telling us, our warranty ends soon, this is expensive work. He says it is a common problem. There are no fluid leaks, but the engine knocks continuously.
Is the car stock? Have you done anything to it? What kind of gas are you using? Engine knock means that the gas is detonating before the spark plug fires...this is not good. You might have done damage to the engine depending on how long this has been happening for and how bad it is. You need to pull the engine and open it up to determine if you have a problem or how bad the engine is.
If it's under warranty take it to the dealer. If memory serves Subarus had a common engine oiling problem from that time period (some retarded filter screen in an oil passage gets blocked or something, I can't remember the specifics. So make sure you have records of your oil changes because if it's related to that they will attempt to get out of paying for the repair.