Types of errors that disk driver can return ?

I develop a disk driver under windows 2000.
In the driver, according to the flow, I do some processing on the
data (blocks) that I get. sometimes (on IRP_MJ_WRITE) I also split
the data and save it in more then one place, and on IRP_MJ_READ
I sometimes read the data from more then one source and merge the buffers.

Let say that the read or write operation failed.
Let say that I failed to restore some of the data that I split or
I failed to save the block, like bad sector.

What is the right error that my driver need to return to an upper level
driver (file system driver) ?

And a more general question: What are the errors that file system
know to handle if it gets one from a disk driver ?

What are the errors that disk driver need to return if it encounter
one.

I tried to find an error (like bad sector) that case the file system (for
example NTFS) to mark this area as bad sector and it will try to save
the data in a different sector. I tried to find an error that cause the file
system to make retries.

Thanks in advance.

Ophir.