Author: kib
Date: Wed Sep 19 14:38:01 2018
New Revision: 338799
URL: https://svnweb.freebsd.org/changeset/base/338799

Log:
  Fix ZFS VFS op quotactl to follow busy protocol.
  
  Reviewed by:  avg, mckusick
  Tested by:    pho
  Sponsored by: The FreeBSD Foundation
  Approved by:  re (gjb)
  MFC after:    1 week
  Differential revision:        https://reviews.freebsd.org/D17208

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c    Wed Sep 
19 14:36:57 2018        (r338798)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c    Wed Sep 
19 14:38:01 2018        (r338799)
@@ -198,6 +198,8 @@ zfs_quotactl(vfs_t *vfsp, int cmds, uid_t id, void *ar
                        break;
                default:
                        error = EINVAL;
+                       if (cmd == Q_QUOTAON || cmd == Q_QUOTAOFF)
+                               vfs_unbusy(vfsp);
                        goto done;
                }
        }
@@ -255,9 +257,11 @@ zfs_quotactl(vfs_t *vfsp, int cmds, uid_t id, void *ar
        case Q_QUOTAON:
                // As far as I can tell, you can't turn quotas on or off on zfs
                error = 0;
+               vfs_unbusy(vfsp);
                break;
        case Q_QUOTAOFF:
                error = ENOTSUP;
+               vfs_unbusy(vfsp);
                break;
        case Q_SETQUOTA:
                error = copyin(&dqblk, arg, sizeof(dqblk));
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to