From Steve Baz's site...
Caused by unburned fuel passing through the engine. Some white smoke is normal on cold start-ups. Excessive white smoke could be an indication of inoperative glow plugs, loose injectors, low compression from worn rings or bent connecting rods, or coolant leak into the cylinders--head gasket or injector well sleeves.
Caused by excessive fuel for the amount of air drawn into the cylinders. Some black smoke on hard accelerate or at higher altitudes is normal. Excessive black smoke could result from restricted intake or exhaust, inoperative leaking or weak turbo, intake hose(s) leaks, leaking or worn injectors, fuel return or supply restriction, stuck Exhaust Back Pressure Regulator valve or solenoid. Also PCM inputs such as BARO MAP ICP or EBP sensors.
Blue or blue/white smoke:
Caused by insufficient fuel or oil consumption. Normal when engine is cold or idling for extended periods. Excessive smoke could be caused by air in the fuel, contaminated fuel, loose or plugged injectors, worn or leaking injector o-rings, thermostat stuck open, oil consumption, or plugged crankcase depression regulator valve. Also PCM inputs such as MAP or ICP sensors.