Re: question about fsync

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

 



Theodore, thanks for your answer.

A similar question:

I have 2 threads. Both open the same file, but each using its own
(different) file descriptor.

If one thread writes data past the eof (appends data), will the other
one be able to read it with pread call (an offset past the eof it
found when it opened the file)?

I  would just like to know if it's something safe to do on Linux and
all Posix compliant platforms (and eventually Windows). (I tested this
with non C code and it worked)

best regards,


On Mon, Oct 25, 2010 at 1:54 PM, Theodore Tso <tytso@xxxxxxx> wrote:
>
> On Oct 25, 2010, at 7:49 AM, Filipe David Manana wrote:
>
>> - opens a file (write append mode) and writes data to it
>> - opens a 2nd file descriptor for that same file (write append mode as
>> well) and does an fsync call on this 2nd file descriptor
>> - closes the 2nd file descriptor
>> - continues writing to the 1st file descriptor
>> - etc
>>
>> Is there a risk that some of the data might not get fsynced to disk? I
>> mean, is it possible that the 2nd file descriptor doesn't have all the
>> same metadata as the first one?
>
> What do you mean by "risk?" ÂFor most Linux file systems, including ext2, ext3, and ext4, all of the data will be sync'ed out to disk. Â However, this is not guaranteed by POSIX or the Single Unix Specification. Â So in theory, there might exist some POSIX/SUS compliant implementation that would not sync out the data. ÂI think most Unix or Linux-compatible systems are such that you could count on this, but it's not a portable thing that you can count upon. Â I have no idea what the Windows POSIX layer would do in this situation, for example, or the Eunice Emulation layer for VMS. Â(Back in the Perl 3 days, Larry Wall's configure script would test for Eunice, and if not found, print the message, "Congratulations. ÂYou're not running Eunice." Â:-)
>
> -- Ted
>
>



-- 
Filipe David Manana,
fdmanana@xxxxxxxxx, fdmanana@xxxxxxxxxx

"Reasonable men adapt themselves to the world.
ÂUnreasonable men adapt the world to themselves.
ÂThat's why all progress depends on unreasonable men."
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux