]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Simplify logic for syncing directories after creating or deleting a file in
authordrh <drh@noemail.net>
Thu, 26 Nov 2015 10:37:05 +0000 (10:37 +0000)
committerdrh <drh@noemail.net>
Thu, 26 Nov 2015 10:37:05 +0000 (10:37 +0000)
the unix VFS.

FossilOrigin-Name: eb180b4f04d412dcd0af138e2dd7f62fbb5ac439

manifest
manifest.uuid
src/os_unix.c

index 38bdbfc421a2d0dc5013835f2900be8e4231b70f..cf9f6bf0a70956ae0456cde94b1b31744ab130e8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Small\ssimplification\sto\sthe\sxOpen\smethod\sin\sthe\sunix\sVFS.
-D 2015-11-26T02:21:05.964
+C Simplify\slogic\sfor\ssyncing\sdirectories\safter\screating\sor\sdeleting\sa\sfile\sin\nthe\sunix\sVFS.
+D 2015-11-26T10:37:05.218
 F Makefile.in d828db6afa6c1fa060d01e33e4674408df1942a1
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e928e68168df69b353300ac87c10105206653a03
@@ -323,7 +323,7 @@ F src/os.c 8fd25588eeba74068d41102d26810e216999b6c8
 F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf
 F src/os_common.h abdb9a191a367793268fe553d25bab894e986a0e
 F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
-F src/os_unix.c 9b3a586ea41129a0a09c13fe421b2d9464964330
+F src/os_unix.c 8b35dc3b8b0a789052855cfc6eab6cd1d206fb81
 F src/os_win.c 386fba30419e8458b13209781c2af5590eab2811
 F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
 F src/pager.c 18341e2b759b447cbc82fb9215d08d9c5864e92e
@@ -1405,7 +1405,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 6c5621ce1b1a65913b088ed8be65f9b689260d2c
-R 8d655a3f1e63bc6ba67ee6f8b2910653
+P 96e7d638ecdabbf84a152036eb01d408d142839e
+R d6c3f6ff43a112db1f417e3ad4527c02
 U drh
-Z 1746dd40560755829f1cb168fd739f6f
+Z aa5e5077b0093450034838901b6e8de8
index 89850da9817c1d165f8416d487a12786d3060c28..ec7fac20848795b5580c0131a6633d595f7ef0a3 100644 (file)
@@ -1 +1 @@
-96e7d638ecdabbf84a152036eb01d408d142839e
\ No newline at end of file
+eb180b4f04d412dcd0af138e2dd7f62fbb5ac439
\ No newline at end of file
index d86a4a74572bfa80d3debaea632b9cd02cd5769c..43eec4c1f576922d17f6469f7acc345b49cbb9fd 100644 (file)
@@ -3500,7 +3500,8 @@ static int openDirectory(const char *zFilename, int *pFd){
     }
   }
   *pFd = fd;
-  return (fd>=0?SQLITE_OK:unixLogError(SQLITE_CANTOPEN_BKPT, "open", zDirname));
+  if( fd>=0 ) return SQLITE_OK;
+  return unixLogError(SQLITE_CANTOPEN_BKPT, "openDirectory", zDirname);
 }
 
 /*
@@ -3553,10 +3554,11 @@ static int unixSync(sqlite3_file *id, int flags){
     OSTRACE(("DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n", pFile->zPath,
             HAVE_FULLFSYNC, isFullsync));
     rc = osOpenDirectory(pFile->zPath, &dirfd);
-    if( rc==SQLITE_OK && dirfd>=0 ){
+    if( rc==SQLITE_OK ){
       full_fsync(dirfd, 0, 0);
       robust_close(pFile, dirfd, __LINE__);
-    }else if( rc==SQLITE_CANTOPEN ){
+    }else{
+      assert( rc==SQLITE_CANTOPEN );
       rc = SQLITE_OK;
     }
     pFile->ctrlFlags &= ~UNIXFILE_DIRSYNC;
@@ -5903,7 +5905,8 @@ static int unixDelete(
         rc = unixLogError(SQLITE_IOERR_DIR_FSYNC, "fsync", zPath);
       }
       robust_close(0, fd, __LINE__);
-    }else if( rc==SQLITE_CANTOPEN ){
+    }else{
+      assert( rc==SQLITE_CANTOPEN );
       rc = SQLITE_OK;
     }
   }