Import OSX fsync change from LevelDB subtree #2916

pull sipa wants to merge 2 commits into bitcoin:master from sipa:leveldb-osxfsync changing 1 files +5 −1
  1. sipa commented at 1:15 PM on August 20, 2013: member

    No description provided.

  2. Squashed 'src/leveldb/' changes from a02ddf9..be1b0ff
    be1b0ff On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.
    
    git-subtree-dir: src/leveldb
    git-subtree-split: be1b0ff1fcd6ad820a7fd111ac671fb51cc68001
    1bb86d6f15
  3. Merge leveldb subtree change.
    * On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.
    b28d8b423b
  4. gmaxwell commented at 1:23 PM on August 20, 2013: contributor

    I can't test, but the change looks fine to me. ACK.

  5. jgarzik commented at 1:24 PM on August 20, 2013: contributor

    ACK

  6. BitcoinPullTester commented at 1:46 PM on August 20, 2013: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/b28d8b423bddc860c5858a9df2982ce825835350 for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  7. wtogami commented at 8:54 PM on August 20, 2013: contributor

    We did test this on Bitcoin and Litecoin builds.

    https://github.com/wtogami/bitcoin/commit/353c0cc4e1a47b524fb9a5ce194bde8917cb630b Should the commit credit go to Dana Powers, and perhaps include a link to the leveldb bug something like this?

  8. gavinandresen commented at 10:35 PM on August 20, 2013: contributor

    Running with no issues on my Mac.

  9. gavinandresen referenced this in commit 3337481a4b on Aug 20, 2013
  10. gavinandresen merged this on Aug 20, 2013
  11. gavinandresen closed this on Aug 20, 2013

  12. sigkill commented at 5:57 AM on November 27, 2013: none

    Also from looking at other folks regarding this issue:

    https://bitcointalk.org/index.php?topic=190710.0

    [quote]"I have backups of the __db.XXX files - and the wallet.dat files from when the original corruption occured.

    And I followed instructions here : https://bitcointalk.org/index.php?topic=11331.0

    They seemed to make logical sense, but I guess they were wrong -

    I attempted to run it with fixwallet.py as mentioned."[/quote]

    The file names suggested in this post certainly sound like the OS X AppleDouble File Format:

    AppleDouble File Format While file system metadata helps make the user’s experience on Lion richer, compatibility with third-party file systems can be an issue. Only volumes formatted with the Mac OS Extended file system fully support Mac OS X–style resource forks, data forks, file flags, and extended attributes. Third-party software has been developed for Windows-based operating systems to allow them to access the extended metadata features of Mac OS Extended. More often, though, users will use the compatibility software built into Lion to help other file systems cope with these metadata items.

    For most non-Mac OS volumes, Lion stores the file system metadata in a separate hidden data file. This technique is commonly referred to as AppleDouble. For example, if you copy a file containing metadata named “My Document.docx” to a FAT32 volume, Lion will automatically split the file and write it as two discrete pieces on the FAT32 volume. The file’s internal data would be written with the same name as the original, but the metadata would end up in a file named ._My Document.docx that would remain hidden from the Finder. This works out pretty well for most files because Windows applications only care about the contents of the data fork. But, some files do not take well to being split up, and all the extra dot-underscore files create a bit of a mess on other file systems.

  13. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-19 09:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me