[Cluster-devel] cluster/gfs-kernel/src/gfs ops_export.c super. ...

rpeterso at sourceware.org rpeterso at sourceware.org
Fri Oct 13 19:57:08 UTC 2006


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	rpeterso at sourceware.org	2006-10-13 19:57:07

Modified files:
	gfs-kernel/src/gfs: ops_export.c super.c super.h 

Log message:
	This is the fix for bugzilla bug 210587: Oops in gfs_get_dentry
	via NFS.  The gfs file system, when called by NFS, was sometimes
	referencing the vestigial license file, causing the segfault.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_export.c.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/super.c.diff?cvsroot=cluster&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/super.h.diff?cvsroot=cluster&r1=1.3&r2=1.4

--- cluster/gfs-kernel/src/gfs/ops_export.c	2006/07/10 23:22:34	1.7
+++ cluster/gfs-kernel/src/gfs/ops_export.c	2006/10/13 19:57:07	1.8
@@ -309,8 +309,7 @@
 	if (!cookie->formal_ino ||
 	    cookie->formal_ino == sdp->sd_jiinode->i_num.no_formal_ino ||
 	    cookie->formal_ino == sdp->sd_riinode->i_num.no_formal_ino ||
-	    cookie->formal_ino == sdp->sd_qinode->i_num.no_formal_ino ||
-	    cookie->formal_ino == sdp->sd_linode->i_num.no_formal_ino)
+	    cookie->formal_ino == sdp->sd_qinode->i_num.no_formal_ino)
 		return ERR_PTR(-EINVAL);
 
 	inum.no_formal_ino = cookie->formal_ino;
--- cluster/gfs-kernel/src/gfs/super.c	2006/08/09 20:28:51	1.21
+++ cluster/gfs-kernel/src/gfs/super.c	2006/10/13 19:57:07	1.22
@@ -651,45 +651,6 @@
 }
 
 /**
- * gfs_get_linode - Read in the special (hidden) license inode
- * @sdp: The GFS superblock
- *
- * If one is not on-disk already, create a new one.
- * Does not read in file contents, just the dinode.
- *
- * Returns: errno
- */
-
-int
-gfs_get_linode(struct gfs_sbd *sdp)
-{
-	struct gfs_holder i_gh;
-	int error;
-
-	/* Create, if not on-disk already */
-	if (!sdp->sd_sb.sb_license_di.no_formal_ino) {
-		error = gfs_alloc_linode(sdp);
-		if (error)
-			return error;
-	}
-
-	error = gfs_glock_nq_num(sdp,
-				 sdp->sd_sb.sb_license_di.no_formal_ino,
-				 &gfs_inode_glops,
-				 LM_ST_SHARED, GL_LOCAL_EXCL,
-				 &i_gh);
-	if (error)
-		return error;
-
-	error = gfs_inode_get(i_gh.gh_gl, &sdp->sd_sb.sb_license_di,
-			      CREATE, &sdp->sd_linode);
-
-	gfs_glock_dq_uninit(&i_gh);
-
-	return error;
-}
-
-/**
  * gfs_make_fs_rw - Turn a Read-Only FS into a Read-Write one
  * @sdp: the filesystem
  *
--- cluster/gfs-kernel/src/gfs/super.h	2006/07/10 23:22:34	1.3
+++ cluster/gfs-kernel/src/gfs/super.h	2006/10/13 19:57:07	1.4
@@ -37,7 +37,6 @@
 int gfs_get_riinode(struct gfs_sbd *sdp);
 int gfs_get_rootinode(struct gfs_sbd *sdp);
 int gfs_get_qinode(struct gfs_sbd *sdp);
-int gfs_get_linode(struct gfs_sbd *sdp);
 
 int gfs_make_fs_rw(struct gfs_sbd *sdp);
 int gfs_make_fs_ro(struct gfs_sbd *sdp);




More information about the Cluster-devel mailing list