[curl] eliminate unnecessary inotify events on upload via file protocol (#844385)

Kamil Dudka kdudka at fedoraproject.org
Wed Aug 1 07:52:36 UTC 2012


commit 4e2353e082ef129887d9b2b40cda4019a61e1396
Author: Kamil Dudka <kdudka at redhat.com>
Date:   Wed Aug 1 09:47:27 2012 +0200

    eliminate unnecessary inotify events on upload via file protocol (#844385)

 0001-curl-7.27.0-1f8518c5.patch |   34 ++++++++++++++++++++++++++++++++++
 curl.spec                       |    8 +++++++-
 2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/0001-curl-7.27.0-1f8518c5.patch b/0001-curl-7.27.0-1f8518c5.patch
new file mode 100644
index 0000000..02e2e6e
--- /dev/null
+++ b/0001-curl-7.27.0-1f8518c5.patch
@@ -0,0 +1,34 @@
+From e693b8e6591366ef2c077ba90fe0315a8a0b00c5 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka at redhat.com>
+Date: Mon, 30 Jul 2012 14:20:07 +0200
+Subject: [PATCH] file: use fdopen() for uploaded files if available
+
+It eliminates noisy events when using inotify and fixes a TOCTOU issue.
+
+Bug: https://bugzilla.redhat.com/844385
+
+[upstream commit 1f8518c5d9aaa369dae85620973f9b5c1add3277]
+---
+ lib/file.c |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/lib/file.c b/lib/file.c
+index 4447c73..1025022 100644
+--- a/lib/file.c
++++ b/lib/file.c
+@@ -351,8 +351,12 @@ static CURLcode file_upload(struct connectdata *conn)
+       failf(data, "Can't open %s for writing", file->path);
+       return CURLE_WRITE_ERROR;
+     }
++#ifdef HAVE_FDOPEN
++    fp = fdopen(fd, "wb");
++#else
+     close(fd);
+     fp = fopen(file->path, "wb");
++#endif
+   }
+ 
+   if(!fp) {
+-- 
+1.7.1
+
diff --git a/curl.spec b/curl.spec
index 93b923c..beee07c 100644
--- a/curl.spec
+++ b/curl.spec
@@ -1,13 +1,16 @@
 Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
 Name: curl
 Version: 7.27.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: MIT
 Group: Applications/Internet
 Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
 Source2: curlbuild.h
 Source3: hide_selinux.c
 
+# eliminate unnecessary inotify events on upload via file protocol (#844385)
+Patch1: 0001-curl-7.27.0-1f8518c5.patch
+
 # patch making libcurl multilib ready
 Patch101: 0101-curl-7.27.0-multilib.patch
 
@@ -230,6 +233,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/aclocal/libcurl.m4
 
 %changelog
+* Wed Aug 01 2012 Kamil Dudka <kdudka at redhat.com> 7.27.0-2
+- eliminate unnecessary inotify events on upload via file protocol (#844385)
+
 * Sat Jul 28 2012 Kamil Dudka <kdudka at redhat.com> 7.27.0-1
 - new upstream release
 


More information about the scm-commits mailing list