diff --git a/.gitignore b/.gitignore
index aca1a0c..97b8fbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/libostree-2018.5.tar.xz
+SOURCES/libostree-2019.1.tar.xz
diff --git a/.ostree.metadata b/.ostree.metadata
index 53d5555..628ad9b 100644
--- a/.ostree.metadata
+++ b/.ostree.metadata
@@ -1 +1 @@
-d4358ab204553ee86b1dc185d069c8c2a39f0d84 SOURCES/libostree-2018.5.tar.xz
+900ba73e247e2658c5f87a76b3fb74597bb0d748 SOURCES/libostree-2019.1.tar.xz
diff --git a/SOURCES/0001-fdio-Handle-ENOTTY-from-copy_file_range.patch b/SOURCES/0001-fdio-Handle-ENOTTY-from-copy_file_range.patch
new file mode 100644
index 0000000..9dd2c42
--- /dev/null
+++ b/SOURCES/0001-fdio-Handle-ENOTTY-from-copy_file_range.patch
@@ -0,0 +1,35 @@
+From a587fa65f9e716ffdb01912795811726c70dc6b1 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 18 Jul 2019 13:05:05 +0000
+Subject: [PATCH] fdio: Handle ENOTTY from copy_file_range
+
+It may be returned by the RHEL7 kernel on XFS, see:
+https://bugzilla.redhat.com/show_bug.cgi?id=1688067
+---
+ glnx-fdio.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/glnx-fdio.c b/glnx-fdio.c
+index 7b734ff..6308e35 100644
+--- a/libglnx/glnx-fdio.c
++++ b/libglnx/glnx-fdio.c
+@@ -33,6 +33,7 @@
+ #include <errno.h>
+ 
+ #include <glnx-fdio.h>
++#include <glnx-macros.h>
+ #include <glnx-dirfd.h>
+ #include <glnx-errors.h>
+ #include <glnx-xattrs.h>
+@@ -770,7 +771,7 @@ glnx_regfile_copy_bytes (int fdf, int fdt, off_t max_bytes)
+                   have_cfr = 0;
+                   try_cfr = false;
+                 }
+-              else if (errno == EXDEV)
++              else if (G_IN_SET(errno, EXDEV, ENOTTY))
+                 /* We won't try cfr again for this run, but let's be
+                  * conservative and not mark it as available/unavailable until
+                  * we know for sure.
+-- 
+2.21.0
+
diff --git a/SPECS/ostree.spec b/SPECS/ostree.spec
index 9b92646..f6706d3 100644
--- a/SPECS/ostree.spec
+++ b/SPECS/ostree.spec
@@ -1,7 +1,7 @@
 Summary: Tool for managing bootable, immutable filesystem trees
 Name: ostree
-Version: 2018.5
-Release: 1%{?dist}
+Version: 2019.1
+Release: 2%{?dist}
 #VCS: git:https://github.com/ostreedev/ostree
 # The source tarball is generated via make -C packaging dist-snapshot
 # which handles git submodules.
@@ -9,6 +9,8 @@ Source0: https://github.com/ostreedev/%{name}/releases/download/v%{version}/libo
 License: LGPLv2+
 URL: https://github.com/ostreedev/ostree
 
+Patch0: 0001-fdio-Handle-ENOTTY-from-copy_file_range.patch
+
 # For autosetup
 BuildRequires: git
 # We always run autogen.sh
@@ -41,7 +43,7 @@ Requires: systemd-units
 
 # this ideally should match to the glib2 version from the buildroot:
 # https://bugzilla.redhat.com/show_bug.cgi?id=1371704
-Requires: glib2 >= 2.50
+Requires: glib2 >= 2.56
 
 %description
 OSTree is a tool for managing bootable, immutable, versioned
@@ -77,6 +79,7 @@ GRUB2 integration for OSTree
 %package fuse
 Summary: FUSE utilities for ostree
 Requires: fuse
+Requires: %{name} = %{version}-%{release}
 
 %description fuse
 %{summary}
@@ -118,7 +121,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_sysconfdir}/ostree
 %{_datadir}/bash-completion/completions/*
 %dir %{_prefix}/lib/dracut/modules.d/98ostree
-%{_prefix}/lib/systemd/system/ostree*.service
+%{_prefix}/lib/systemd/system/ostree*.*
 %{_prefix}/lib/dracut/modules.d/98ostree/*
 %{_libdir}/*.so.1*
 %{_libdir}/girepository-1.0/OSTree-1.0.typelib
@@ -147,6 +150,13 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Thu Jul 18 2019 Colin Walters <walters@verbum.org> - 2019.1-2
+- Add patch to ignore ENOTTY from copy_file_range
+  Resolves: #1730779
+
+* Fri Jan 11 2019 Jonathan Lebon <jlebon@redhat.com> - 2019.1-1
+- New upstream version
+
 * Tue May 29 2018 Jonathan Lebon <jlebon@redhat.com> - 2018.5-1
 - New upstream version for 7.5.2