aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/inode.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-01-30 13:34:10 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-01-30 13:34:10 -0500
commitf42faf4fa4eaf7e108dd60f3f2ca5c6e9b45352c (patch)
tree23bf95db3b941a4b14f8b90f98a8aaa663ed6c81 /fs/gfs2/inode.c
parentfd2ee6bb1ef02dfe1f1e1f5b44322e0854596e9a (diff)
[GFS2] Add gfs2_internal_read()
Add the new external read function. Its temporarily in jdata.c even though the protoype is in ops_file.h - this will change shortly. The current implementation will change to a page cache one when that happens. In order to effect the above changes, the various internal inodes now have Linux inodes attached to them. We keep the references to the Linux inodes, rather than the gfs2_inodes in the super block. In order to get everything to work correctly I've had to reorder the init sequence on mount (which I should probably have done earlier when .gfs2_admin was made visible). Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/inode.c')
-rw-r--r--fs/gfs2/inode.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index e4ba380b286a..4c193e38f8e4 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -725,7 +725,7 @@ int gfs2_lookupi(struct gfs2_inode *dip, struct qstr *name, int is_root,
725 return -ENAMETOOLONG; 725 return -ENAMETOOLONG;
726 726
727 if (gfs2_filecmp(name, ".", 1) || 727 if (gfs2_filecmp(name, ".", 1) ||
728 (gfs2_filecmp(name, "..", 2) && dip == sdp->sd_root_dir)) { 728 (gfs2_filecmp(name, "..", 2) && dip == get_v2ip(sdp->sd_root_dir))) {
729 gfs2_inode_hold(dip); 729 gfs2_inode_hold(dip);
730 *ipp = dip; 730 *ipp = dip;
731 return 0; 731 return 0;
@@ -764,7 +764,7 @@ int gfs2_lookupi(struct gfs2_inode *dip, struct qstr *name, int is_root,
764 764
765static int pick_formal_ino_1(struct gfs2_sbd *sdp, uint64_t *formal_ino) 765static int pick_formal_ino_1(struct gfs2_sbd *sdp, uint64_t *formal_ino)
766{ 766{
767 struct gfs2_inode *ip = sdp->sd_ir_inode; 767 struct gfs2_inode *ip = get_v2ip(sdp->sd_ir_inode);
768 struct buffer_head *bh; 768 struct buffer_head *bh;
769 struct gfs2_inum_range ir; 769 struct gfs2_inum_range ir;
770 int error; 770 int error;
@@ -805,8 +805,8 @@ static int pick_formal_ino_1(struct gfs2_sbd *sdp, uint64_t *formal_ino)
805 805
806static int pick_formal_ino_2(struct gfs2_sbd *sdp, uint64_t *formal_ino) 806static int pick_formal_ino_2(struct gfs2_sbd *sdp, uint64_t *formal_ino)
807{ 807{
808 struct gfs2_inode *ip = sdp->sd_ir_inode; 808 struct gfs2_inode *ip = get_v2ip(sdp->sd_ir_inode);
809 struct gfs2_inode *m_ip = sdp->sd_inum_inode; 809 struct gfs2_inode *m_ip = get_v2ip(sdp->sd_inum_inode);
810 struct gfs2_holder gh; 810 struct gfs2_holder gh;
811 struct buffer_head *bh; 811 struct buffer_head *bh;
812 struct gfs2_inum_range ir; 812 struct gfs2_inum_range ir;
@@ -1460,7 +1460,7 @@ int gfs2_ok_to_move(struct gfs2_inode *this, struct gfs2_inode *to)
1460 error = -EINVAL; 1460 error = -EINVAL;
1461 break; 1461 break;
1462 } 1462 }
1463 if (to == sdp->sd_root_dir) { 1463 if (to == get_v2ip(sdp->sd_root_dir)) {
1464 error = 0; 1464 error = 0;
1465 break; 1465 break;
1466 } 1466 }