[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data los
From: |
Andreas Dilger |
Subject: |
Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers) |
Date: |
Wed, 6 Jul 2016 11:35:13 -0600 |
> On Jul 6, 2016, at 10:33 AM, Joerg Schilling <address@hidden> wrote:
>
> "Austin S. Hemmelgarn" <address@hidden> wrote:
>
>> On 2016-07-06 11:22, Joerg Schilling wrote:
>>>
>>>
>>> You are mistaken.
>>>
>>> stat /proc/$$/as
>>> File: `/proc/6518/as'
>>> Size: 2793472 Blocks: 5456 IO Block: 512 regular file
>>> Device: 5440000h/88342528d Inode: 7557 Links: 1
>>> Access: (0600/-rw-------) Uid: ( xx/ joerg) Gid: ( xx/ bs)
>>> Access: 2016-07-06 16:33:15.660224934 +0200
>>> Modify: 2016-07-06 16:33:15.660224934 +0200
>>> Change: 2016-07-06 16:33:15.660224934 +0200
>>>
>>> stat /proc/$$/auxv
>>> File: `/proc/6518/auxv'
>>> Size: 168 Blocks: 1 IO Block: 512 regular file
>>> Device: 5440000h/88342528d Inode: 7568 Links: 1
>>> Access: (0400/-r--------) Uid: ( xx/ joerg) Gid: ( xx/ bs)
>>> Access: 2016-07-06 16:33:15.660224934 +0200
>>> Modify: 2016-07-06 16:33:15.660224934 +0200
>>> Change: 2016-07-06 16:33:15.660224934 +0200
>>>
>>> Any correct implementation of /proc returns the expected numbers in
>>> st_size as well as in st_blocks.
>>
>> Odd, because I get 0 for both values on all the files in /proc/self and
>> all the top level files on all kernels I tested prior to sending that
>
> I tested this with an official PROCFS-2 implementation that was written by
> the inventor of the PROC filesystem (Roger Faulkner) who as a sad news pased
> away last weekend.
>
> You may have done your tests on an inofficial procfs implementation....
So, what you are saying is that you don't care about star working properly
on Linux, because it has an "inofficial" procfs implementation, while Solaris
has an "official" implementation?
>>> Now you know why BTRFS is still an incomplete filesystem. In a few years
>>> when it turns 10, this may change. People who implement filesystems of
>>> course need to learn that they need to hide implementation details from
>>> the official user space interfaces.
>>
>> So in other words you think we should be lying about how much is
>> actually allocated on disk and thus violating the standard directly (and
>> yes, ext4 and everyone else who does this with delayed allocation _is_
>> strictly speaking violating the standard, because _nothing_ is allocated
>> yet)?
>
> If it returns 0, it would be lying or it would be wrong anyway as it did not
> check fpe available space.
>
> Also note that I mentioned already that the priciple availability of SEEK_HOLE
> does not help as there is e.g. NFS...
So, it's OK that NFS is not POSIX compliant in various ways, and star will
deal with it, but you aren't willing to fix a heuristic used by star for a
behaviour that is unspecified by POSIX but has caused users to lose data
when archiving from several modern filesystems?
That's fine, so long as GNU tar is fixed to use the safe fallback in such
cases (i.e. trying to archive data from files that are newly created, even
if they report st_blocks == 0).
Cheers, Andreas
signature.asc
Description: Message signed with OpenPGP using GPGMail
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), (continued)
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Antonio Diaz Diaz, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Joerg Schilling, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Paul Eggert, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Joerg Schilling, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Paul Eggert, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Austin S. Hemmelgarn, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Joerg Schilling, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Austin S. Hemmelgarn, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Austin S. Hemmelgarn, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Joerg Schilling, 2016/07/06
- Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers),
Andreas Dilger <=
Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), Pavel Raiskup, 2016/07/07
Re: [Bug-tar] stat() on btrfs reports the st_blocks with delay (data loss in archivers), David Sterba, 2016/07/11