summaryrefslogtreecommitdiff
path: root/net/samba422/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net/samba422/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch')
-rw-r--r--net/samba422/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/net/samba422/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch b/net/samba422/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch
new file mode 100644
index 000000000000..33661270ce25
--- /dev/null
+++ b/net/samba422/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch
@@ -0,0 +1,35 @@
+From 02b599cc740490fa6f433b0c455fe458fdc1db61 Mon Sep 17 00:00:00 2001
+From: "Timur I. Bakeyev" <timur@FreeBSD.org>
+Date: Mon, 31 May 2021 02:45:11 +0200
+Subject: [PATCH 20/28] FreeBSD 12 between r336017 and r342928 wrongfuly return
+ ENOENT for the not enabled qoutas on ZFS. Wrap relevant error code check with
+ the versioning ifdef's.
+
+Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org>
+---
+ source3/lib/sysquotas_4B.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/source3/lib/sysquotas_4B.c b/source3/lib/sysquotas_4B.c
+index d9beb924ad9..c41cac02e5f 100644
+--- a/source3/lib/sysquotas_4B.c
++++ b/source3/lib/sysquotas_4B.c
+@@ -140,7 +140,14 @@ static int sys_quotactl_4B(const char * path, int cmd,
+ /* ENOTSUP means quota support is not compiled in. EINVAL
+ * means that quotas are not configured (commonly).
+ */
+- if (errno != ENOTSUP && errno != EINVAL) {
++ if (errno != ENOTSUP && errno != EINVAL
++/*
++ * FreeBSD 12 between r336017 and r342928 wrongfuly return ENOENT for the not enabled qoutas on ZFS.
++ */
++#if defined(__FreeBSD__) && ((__FreeBSD_version >= 1102503 && __FreeBSD_version <= 1102506) || (__FreeBSD_version >= 1200072 && __FreeBSD_version <= 1200503) || (__FreeBSD_version >= 1300000 && __FreeBSD_version <= 1300009))
++ && errno != ENOENT
++#endif
++ ) {
+ DEBUG(5, ("failed to %s quota for %s ID %u on %s: %s\n",
+ (cmd & QCMD(Q_GETQUOTA, 0)) ? "get" : "set",
+ (cmd & QCMD(0, GRPQUOTA)) ? "group" : "user",
+--
+2.37.1
+