diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2007-10-17 08:47:38 +0100 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2008-01-25 08:07:23 +0000 |
commit | 5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc (patch) | |
tree | aac1fa3e47604f2d7bb1e4d9e97f41b8ffebe91e /fs/gfs2/inode.c | |
parent | bf36a713169432643d4fc7eeb4e0ace96d791d26 (diff) | |
download | op-kernel-dev-5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc.zip op-kernel-dev-5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc.tar.gz |
[GFS2] Introduce gfs2_set_aops()
Just like ext3 we now have three sets of address space operations
to cover the cases of writeback, ordered and journalled data
writes. This means that the individual operations can now become
less complicated as we are able to remove some of the tests for
file data mode from the code.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/inode.c')
-rw-r--r-- | fs/gfs2/inode.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index af493fc..532784e 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -136,7 +136,6 @@ void gfs2_set_iop(struct inode *inode) if (S_ISREG(mode)) { inode->i_op = &gfs2_file_iops; inode->i_fop = &gfs2_file_fops; - inode->i_mapping->a_ops = &gfs2_file_aops; } else if (S_ISDIR(mode)) { inode->i_op = &gfs2_dir_iops; inode->i_fop = &gfs2_dir_fops; @@ -290,6 +289,9 @@ static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf) di->di_entries = be32_to_cpu(str->di_entries); di->di_eattr = be64_to_cpu(str->di_eattr); + if (S_ISREG(ip->i_inode.i_mode)) + gfs2_set_aops(&ip->i_inode); + return 0; } |