Initial revision
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/* Read files directly from the fast file system
|
||||
Copyright (C) 1992 Free Software Foundation
|
||||
|
||||
This file is part of GNU Tar.
|
||||
This file is part of GNU Tar.
|
||||
|
||||
GNU Tar is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
@@ -18,40 +18,5 @@
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
|
||||
dev_t lastdev;
|
||||
ino_t lastino;
|
||||
|
||||
struct dinode ino;
|
||||
struct fs fs;
|
||||
off_t offset;
|
||||
int device_fd;
|
||||
|
||||
int *sindir, *dindir, *tindir;
|
||||
int sindirblk, dindirblk, tindirblk;
|
||||
|
||||
read_raw_file (fd, buf, len)
|
||||
int fd;
|
||||
char *buf;
|
||||
int len;
|
||||
{
|
||||
struct stat st;
|
||||
off_t ntoread;
|
||||
int log_blkno, phys_blkno;
|
||||
|
||||
fstat (fd, &st);
|
||||
if (st.st_dev != lastdev)
|
||||
new_device (st.st_dev);
|
||||
|
||||
if (st.st_ino != lastino)
|
||||
new_inode (st.st_ino);
|
||||
|
||||
/* Only read single blocks at a time */
|
||||
if (len > fs.fs_bsize)
|
||||
len = fs.fs_bsize;
|
||||
|
||||
/* Prune to the length of the file */
|
||||
if (offset + len > ino.di_size)
|
||||
len = ino.di_size - offset;
|
||||
|
||||
log_blkno = lblkno (&fs, blkno);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user