aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2010-09-23 09:00:31 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2010-09-23 09:00:31 -0400
commitc2048b003cfb840ad81bdc6eb55beb12a19a222e (patch)
tree17b3b09141cfb1c2ca13759bac365ef5050e5dc9 /fs/gfs2
parentf57a024ed2ee00d62515ffd4040f5ded3e0eb853 (diff)
GFS2: Remove localcaching mount option
This option defaulted to on for lock_nolock mounts and off otherwise. The only function was to avoid the revalidation of dentries. In the cluster case, that is entirely pointless and liable to cause coherency problems. The patch changes the revalidation to depend upon whether the fs is a local or cluster fs (i.e. it follows the existing default behaviour). I very much doubt anybody ever used this option as there is no reason to. Even so we will continue to accept it on the mount command line, but ignore it. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/dentry.c2
-rw-r--r--fs/gfs2/incore.h1
-rw-r--r--fs/gfs2/ops_fstype.c1
-rw-r--r--fs/gfs2/super.c5
4 files changed, 2 insertions, 7 deletions
diff --git a/fs/gfs2/dentry.c b/fs/gfs2/dentry.c
index bb7907bde3d8..6798755b3858 100644
--- a/fs/gfs2/dentry.c
+++ b/fs/gfs2/dentry.c
@@ -49,7 +49,7 @@ static int gfs2_drevalidate(struct dentry *dentry, struct nameidata *nd)
49 ip = GFS2_I(inode); 49 ip = GFS2_I(inode);
50 } 50 }
51 51
52 if (sdp->sd_args.ar_localcaching) 52 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL)
53 goto valid; 53 goto valid;
54 54
55 had_lock = (gfs2_glock_is_locked_by_me(dip->i_gl) != NULL); 55 had_lock = (gfs2_glock_is_locked_by_me(dip->i_gl) != NULL);
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index c8a2db1bfe65..2990a0a57e61 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -417,7 +417,6 @@ struct gfs2_args {
417 char ar_hostdata[GFS2_LOCKNAME_LEN]; /* Host specific data */ 417 char ar_hostdata[GFS2_LOCKNAME_LEN]; /* Host specific data */
418 unsigned int ar_spectator:1; /* Don't get a journal */ 418 unsigned int ar_spectator:1; /* Don't get a journal */
419 unsigned int ar_localflocks:1; /* Let the VFS do flock|fcntl */ 419 unsigned int ar_localflocks:1; /* Let the VFS do flock|fcntl */
420 unsigned int ar_localcaching:1; /* Local caching */
421 unsigned int ar_debug:1; /* Oops on errors */ 420 unsigned int ar_debug:1; /* Oops on errors */
422 unsigned int ar_upgrade:1; /* Upgrade ondisk format */ 421 unsigned int ar_upgrade:1; /* Upgrade ondisk format */
423 unsigned int ar_posix_acl:1; /* Enable posix acls */ 422 unsigned int ar_posix_acl:1; /* Enable posix acls */
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 5b5c87dfbfee..558bba493cc4 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -1022,7 +1022,6 @@ static int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent)
1022 if (!strcmp("lock_nolock", proto)) { 1022 if (!strcmp("lock_nolock", proto)) {
1023 lm = &nolock_ops; 1023 lm = &nolock_ops;
1024 sdp->sd_args.ar_localflocks = 1; 1024 sdp->sd_args.ar_localflocks = 1;
1025 sdp->sd_args.ar_localcaching = 1;
1026#ifdef CONFIG_GFS2_FS_LOCKING_DLM 1025#ifdef CONFIG_GFS2_FS_LOCKING_DLM
1027 } else if (!strcmp("lock_dlm", proto)) { 1026 } else if (!strcmp("lock_dlm", proto)) {
1028 lm = &gfs2_dlm_ops; 1027 lm = &gfs2_dlm_ops;
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 06a4a7e8cf7c..e78de8bf2728 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -165,7 +165,7 @@ int gfs2_mount_args(struct gfs2_args *args, char *options)
165 args->ar_localflocks = 1; 165 args->ar_localflocks = 1;
166 break; 166 break;
167 case Opt_localcaching: 167 case Opt_localcaching:
168 args->ar_localcaching = 1; 168 /* Retained for backwards compat only */
169 break; 169 break;
170 case Opt_debug: 170 case Opt_debug:
171 if (args->ar_errors == GFS2_ERRORS_PANIC) { 171 if (args->ar_errors == GFS2_ERRORS_PANIC) {
@@ -1129,7 +1129,6 @@ static int gfs2_remount_fs(struct super_block *sb, int *flags, char *data)
1129 /* Some flags must not be changed */ 1129 /* Some flags must not be changed */
1130 if (args_neq(&args, &sdp->sd_args, spectator) || 1130 if (args_neq(&args, &sdp->sd_args, spectator) ||
1131 args_neq(&args, &sdp->sd_args, localflocks) || 1131 args_neq(&args, &sdp->sd_args, localflocks) ||
1132 args_neq(&args, &sdp->sd_args, localcaching) ||
1133 args_neq(&args, &sdp->sd_args, meta)) 1132 args_neq(&args, &sdp->sd_args, meta))
1134 return -EINVAL; 1133 return -EINVAL;
1135 1134
@@ -1234,8 +1233,6 @@ static int gfs2_show_options(struct seq_file *s, struct vfsmount *mnt)
1234 seq_printf(s, ",spectator"); 1233 seq_printf(s, ",spectator");
1235 if (args->ar_localflocks) 1234 if (args->ar_localflocks)
1236 seq_printf(s, ",localflocks"); 1235 seq_printf(s, ",localflocks");
1237 if (args->ar_localcaching)
1238 seq_printf(s, ",localcaching");
1239 if (args->ar_debug) 1236 if (args->ar_debug)
1240 seq_printf(s, ",debug"); 1237 seq_printf(s, ",debug");
1241 if (args->ar_upgrade) 1238 if (args->ar_upgrade)