X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=dump%2Ftape.c;h=f61fc879ee395b2228fe61d4e510d0348ea96210;hp=8d8933f6eea8079fcf87e719101142e6bc5a97a3;hb=103245b6fea8e7d77722e85ccb404ac1d928987d;hpb=1df5c692513d8067e0892398e1301b7eb8bba2a1 diff --git a/dump/tape.c b/dump/tape.c index 8d8933f..f61fc87 100644 --- a/dump/tape.c +++ b/dump/tape.c @@ -41,7 +41,7 @@ #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 @@ -72,6 +72,9 @@ int write(), read(); #include #include #ifdef __linux__ +#include +#undef atomic_read /* this get wrongly defined in kernel */ + /* headers and we don't want it */ #ifdef HAVE_EXT2FS_EXT2_FS_H #include #else @@ -562,7 +565,7 @@ close_rewind(void) 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; @@ -1046,6 +1049,9 @@ doslave(int cmd, int slave_number, int first) 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)