From: drh Date: Thu, 9 Feb 2006 23:05:51 +0000 (+0000) Subject: Ignore errors when when calling fsync() on a directory. Ticket #1657. (CVS 3068) X-Git-Tag: version-3.6.10~3099 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=86631a5ad116fa027578b2400f8ac4a344cb31db;p=thirdparty%2Fsqlite.git Ignore errors when when calling fsync() on a directory. Ticket #1657. (CVS 3068) FossilOrigin-Name: d54d3b82c468b7e6dd39aac6aac56b26b3918c37 --- diff --git a/manifest b/manifest index 54db374110..6fbe27c0cd 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Allow\s'@'\sto\sintroduce\shost\sparameter\snames\sfor\scompatibility\swith\nMS\sSQL\sServer.\s\sTicket\s#1671.\s(CVS\s3067) -D 2006-02-09T22:24:41 +C Ignore\serrors\swhen\swhen\scalling\sfsync()\son\sa\sdirectory.\s\sTicket\s#1657.\s(CVS\s3068) +D 2006-02-09T23:05:51 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -55,7 +55,7 @@ F src/os.h 93035a0e3b9dd05cdd0aaef32ea28ca28e02fe78 F src/os_common.h 108cd719c96a2b714b64e02aeabbd40684274e6a F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3 -F src/os_unix.c 9de1887768d94a63a4043ad487dd1c595437488e +F src/os_unix.c dfd3b03ab09a43d50d0fabc3bca7b0796512d088 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e F src/os_win.c c67a2c46d929cf54c8f80ec5e6079cf684a141a9 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b @@ -351,7 +351,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 9e04f8fdf1ec0dc36effb55c05d075b3b4777fef -R e678992aa2b606745868d200436d156c +P 0738ef818d4023a5159b6bee0a65f0b83d01c1d5 +R 9d82f47f56b8d05740c30b2797755d9b U drh -Z cc6709d698c915cec8c5cbd42f8301c1 +Z ed0151d0fbc7fcca110e9a3939d74452 diff --git a/manifest.uuid b/manifest.uuid index c5b1b0d5ea..ed3e57245a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0738ef818d4023a5159b6bee0a65f0b83d01c1d5 \ No newline at end of file +d54d3b82c468b7e6dd39aac6aac56b26b3918c37 \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index 776cbbc02b..7573c91750 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -1060,7 +1060,12 @@ static int unixSync(OsFile *id, int dataOnly){ TRACE2("DIRSYNC %-3d\n", pFile->dirfd); #ifndef SQLITE_DISABLE_DIRSYNC if( full_fsync(pFile->dirfd, pFile->fullSync, 0) ){ - return SQLITE_IOERR; + /* We have received multiple reports of fsync() returning + ** errors when applied to directories on certain file systems. + ** A failed directory sync is not a big deal. So it seems + ** better to ignore the error. Ticket #1657 + */ + /* return SQLITE_IOERR; */ } #endif close(pFile->dirfd); /* Only need to sync once, so close the directory */