Re: sync_file_range.2: add some big WARNINGS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Christoph,

On Sun, Jan 10, 2010 at 3:49 AM, Christoph Hellwig <hch@xxxxxx> wrote:
> Are you going to put this or some equivalent note in?   Currently the
> manpages is extremly dangerous as it doesn't warn people about this
> system call not actually guaranteeing any data integrity.

I lightly edited your patch, and applied it. Sorry for the long delay.

Cheers,

Michael

> On Thu, Aug 27, 2009 at 08:01:16PM +0200, Christoph Hellwig wrote:
>> This system call is by design completely unsuitable for any data
>> integrity operations.  Make that very clear in the manpage.
>>
>>
>> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
>>
>> Index: man-pages/man2/sync_file_range.2
>> ===================================================================
>> --- man-pages.orig/man2/sync_file_range.2     2009-08-27 14:51:51.373360594 -0300
>> +++ man-pages/man2/sync_file_range.2  2009-08-27 14:57:35.213854927 -0300
>> @@ -80,11 +80,22 @@ after performing any write.
>>  Specifying
>>  .I flags
>>  as 0 is permitted, as a no-op.
>> -.SS Some details
>> -None of these operations write out the file's metadata.
>> +.SS WARNING
>> +This system call is extremly dangerous and should not be used in portable
>> +programs.  None of these operations write out the file's metadata.
>>  Therefore, unless the application is strictly performing overwrites of
>> -already-instantiated disk blocks,
>> -there are no guarantees that the data will be available after a crash.
>> +already-instantiated disk blocks, there are no guarantees that the data will
>> +be available after a crash.  There is no user interface to know if a
>> +write is purely an overwrite. On filesystem using copy on write semantics
>> +like
>> +.IR btrfs
>> +an over write of existing allocated blocks is impossible.  Writing into
>> +pre-allocated space many filesystems also require calls into the block
>> +allocator which this system call does not sync out to disk.
>> +This system call does not flush disk write caches and thus does not provide
>> +any data integrity on systems with volatile disk write caches.
>> +
>> +.SS Some details
>>
>>  .B SYNC_FILE_RANGE_WAIT_BEFORE
>>  and
> ---end quoted text---
>



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface" http://blog.man7.org/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux