Pārlūkot izejas kodu

xfs: check type in quota verifier during quotacheck

During quotacheck we send in the quota type, so verify that as well.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Eric Sandeen 7 gadi atpakaļ
vecāks
revīzija
57ab324553
1 mainītis faili ar 3 papildinājumiem un 1 dzēšanām
  1. 3 1
      fs/xfs/libxfs/xfs_dquot_buf.c

+ 3 - 1
fs/xfs/libxfs/xfs_dquot_buf.c

@@ -47,7 +47,7 @@ xfs_dquot_verify(
 	struct xfs_mount *mp,
 	struct xfs_mount *mp,
 	xfs_disk_dquot_t *ddq,
 	xfs_disk_dquot_t *ddq,
 	xfs_dqid_t	 id,
 	xfs_dqid_t	 id,
-	uint		 type)	  /* used only when IO_dorepair is true */
+	uint		 type)	  /* used only during quotacheck */
 {
 {
 	/*
 	/*
 	 * We can encounter an uninitialized dquot buffer for 2 reasons:
 	 * We can encounter an uninitialized dquot buffer for 2 reasons:
@@ -69,6 +69,8 @@ xfs_dquot_verify(
 	if (ddq->d_version != XFS_DQUOT_VERSION)
 	if (ddq->d_version != XFS_DQUOT_VERSION)
 		return __this_address;
 		return __this_address;
 
 
+	if (type && ddq->d_flags != type)
+		return __this_address;
 	if (ddq->d_flags != XFS_DQ_USER &&
 	if (ddq->d_flags != XFS_DQ_USER &&
 	    ddq->d_flags != XFS_DQ_PROJ &&
 	    ddq->d_flags != XFS_DQ_PROJ &&
 	    ddq->d_flags != XFS_DQ_GROUP)
 	    ddq->d_flags != XFS_DQ_GROUP)