From: drh Date: Fri, 15 Apr 2011 12:36:10 +0000 (+0000) Subject: Make sure the unix backend returns SQLITE_FULL if write() fails with an X-Git-Tag: version-3.7.7~158 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a21b83ba3bc3552c0dbd92fd5051533cda934718;p=thirdparty%2Fsqlite.git Make sure the unix backend returns SQLITE_FULL if write() fails with an ENOSPC error code. FossilOrigin-Name: 721e3c16b389a43f5d7c47a8fd0294473a39dad2 --- diff --git a/manifest b/manifest index e5d14469d7..6461c9d8a1 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\sextra\sCR\sand\sNL\scharacters\sfrom\sFormatMessage()\sgenerated\serror\nmessages\sin\sthe\swindows\sVFS. -D 2011-04-13T23:42:53.616 +C Make\ssure\sthe\sunix\sbackend\sreturns\sSQLITE_FULL\sif\swrite()\sfails\swith\san\nENOSPC\serror\scode. +D 2011-04-15T12:36:10.750 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 7a4d9524721d40ef9ee26f93f9bd6a51dba106f2 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -162,7 +162,7 @@ F src/os.c 22ac61d06e72a0dac900400147333b07b13d8e1d F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9 F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440 -F src/os_unix.c 6c9db4728681138141f0bfc6f931303ac4c67a36 +F src/os_unix.c dfe0ce8b089b2285bef0d6a987ec7d0d2ea9c825 F src/os_win.c 177a14a0690e072534749b5950034d0177bb26d6 F src/pager.c 055239dcdfe12b3f5d97f6f01f85da01e2d6d912 F src/pager.h 3f8c783de1d4706b40b1ac15b64f5f896bcc78d1 @@ -929,7 +929,7 @@ F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P fe603217fce8e3a696bd108d5ae7f7a291b7e215 -R 54b10af9b842720eb0ab1e9ba643c2c4 +P 8332949c28ac72890de82b49bc11f02064b2647d +R 47855d4bf67a20ac0aa325e3d7bd29c2 U drh -Z 8703b01c69eb945e3446a99257cc2edf +Z 9ee4ff13d3f59362e6b65781768e2aa1 diff --git a/manifest.uuid b/manifest.uuid index 2f4b90c6eb..172414c9fd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8332949c28ac72890de82b49bc11f02064b2647d \ No newline at end of file +721e3c16b389a43f5d7c47a8fd0294473a39dad2 \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index b70a9a6078..905b3cd235 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3090,7 +3090,7 @@ static int unixWrite( SimulateDiskfullError(( wrote=0, amt=1 )); if( amt>0 ){ - if( wrote<0 ){ + if( wrote<0 && pFile->lastErrno!=ENOSPC ){ /* lastErrno set by seekAndWrite */ return SQLITE_IOERR_WRITE; }else{