let testread disk path  =
  let module File = struct let name = disk end in
  let module U = Simplefs.Mount (Disk.Opendisk (File)) in
  let desc = U.openfile path [U.O_RDWRU.O_CREAT; ] 0o666 in
  let buffer_size = 1024 in
  let buffer = String.create buffer_size in
  let rec copy_loop () =
    match U.read desc buffer 0 buffer_size with
      0 -> ()
    | r -> ignore (Unix.write Unix.stdout buffer 0 r); copy_loop () in
  copy_loop ();
  U.close desc;;

if Array.length Sys.argv > 2 then
  Printexc.catch testread Sys.argv.(1) Sys.argv.(2);;
(Il faudrait en principe démonter le disque pour l'arrêter proprement, à la fin du programme. Ici, ce sera fait brutalement par l'arrêt du programme. Dans la mesure où l'on n'a pas fait d'écriture on il n'y a en fait rien à sauvegarder.)