All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] cluster/gfs-kernel/src/gfs incore.h mount.c op ...
@ 2006-10-23 20:15 adas
  0 siblings, 0 replies; only message in thread
From: adas @ 2006-10-23 20:15 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	adas at sourceware.org	2006-10-23 20:15:28

Modified files:
	gfs-kernel/src/gfs: incore.h mount.c ops_fstype.c ops_super.c 

Log message:
	Adding Josef's noquota mount option for GFS1 in RHEL5. Original bz 205285

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/incore.h.diff?cvsroot=cluster&r1=1.29&r2=1.30
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/mount.c.diff?cvsroot=cluster&r1=1.15&r2=1.16
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_fstype.c.diff?cvsroot=cluster&r1=1.27&r2=1.28
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_super.c.diff?cvsroot=cluster&r1=1.23&r2=1.24

--- cluster/gfs-kernel/src/gfs/incore.h	2006/09/13 20:07:38	1.29
+++ cluster/gfs-kernel/src/gfs/incore.h	2006/10/23 20:15:28	1.30
@@ -855,6 +855,7 @@
 				       (more daemons => faster cleanup)  */
 	int ar_posix_acls; /* Enable posix acls */
 	int ar_suiddir; /* suiddir support */
+	int ar_noquota; /* Turn off quota support */
 };
 
 struct gfs_tune {
--- cluster/gfs-kernel/src/gfs/mount.c	2006/10/14 20:16:15	1.15
+++ cluster/gfs-kernel/src/gfs/mount.c	2006/10/23 20:15:28	1.16
@@ -153,6 +153,9 @@
 		else if (!strcmp(x, "suiddir"))
 			args->ar_suiddir = TRUE;
 
+		else if (!strcmp(x, "noquota"))
+			args->ar_noquota = TRUE;
+
 		/*  Unknown  */
 
 		else {
--- cluster/gfs-kernel/src/gfs/ops_fstype.c	2006/08/10 14:52:20	1.27
+++ cluster/gfs-kernel/src/gfs/ops_fstype.c	2006/10/23 20:15:28	1.28
@@ -612,6 +612,14 @@
 
 	init_vfs(sb, SDF_NOATIME);
 
+	/*  Turn off quota stuff if we get the noquota mount option, don't 
+	    need to grab the sd_tune lock here since its before anything 
+	    touches the sd_tune values */
+	if (sdp->sd_args.ar_noquota) {
+		sdp->sd_tune.gt_quota_enforce = 0;
+		sdp->sd_tune.gt_quota_account = 0;
+	}
+
 	/*  Set up the buffer cache and fill in some fake block size values
 	   to allow us to read-in the on-disk superblock.  */
 
--- cluster/gfs-kernel/src/gfs/ops_super.c	2006/10/14 20:16:15	1.23
+++ cluster/gfs-kernel/src/gfs/ops_super.c	2006/10/23 20:15:28	1.24
@@ -322,6 +322,7 @@
 gfs_remount_fs(struct super_block *sb, int *flags, char *data)
 {
 	struct gfs_sbd *sdp = get_v2sdp(sb);
+	struct gfs_tune *gt = &sdp->sd_tune;
 	int error = 0;
 	struct gfs_args *args;
 
@@ -362,6 +363,25 @@
 		}
 	}
 
+	if (args->ar_noquota) {
+		if (sdp->sd_args.ar_noquota == FALSE)
+			printk("GFS: remounting without quota\n");
+		sdp->sd_args.ar_noquota = TRUE;
+		spin_lock(&gt->gt_spin);
+		gt->gt_quota_enforce = 0;
+		gt->gt_quota_account = 0;
+		spin_unlock(&gt->gt_spin);
+	}
+	else {
+		if (sdp->sd_args.ar_noquota == TRUE)
+			printk("GFS: remounting with quota\n");
+		sdp->sd_args.ar_noquota = FALSE;
+		spin_lock(&gt->gt_spin);
+		gt->gt_quota_enforce = 1;
+		gt->gt_quota_account = 1;
+		spin_unlock(&gt->gt_spin);
+	}
+
 	/*  Don't let the VFS update atimes.  GFS handles this itself. */
 	*flags |= MS_NOATIME | MS_NODIRATIME;
 
@@ -444,6 +464,8 @@
 		seq_printf(s, ",num_glockd=%u", args->ar_num_glockd);
 	if (args->ar_posix_acls)
 		seq_printf(s, ",acl");
+	if (args->ar_noquota)
+		seq_printf(s, ",noquota");
 	if (args->ar_suiddir)
 		seq_printf(s, ",suiddir");
 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-10-23 20:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-23 20:15 [Cluster-devel] cluster/gfs-kernel/src/gfs incore.h mount.c op adas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.