Well sounds like your primary hard drive, or the one that Steam/MW3 are installed on (if custom install) is near full... delete some of your pr0n and it should resolve the issue... stop torrenting so much crap... but whatever it takes, it sounds like you need to delete some stuff and make room for the game to run properly... if this is not the case that your hard drive is near full, then I would contact Steam and/or Activision and find what is causing this.
Default location for Steam/MW3 in Win 7 is:
C:\Program Files (x86)\Steam\steamapps\common\call of duty modern warfare 3
(note that you may only have a 'Program Files' folder instead, due to the fact that you may be operating with a 32bit OS installation, and mine is seperate in the 'x86' version because I am running a 64bit version of Win 7 Ultimate, still also having a 'Program Files' folder, which in my case is for 64bit installations and the 'x86' folder refers to 32bit program information)
To check available hard drive space on your primary (and also secondary, in the case the game is installed in a custom location) in Windows:
Click the Start button in Win XP (Windows symbol for Vista/7 in bottom lower left corner, then in the right side menu windowpane, click 'Computer', and your default drive for the majority is almost always C: drive... right click the drive and select 'Properties' to view a pie chart showing filled/free space (also Vista? and 7 for positive shows a bar graph and drive stats bar that shows data as in '476gb free of 640gb' for example... if the first number is very low (in the case that status bar is showing red in color in Vista/7) for example stats showing '2gb free of 640gb' then you only have 2gb of space left to work with and need to figure out what you should delete in order to make room... keep in mind Windows by default also sets a hidden partition of your hard drive as virtual memory to take some pressure off the hardware RAM memory chips and speed things up on its own, so having 2gb free is like saying you have 1gb free truthfully (or whatever this cache is set to, if not default, since it can be user defined allocation of space) for example...