Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

xfs: Remove some useless flags tests

'flags' have XFS_ALL_QUOTA_ACCT cleared immediately on function entry.
There's no point in checking these bits later in the function. Also
because we check something is going to change, we know some enforcement
bits are being added and thus there's no point in testing that later.

Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>

Jan Kara fbf64b3d 8a2fdd4a

+4 -11
+4 -11
fs/xfs/xfs_qm_syscalls.c
··· 330 330 return -EINVAL; 331 331 } 332 332 333 - /* No fs can turn on quotas with a delayed effect */ 334 - ASSERT((flags & XFS_ALL_QUOTA_ACCT) == 0); 335 - 336 333 /* 337 334 * Can't enforce without accounting. We check the superblock 338 335 * qflags here instead of m_qflags because rootfs can have 339 336 * quota acct on ondisk without m_qflags' knowing. 340 337 */ 341 - if (((flags & XFS_UQUOTA_ACCT) == 0 && 342 - (mp->m_sb.sb_qflags & XFS_UQUOTA_ACCT) == 0 && 338 + if (((mp->m_sb.sb_qflags & XFS_UQUOTA_ACCT) == 0 && 343 339 (flags & XFS_UQUOTA_ENFD)) || 344 - ((flags & XFS_GQUOTA_ACCT) == 0 && 345 - (mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT) == 0 && 340 + ((mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT) == 0 && 346 341 (flags & XFS_GQUOTA_ENFD)) || 347 - ((flags & XFS_PQUOTA_ACCT) == 0 && 348 - (mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT) == 0 && 342 + ((mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT) == 0 && 349 343 (flags & XFS_PQUOTA_ENFD))) { 350 344 xfs_debug(mp, 351 345 "%s: Can't enforce without acct, flags=%x sbflags=%x", ··· 378 384 ((mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT) != 379 385 (mp->m_qflags & XFS_PQUOTA_ACCT)) || 380 386 ((mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT) != 381 - (mp->m_qflags & XFS_GQUOTA_ACCT)) || 382 - (flags & XFS_ALL_QUOTA_ENFD) == 0) 387 + (mp->m_qflags & XFS_GQUOTA_ACCT))) 383 388 return 0; 384 389 385 390 if (! XFS_IS_QUOTA_RUNNING(mp))