generic transaction-oriented storage for files