GFS2: Remove gfs2_refresh_inode from inode creation path
authorSteven Whitehouse <swhiteho@redhat.com>
Tue, 26 Feb 2013 19:09:35 +0000 (19:09 +0000)
committerSteven Whitehouse <swhiteho@redhat.com>
Mon, 8 Apr 2013 07:40:17 +0000 (08:40 +0100)
commit28fb30275570e9397e551d6f8e3bfd78862ea79e
tree21ac75d577a0a8220531106b4048f77c6bab217d
parentfd4b4e042c6aac980ccac0e829aa1378d2c17bd5
GFS2: Remove gfs2_refresh_inode from inode creation path

The original method for creating inodes used in GFS2 was to fill
out a buffer, with all the information, and then to read that
buffer into the in-core inode, using gfs2_refresh_inode()

The problem with this approach is that all the inode's fields
need to be calculated ahead of time, and were stored in various
variables making the code rather complicated.

The new approach is simply to allocate the in-core inode earlier
and fill in as many fields as possible ahead of time. These can
then be used to initilise the on disk representation. The
code has been working towards the point where it is possible
to remove gfs2_refresh_inode() because all the fields are
correctly initialised ahead of time. We've now reached that
milestone, and have reversed the order of setting up the in
core and on disk inodes.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/glock.c
fs/gfs2/glock.h
fs/gfs2/inode.c