+++ /dev/null
-NOTE: this got fixed by kernel change in 3.4 making sync a no-op operation.
-
-In 2005 commit master-melb:xfs-cmds:23840a from Nathan added calls to
-XFS_QSYNC/Q_XQUOTASYNC to xfs_quota, with the following rather sparse
-description:
-
- "Issue a quote sync before reporting quota, resolving issue with delayed
- allocation."
-
-I can't really see a reason for this - we do quota accounting by the time
-we reserve space for the delayed allocation, and while converting the
-reservations might change the quota accounting minimally due to the amount
-of btree blocks used for the bmap btree on large files in generally this
-makes little sense, and on today's large system has a large performance
-impact. Also only xfs_quota ever did these calls, the generic quota tool
-never did any kind of sync, and of course removing it does not cause
-any regressions in xfstests.
-
-Nathan, I've cced you in case you still remember anything about this,
-although it's fairly unlikely after 6.5 years. Also if anyone at SGI
-can find anything about the above commits in BugWorks additional feedback
-would be welcome.
-
-Signed-off-by: Christoph Hellwig <hch@lst.de>
-
-Index: xfsprogs-dev/quota/free.c
-===================================================================
---- xfsprogs-dev.orig/quota/free.c 2012-01-27 11:10:34.000000000 +0000
-+++ xfsprogs-dev/quota/free.c 2012-01-27 11:10:42.000000000 +0000
-@@ -167,7 +167,6 @@ projects_free_space_data(
- return 0;
- }
-
-- xfsquotactl(XFS_QSYNC, dev, type, fsx.fsx_projid, NULL);
- if (xfsquotactl(XFS_GETQUOTA, dev, type, fsx.fsx_projid, &d) < 0) {
- perror("XFS_GETQUOTA");
- close(fd);
-Index: xfsprogs-dev/quota/irix.c
-===================================================================
---- xfsprogs-dev.orig/quota/irix.c 2012-01-27 11:10:52.000000000 +0000
-+++ xfsprogs-dev/quota/irix.c 2012-01-27 11:10:59.000000000 +0000
-@@ -45,8 +45,6 @@ xcommand_to_qcommand(
- return Q_XGETQSTAT;
- case XFS_QUOTARM:
- return Q_XQUOTARM;
-- case XFS_QSYNC:
-- return Q_SYNC;
- }
- return 0;
- }
-Index: xfsprogs-dev/quota/linux.c
-===================================================================
---- xfsprogs-dev.orig/quota/linux.c 2012-01-27 11:11:02.000000000 +0000
-+++ xfsprogs-dev/quota/linux.c 2012-01-27 11:11:05.000000000 +0000
-@@ -55,8 +55,6 @@ xcommand_to_qcommand(
- return Q_XGETQSTAT;
- case XFS_QUOTARM:
- return Q_XQUOTARM;
-- case XFS_QSYNC:
-- return Q_XQUOTASYNC;
- }
- return 0;
- }
-Index: xfsprogs-dev/quota/quota.c
-===================================================================
---- xfsprogs-dev.orig/quota/quota.c 2012-01-27 11:10:24.000000000 +0000
-+++ xfsprogs-dev/quota/quota.c 2012-01-27 11:10:29.000000000 +0000
-@@ -64,7 +64,6 @@ quota_mount(
- uint qflags;
- int count;
-
-- xfsquotactl(XFS_QSYNC, dev, type, 0, NULL);
- if (xfsquotactl(XFS_GETQUOTA, dev, type, id, (void *)&d) < 0)
- return 0;
-
---- xfsprogs-4.5.0/quota/quota.h~ 2016-02-29 00:39:26.000000000 +0100
-+++ xfsprogs-4.5.0/quota/quota.h 2016-03-15 08:29:58.643935671 +0100
-@@ -42,7 +42,6 @@ enum {
- XFS_SETQLIM, /* set disk limits */
- XFS_GETQSTAT, /* get quota subsystem status */
- XFS_QUOTARM, /* free disk space used by dquots */
-- XFS_QSYNC, /* flush delayed allocate space */
- XFS_GETQSTATV, /* newer version of quota stats */
- XFS_GETNEXTQUOTA, /* get disk limits and usage */
- };
-Index: xfsprogs-dev/quota/report.c
-===================================================================
---- xfsprogs-dev.orig/quota/report.c 2012-01-27 11:09:41.000000000 +0000
-+++ xfsprogs-dev/quota/report.c 2012-01-27 11:10:19.000000000 +0000
-@@ -520,10 +520,6 @@ report_any_type(
- if (type & XFS_USER_QUOTA) {
- fs_cursor_initialise(dir, FS_MOUNT_POINT, &cursor);
- while ((mount = fs_cursor_next_entry(&cursor))) {
-- if (xfsquotactl(XFS_QSYNC, mount->fs_name,
-- XFS_USER_QUOTA, 0, NULL) < 0
-- && errno != ENOENT && errno != ENOSYS)
-- perror("XFS_QSYNC user quota");
- report_user_mount(fp, form, mount,
- lower, upper, flags);
- }
-@@ -531,10 +527,6 @@ report_any_type(
- if (type & XFS_GROUP_QUOTA) {
- fs_cursor_initialise(dir, FS_MOUNT_POINT, &cursor);
- while ((mount = fs_cursor_next_entry(&cursor))) {
-- if (xfsquotactl(XFS_QSYNC, mount->fs_name,
-- XFS_GROUP_QUOTA, 0, NULL) < 0
-- && errno != ENOENT && errno != ENOSYS)
-- perror("XFS_QSYNC group quota");
- report_group_mount(fp, form, mount,
- lower, upper, flags);
- }
-@@ -542,10 +534,6 @@ report_any_type(
- if (type & XFS_PROJ_QUOTA) {
- fs_cursor_initialise(dir, FS_MOUNT_POINT, &cursor);
- while ((mount = fs_cursor_next_entry(&cursor))) {
-- if (xfsquotactl(XFS_QSYNC, mount->fs_name,
-- XFS_PROJ_QUOTA, 0, NULL) < 0
-- && errno != ENOENT && errno != ENOSYS)
-- perror("XFS_QSYNC proj quota");
- report_project_mount(fp, form, mount,
- lower, upper, flags);
- }