A system comprising a plurality of storage nodes that together implement a block-based storage service, wherein storage nodes are configured to selectively enable or disable page-cache write logging for different data volumes stored in the block-based storage service, wherein a storage node is one of one or more storage nodes of the plurality of storage nodes that implement page cache write logging for one or more data volumes, wherein other ones of the plurality of storage nodes do not implement page cache write logging for one or more data volumes, the storage node comprising: one or more block-based storage devices maintaining one or more data volumes , a system memory, comprising a page cache , wherein the page cache is periodically or aperiodically flushed to the one or more block-based storage devices in order to persistently update the one or more data volumes, and a persistent storage device maintaining a page cache write log , wherein the page cache write log maintains a plurality of log records describing updates to the page cache, wherein the plurality of log records are applicable to restore a prior state to the page cache in the event of a system failure resulting in a loss of data in the page cache; wherein the storage node is configured to: receive a write request for a particular data volume of the one or more data volumes, update at least one corresponding entry of a plurality of entries in the page cache for the write request, determine whether page cache write logging is enabled for the particular data volume, if page cache write logging is enabled for the particular data volume, store a log record describing the update to the at least one corresponding page cache entry in the page cache write log, in response to updating the page cache entry and storing the log record in the page cache write log, acknowledge the write request as complete, and if page cache write logging is disabled for the particular data volume, acknowledge the write request as complete without storing a log record in the page cache write log; wherein the system is further configured to: evaluate the other ones of the plurality of storage nodes; and based at least in part on said evaluating, select one or more storage nodes of the other storage nodes to implement page cache write logging. one or more block-based storage devices maintaining one or more data volumes , a system memory, comprising a page cache , wherein the page cache is periodically or aperiodically flushed to the one or more block-based storage devices in order to persistently update the one or more data volumes, and a persistent storage device maintaining a page cache write log , wherein the page cache write log maintains a plurality of log records describing updates to the page cache, wherein the plurality of log records are applicable to restore a prior state to the page cache in the event of a system failure resulting in a loss of data in the page cache; receive a write request for a particular data volume of the one or more data volumes, update at least one corresponding entry of a plurality of entries in the page cache for the write request, determine whether page cache write logging is enabled for the particular data volume, if page cache write logging is enabled for the particular data volume, store a log record describing the update to the at least one corresponding page cache entry in the page cache write log, in response to updating the page cache entry and storing the log record in the page cache write log, acknowledge the write request as complete, and if page cache write logging is disabled for the particular data volume, acknowledge the write request as complete without storing a log record in the page cache write log; evaluate the other ones of the plurality of storage nodes; and based at least in part on said evaluating, select one or more storage nodes of the other storage nodes to implement page cache write logging. <EOS>