let write_block n buffer offset =
    if not !alive then system_error EIO "write_block: not alive" F.name;
    assert ((String.length buffer - offset) >= block_size);
    try
      lseek_block nignore (write disk buffer offset block_size);
    with Unix_error (_,_,_) ->
      system_error EIO "write_block: Unix_error" F.name