aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/quota/xfs_qm_syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/quota/xfs_qm_syscalls.c')
-rw-r--r--fs/xfs/quota/xfs_qm_syscalls.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c
index 22d853e77cda..2df67fd913e5 100644
--- a/fs/xfs/quota/xfs_qm_syscalls.c
+++ b/fs/xfs/quota/xfs_qm_syscalls.c
@@ -909,14 +909,19 @@ xfs_qm_export_dquot(
909 * gets turned off. No need to confuse the user level code, 909 * gets turned off. No need to confuse the user level code,
910 * so return zeroes in that case. 910 * so return zeroes in that case.
911 */ 911 */
912 if (! XFS_IS_QUOTA_ENFORCED(mp)) { 912 if ((!XFS_IS_UQUOTA_ENFORCED(mp) && src->d_flags == XFS_DQ_USER) ||
913 (!XFS_IS_OQUOTA_ENFORCED(mp) &&
914 (src->d_flags & (XFS_DQ_PROJ | XFS_DQ_GROUP)))) {
913 dst->d_btimer = 0; 915 dst->d_btimer = 0;
914 dst->d_itimer = 0; 916 dst->d_itimer = 0;
915 dst->d_rtbtimer = 0; 917 dst->d_rtbtimer = 0;
916 } 918 }
917 919
918#ifdef DEBUG 920#ifdef DEBUG
919 if (XFS_IS_QUOTA_ENFORCED(mp) && dst->d_id != 0) { 921 if (((XFS_IS_UQUOTA_ENFORCED(mp) && dst->d_flags == XFS_USER_QUOTA) ||
922 (XFS_IS_OQUOTA_ENFORCED(mp) &&
923 (dst->d_flags & (XFS_PROJ_QUOTA | XFS_GROUP_QUOTA)))) &&
924 dst->d_id != 0) {
920 if (((int) dst->d_bcount >= (int) dst->d_blk_softlimit) && 925 if (((int) dst->d_bcount >= (int) dst->d_blk_softlimit) &&
921 (dst->d_blk_softlimit > 0)) { 926 (dst->d_blk_softlimit > 0)) {
922 ASSERT(dst->d_btimer != 0); 927 ASSERT(dst->d_btimer != 0);