Switch !O_CREAT case to use of do_last()