Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Feb 2002 17:30:45 -0800 (PST)
From:      Ian Dowse <iedowse@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sbin/restore restore.c
Message-ID:  <200202140130.g1E1UjU33825@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
iedowse     2002/02/13 17:30:45 PST

  Modified files:
    sbin/restore         restore.c 
  Log:
  In createfiles(), properly handle a number of cases where no further
  volumes are available, instead of getting stuck in a loop calling
  getvol(). Normally restore in 'x' or 'i' modes will ask for a new
  (earlier) volume when the current inode number on the tape is greater
  than the last inode to be restored, since there can be no further
  inodes of interest on that volume. However we don't want to change
  volumes in this case either if the user explicitly said that there
  are no more tapes, or if we are looking at the first volume.
  
  When no more volumes are available but there are still inodes that
  we have not found, we now just fall through to the code that prints
  out a list of any missing files, so the restore completes normally.
  Also simplify the logic a bit by always returning to the start of
  the main for(;;) loop whenever the volume has changed.
  
  This should completely fix the "Changing volumes on pipe input" bug
  that is often observed when restoring dumps of active filesystems.
  
  PR:             bin/4176, bin/34604, misc/34675
  
  Revision  Changes    Path
  1.8       +24 -16    src/sbin/restore/restore.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202140130.g1E1UjU33825>