diff options
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/ops_export.c | 11 | ||||
-rw-r--r-- | fs/gfs2/ops_export.h | 3 | ||||
-rw-r--r-- | fs/gfs2/ops_super.c | 6 |
3 files changed, 11 insertions, 9 deletions
diff --git a/fs/gfs2/ops_export.c b/fs/gfs2/ops_export.c index cf82689..4b8c6a9 100644 --- a/fs/gfs2/ops_export.c +++ b/fs/gfs2/ops_export.c @@ -45,13 +45,13 @@ static struct dentry *gfs2_decode_fh(struct super_block *sb, memset(&parent, 0, sizeof(struct gfs2_inum)); switch (fh_type) { - case 10: + case GFS2_LARGE_FH_SIZE: parent.no_formal_ino = ((u64)be32_to_cpu(fh[4])) << 32; parent.no_formal_ino |= be32_to_cpu(fh[5]); parent.no_addr = ((u64)be32_to_cpu(fh[6])) << 32; parent.no_addr |= be32_to_cpu(fh[7]); fh_obj.imode = be32_to_cpu(fh[8]); - case 4: + case GFS2_SMALL_FH_SIZE: this->no_formal_ino = ((u64)be32_to_cpu(fh[0])) << 32; this->no_formal_ino |= be32_to_cpu(fh[1]); this->no_addr = ((u64)be32_to_cpu(fh[2])) << 32; @@ -72,7 +72,8 @@ static int gfs2_encode_fh(struct dentry *dentry, __u32 *fh, int *len, struct super_block *sb = inode->i_sb; struct gfs2_inode *ip = GFS2_I(inode); - if (*len < 4 || (connectable && *len < 10)) + if (*len < GFS2_SMALL_FH_SIZE || + (connectable && *len < GFS2_LARGE_FH_SIZE)) return 255; fh[0] = ip->i_num.no_formal_ino >> 32; @@ -83,7 +84,7 @@ static int gfs2_encode_fh(struct dentry *dentry, __u32 *fh, int *len, fh[2] = cpu_to_be32(fh[2]); fh[3] = ip->i_num.no_addr & 0xFFFFFFFF; fh[3] = cpu_to_be32(fh[3]); - *len = 4; + *len = GFS2_SMALL_FH_SIZE; if (!connectable || inode == sb->s_root->d_inode) return *len; @@ -105,7 +106,7 @@ static int gfs2_encode_fh(struct dentry *dentry, __u32 *fh, int *len, fh[8] = cpu_to_be32(inode->i_mode); fh[9] = 0; /* pad to double word */ - *len = 10; + *len = GFS2_LARGE_FH_SIZE; iput(inode); diff --git a/fs/gfs2/ops_export.h b/fs/gfs2/ops_export.h index d52c2d9..09aca50 100644 --- a/fs/gfs2/ops_export.h +++ b/fs/gfs2/ops_export.h @@ -10,6 +10,9 @@ #ifndef __OPS_EXPORT_DOT_H__ #define __OPS_EXPORT_DOT_H__ +#define GFS2_SMALL_FH_SIZE 4 +#define GFS2_LARGE_FH_SIZE 10 + extern struct export_operations gfs2_export_ops; struct gfs2_fh_obj { struct gfs2_inum this; diff --git a/fs/gfs2/ops_super.c b/fs/gfs2/ops_super.c index 6ced712..820db93 100644 --- a/fs/gfs2/ops_super.c +++ b/fs/gfs2/ops_super.c @@ -79,7 +79,7 @@ static void gfs2_put_super(struct super_block *sb) return; if (!strncmp(sb->s_type->name, "gfs2meta", 8)) - return; /* meta fs. don't do nothin' */ + return; /* Nothing to do */ /* Unfreeze the filesystem, if we need to */ @@ -136,7 +136,6 @@ static void gfs2_put_super(struct super_block *sb) /* At this point, we're through participating in the lockspace */ gfs2_sys_fs_del(sdp); vfree(sdp); - sb->s_fs_info = NULL; } /** @@ -149,8 +148,7 @@ static void gfs2_put_super(struct super_block *sb) static void gfs2_write_super(struct super_block *sb) { - struct gfs2_sbd *sdp = sb->s_fs_info; - gfs2_log_flush(sdp, NULL); + gfs2_log_flush(sb->s_fs_info, NULL); } /** |