public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xfs: Initialize all quota inodes to be NULLFSINO
@ 2013-07-12  1:47 Chandra Seetharaman
  2013-07-12 14:27 ` Carlos Maiolino
  2013-07-13  2:13 ` Dave Chinner
  0 siblings, 2 replies; 8+ messages in thread
From: Chandra Seetharaman @ 2013-07-12  1:47 UTC (permalink / raw)
  To: XFS mailing list


mkfs doesn't initialize the quota inodes to NULLFSINO as it
does for the other internal inodes. This leads to check for two
values (0 and NULLFSINO) to make sure if a quota inode is
valid.

Solve that problem by initializing the values to NULLFSINO
if they are 0.

Note that these values are not written back to on-disk
superblock unless some quota is enabled on the filesystem.

Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
---
 fs/xfs/xfs_mount.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 2b0ba35..8b95933 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -572,6 +572,18 @@ out_unwind:
 static void
 xfs_sb_quota_from_disk(struct xfs_sb *sbp)
 {
+	/*
+	 * older mkfs doesn't initialize quota inodes to NULLFSINO,
+	 * which leads to two values for a quota inode to be invalid:
+	 * 0 and NULLFSINO. Fix it.
+	 */
+	if (sbp->sb_uquotino == 0)
+		sbp->sb_uquotino = NULLFSINO;
+	if (sbp->sb_gquotino == 0)
+		sbp->sb_gquotino = NULLFSINO;
+	if (sbp->sb_pquotino == 0)
+		sbp->sb_pquotino = NULLFSINO;
+
 	if (sbp->sb_qflags & XFS_OQUOTA_ENFD)
 		sbp->sb_qflags |= (sbp->sb_qflags & XFS_PQUOTA_ACCT) ?
 					XFS_PQUOTA_ENFD : XFS_GQUOTA_ENFD;
-- 
1.7.1



_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-07-18  3:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-12  1:47 [PATCH] xfs: Initialize all quota inodes to be NULLFSINO Chandra Seetharaman
2013-07-12 14:27 ` Carlos Maiolino
2013-07-12 14:50   ` Chandra Seetharaman
2013-07-13  2:13 ` Dave Chinner
2013-07-15 22:54   ` Chandra Seetharaman
2013-07-16  0:23     ` Dave Chinner
2013-07-17 21:42       ` Chandra Seetharaman
2013-07-18  3:43         ` Dave Chinner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox