-$Id: CHANGES,v 1.135 2001/08/17 09:55:09 stelian Exp $
+$Id: CHANGES,v 1.136 2001/09/06 09:00:31 stelian Exp $
Changes between versions 0.4b23 and 0.4b24 (released ?????????????)
===================================================================
very large files were encountered. Thanks to Vladimir Nadvornik
for the bug report.
+8. Added a ioctl(BLKFLSBUF) in dump which should flush the
+ kernel buffer/page cache before starting the dump, helping
+ a bit those who use dump on mounted filesystems. Thanks to
+ John Yu <jky@it.bu.edu> and to Theodore T'so <tytso@mit.edu>
+ for this suggestion.
+
Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001)
===================================================================
-$Id: THANKS,v 1.46 2001/07/18 09:50:48 stelian Exp $
+$Id: THANKS,v 1.47 2001/09/06 09:00:31 stelian Exp $
Dump and restore were written by the people of the CSRG at the University
of California, Berkeley.
Jason Venner jason@idiom.com
Christian Weisgerber naddy@mips.rhein-neckar.de
Kim Yong-jun loveyou@hackerslab.org
+John Yu jky@it.bu.edu
Ian Zimmerman itz@speakeasy.org>
#ifndef lint
static const char rcsid[] =
- "$Id: main.c,v 1.59 2001/08/16 15:24:21 stelian Exp $";
+ "$Id: main.c,v 1.60 2001/09/06 09:00:32 stelian Exp $";
#endif /* not lint */
#include <config.h>
#include <sys/time.h>
#include <time.h>
#ifdef __linux__
+#include <linux/fs.h>
#ifdef HAVE_EXT2FS_EXT2_FS_H
#include <ext2fs/ext2_fs.h>
#else
} /* end of size estimate */
#ifdef __linux__
+ if ((diskfd = OPEN(disk, O_RDONLY)) < 0) {
+ msg("Cannot open %s\n", disk);
+ msg("The ENTIRE dump is aborted.\n");
+ exit(X_STARTUP);
+ }
+#ifdef BLKFLSBUF
+ (void)ioctl(diskfd, BLKFLSBUF);
+#endif
retval = dump_fs_open(disk, &fs);
if (retval) {
com_err(disk, retval, "while opening filesystem");
msg("The ENTIRE dump is aborted.\n");
exit(X_STARTUP);
}
- if ((diskfd = OPEN(disk, O_RDONLY)) < 0) {
- msg("Cannot open %s\n", disk);
- msg("The ENTIRE dump is aborted.\n");
- exit(X_STARTUP);
- }
/* if no user label specified, use ext2 filesystem label if available */
if (spcl.c_label[0] == '\0') {
const char *lbl;
#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.54 2001/08/16 15:24:21 stelian Exp $";
+ "$Id: tape.c,v 1.55 2001/09/06 09:00:32 stelian Exp $";
#endif /* not lint */
#include <config.h>
#include <sys/wait.h>
#include <sys/mtio.h>
#ifdef __linux__
+#include <linux/fs.h>
+#undef atomic_read /* this get wrongly defined in kernel */
+ /* headers and we don't want it */
#ifdef HAVE_EXT2FS_EXT2_FS_H
#include <ext2fs/ext2_fs.h>
#else
void
rollforward(void)
{
- register struct req *p, *q, *prev;
+ register struct req *p, *q = NULL, *prev;
register struct slave *tslp;
int i, size, savedtapea, got;
union u_spcl *ntb, *otb;
if ((diskfd = OPEN(disk, O_RDONLY)) < 0)
quit("slave couldn't reopen disk: %s\n", strerror(errno));
#ifdef __linux__
+#ifdef BLKFLSBUF
+ (void)ioctl(diskfd, BLKFLSBUF);
+#endif
ext2fs_close(fs);
retval = dump_fs_open(disk, &fs);
if (retval)