LogRecordSequence.WriteRestartArea Method (IList<ArraySegment<Byte>>)


Writes a restart area to the LogRecordSequence. This method cannot be inherited.

Namespace:   System.IO.Log
Assembly:  System.IO.Log (in System.IO.Log.dll)

public SequenceNumber WriteRestartArea(
	IList<ArraySegment<byte>> data


Type: System.Collections.Generic.IList<ArraySegment<Byte>>

A list of byte array segments that will be concatenated and appended as the record.

Return Value

Type: System.IO.Log.SequenceNumber

The sequence number of the written restart area.

Exception Condition

One or more of the arguments is invalid.


An I/O error occurred while writing the restart area.


The record sequence could not make enough free space to contain the new restart area.


The method was called after the sequence has been disposed of.


One or more of the arguments are null.


Access for the specified log sequence is denied by the operating system.


There is not enough memory to continue the execution of the program.

A restart area is used to temporarily store information containing a client's last checkpoint operation. The Common Log File System (CLFS) maintains two restart areas to guarantee that at least one valid area is always available. When a recovery is necessary, the CLFS reads its restart area and all the data from the last checkpoint operation. This data initializes the transaction table, dirty pages table, and open file table so they can be used in the recovery process.

A restart area can be read using the ReadRestartAreas method.

The data in the byte array segments will be concatenated into a single byte array for appending as the record. No provision is made for splitting data back into array segments when the restart area is read.

.NET Framework
Available since 3.0
Return to top