[OE-core] [PATCH 1/1] pseudo: Use fxstatat64 in unlinkat

Richard Purdie richard.purdie at linuxfoundation.org
Thu Aug 2 20:08:09 UTC 2012


Adding seebs to the cc since I suspect he may prefer to merge this
upstream or he may have feedback?

Cheers,

Richard

On Thu, 2012-08-02 at 23:00 +0300, Andrei Gherzan wrote:
> This is done to avoid "Value too large for defined data type" error while trying to
> remove a file > 2GB.
> 
> [Yocto #2881]
> 
> Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
> ---
>  .../pseudo/files/unlinkat-use-fxstatat64.patch     |   30 ++++++++++++++++++++
>  meta/recipes-devtools/pseudo/pseudo_1.4.bb         |    5 ++--
>  2 files changed, 33 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-devtools/pseudo/files/unlinkat-use-fxstatat64.patch
> 
> diff --git a/meta/recipes-devtools/pseudo/files/unlinkat-use-fxstatat64.patch b/meta/recipes-devtools/pseudo/files/unlinkat-use-fxstatat64.patch
> new file mode 100644
> index 0000000..987c4c8
> --- /dev/null
> +++ b/meta/recipes-devtools/pseudo/files/unlinkat-use-fxstatat64.patch
> @@ -0,0 +1,30 @@
> +pseudo: Use fxstatat64 in unlinkat
> +
> +This is done to avoid "Value too large for defined data type" error while trying to
> +remove a file > 2GB.
> +
> +Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
> +Upstream-Status: Pending
> +
> +Index: pseudo-1.4/ports/unix/guts/unlinkat.c
> +===================================================================
> +--- pseudo-1.4.orig/ports/unix/guts/unlinkat.c	2012-07-27 23:30:37.000000000 +0300
> ++++ pseudo-1.4/ports/unix/guts/unlinkat.c	2012-08-02 22:43:26.826645748 +0300
> +@@ -8,7 +8,7 @@
> +  */
> + 	pseudo_msg_t *msg;
> + 	int save_errno;
> +-	struct stat buf;
> ++	struct stat64 buf;
> + 	int old_db_entry;
> + 
> + #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS
> +@@ -31,7 +31,7 @@
> + #ifdef PSEUDO_NO_REAL_AT_FUNCTIONS
> + 	rc = real_lstat(path, &buf);
> + #else
> +-	rc = real___fxstatat(_STAT_VER, dirfd, path, &buf, AT_SYMLINK_NOFOLLOW);
> ++	rc = real___fxstatat64(_STAT_VER, dirfd, path, &buf, AT_SYMLINK_NOFOLLOW);
> + #endif
> + 	if (rc == -1) {
> + 		return rc;
> diff --git a/meta/recipes-devtools/pseudo/pseudo_1.4.bb b/meta/recipes-devtools/pseudo/pseudo_1.4.bb
> index e1e1f6f..4c21172 100644
> --- a/meta/recipes-devtools/pseudo/pseudo_1.4.bb
> +++ b/meta/recipes-devtools/pseudo/pseudo_1.4.bb
> @@ -1,8 +1,9 @@
>  require pseudo.inc
>  
> -PR = "r12"
> +PR = "r13"
>  
> -SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
> +SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \
> +           file://unlinkat-use-fxstatat64.patch"
>  
>  SRC_URI[md5sum] = "bc04c6c9d13cfdb789ffc2f3cca9ab08"
>  SRC_URI[sha256sum] = "147fa7b177061a145d330b9e159529a185be94550f123c6acb0d3b75d480c5b4"






More information about the Openembedded-core mailing list