Ethernet Shield: Log sensor readings to SD card and serve the logs over Ethernet

This is the offending code. When it is absent, the ethernet webserver will return a list of the files on the card and allow me to access them. When this code is present it errors at file.open() and the webserver is not accesible through the browser, although I can ping the card successfully.

//// 
char name[] = "TEST10.TXT";
  PgmPrint("Appending to: ");
  Serial.println(name);
    if (!file.open(root, name, O_CREAT | O_APPEND | O_WRITE)) error("open failed");

    file.print(now.unixtime());
    Serial.print(now.unixtime());
    file.print(", ");
    Serial.print(", ");
    file.print(TMP102_C);
    Serial.println(TMP102_C);
    file.println("");
    if (file.writeError) error("write failed");
    if (!file.close()) error("close failed");
////