Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=923... Commit: 923cc8435cc5bb342fe2418b413c640f3553f8e1 Parent: e6c22884192ff33724b8fd17bf1a040f6210f666 Author: Bob Peterson rpeterso@redhat.com AuthorDate: Thu Jul 1 13:24:56 2010 -0500 Committer: Bob Peterson rpeterso@redhat.com CommitterDate: Thu Jul 1 13:24:56 2010 -0500
GFS: Unable to mount NFS-over-GFS
This patch is a kludge to fix the patch for bug #449330. With bug #449330, the problem was that the stat() syscall on a file in GFS returned the ID of the diapered device in st_dev, not the "real" underlying device. The problem is, NFS mounts are an exception: they require the diapered device to be returned. This is not a problem in upstream code because newer versions of GFS don't use a diapered device, only the "real" device.
rhbz#610154 --- gfs-kernel/src/gfs/ops_inode.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gfs-kernel/src/gfs/ops_inode.c b/gfs-kernel/src/gfs/ops_inode.c index b3e53c9..2199c65 100644 --- a/gfs-kernel/src/gfs/ops_inode.c +++ b/gfs-kernel/src/gfs/ops_inode.c @@ -1658,7 +1658,7 @@ gfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) { generic_fillattr(inode, stat); blk_dev = gfs_diaper_2real(inode->i_sb->s_bdev); - if (blk_dev) + if (blk_dev && strcmp(current->comm, "rpc.mountd")) stat->dev = blk_dev->bd_dev; if (S_ISREG(inode->i_mode) && dentry->d_parent && dentry->d_parent->d_inode) {
cluster-commits@lists.fedorahosted.org