summaryrefslogtreecommitdiff
path: root/net/samba413/files/patch-source3_lib_sysquotas__4B.c
blob: f665234adf37ad6c824b109752cbbd480384fbb5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--- source3/lib/sysquotas_4B.c.orig	2019-01-15 10:07:00 UTC
+++ source3/lib/sysquotas_4B.c
@@ -140,7 +140,14 @@ static int sys_quotactl_4B(const char * 
 		/* 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",