[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#7652) LMDB: mdb_copy fails on files > 2GB



dimitrij.denissenko@blacksquaremedia.com wrote:
> Full_Name: Dimitrij Denissenko
> Version:
> OS: Ubuntu 12.04 (64bit)
> URL:
> Submission from: (NULL) (62.30.100.0)
>
>
> Hi,
>
> The latest mdb.master (acf20f7) fails on files that are larger than 2G, even on
> 64bit systems.
>
> I could narrow it down to:

Thanks for the report. The bogus parts of those commits have been reverted.
>
> --- a/mdb/libraries/liblmdb/mdb.c
> +++ b/mdb/libraries/liblmdb/mdb.c
> @@ -4070,7 +4070,7 @@
>   		else
>   			w2 = wsize;
>   		wres = write(fd, ptr, w2);
> -		rc = wres == (ssize_t)w2 ? MDB_SUCCESS : wres < 0 ? ErrCode() : EIO;
> +		rc = wres > 0 ? MDB_SUCCESS : ErrCode();
>   		if (rc) break;
>   		wsize -= wres;
>   		ptr += wres;
>
> After this change the environment was copied correctly.
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/