[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-tar] Tar short read
From: |
Kevin Fox |
Subject: |
Re: [Bug-tar] Tar short read |
Date: |
Mon, 26 Sep 2011 15:31:57 -0700 |
On Mon, 2011-09-26 at 15:22 -0700, Fox, Kevin M wrote:
> On Mon, 2011-09-26 at 14:48 -0700, Sergey Poznyakoff wrote:
> > Kevin Fox <address@hidden> ha escrit:
> >
> > > Tar starts padding out the file
> > > with 0's up until the file stat size and returns a message like:
> > > NET.csv: File shrank by 45427965 bytes; padding with zeros
> >
> > This means that a read returned 0 bytes,
>
> Nope. Its clearly returning a short read, not a 0.
>
> I see a read of 8704 (10240 - the tar headers I'm assuming)
> then 3275 reads of 10240 bytes each,
> then the short read of 9728 (sums to exactly 32mb) then tar never issues
> another read on that descriptor.
>
> > but not all file contents has
> > been read.
> >
> > > I believe in this case, tar should try to fill its remaining buffer
> > > space with another read
> >
> > That's what it actually does, but hits EOF.
>
> I found the code in question and wrote a rough fix that works for me.
> I'll submit a patch to the mailing list as soon as I can get it through
> legal.
Wow. Legal was really quick today. Please see the attached patch. Its
very rough, but illustrates the problem and potential solution.
Thanks,
Kevin
>
> In the mean time, if you want to have a look:
>
> search for safe_read in src/create.c. There is only one of them in that
> file. It gets count, checks for error, then bails if count != bufsize,
> never retrying in the short read case. I haven't looked farther to see
> if there are any other code paths that have similar bugs.
>
> Thanks,
> Kevin
>
> > Are you sure it's not a bug
> > of the underlying filesystem?
> >
> > Regards,
> > Sergey
>
>
>
tar_short_read.patch
Description: Text Data
- [Bug-tar] Tar short read, Kevin Fox, 2011/09/26
- Re: [Bug-tar] Tar short read, Sergey Poznyakoff, 2011/09/26
- Re: [Bug-tar] Tar short read, Kevin Fox, 2011/09/26
- Re: [Bug-tar] Tar short read,
Kevin Fox <=
- Re: [Bug-tar] Tar short read, Paul Eggert, 2011/09/26
- Re: [Bug-tar] Tar short read, Kevin Fox, 2011/09/26
- Re: [Bug-tar] Tar short read, Paul Eggert, 2011/09/26
- Re: [Bug-tar] Tar short read, Kevin Fox, 2011/09/27
- Re: [Bug-tar] Tar short read, Kevin Fox, 2011/09/27
- Re: [Bug-tar] Tar short read, Sergey Poznyakoff, 2011/09/27
- Re: [Bug-tar] Tar short read, Kevin Fox, 2011/09/27
- Re: [Bug-tar] Tar short read, Sergey Poznyakoff, 2011/09/27
- Re: [Bug-tar] Tar short read, Kevin Fox, 2011/09/27
- Re: [Bug-tar] Tar short read, Sergey Poznyakoff, 2011/09/27