diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2013-02-26 19:09:35 +0000 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2013-04-08 08:40:17 +0100 |
commit | 28fb30275570e9397e551d6f8e3bfd78862ea79e (patch) | |
tree | 21ac75d577a0a8220531106b4048f77c6bab217d /fs/gfs2/glock.c | |
parent | fd4b4e042c6aac980ccac0e829aa1378d2c17bd5 (diff) | |
download | op-kernel-dev-28fb30275570e9397e551d6f8e3bfd78862ea79e.zip op-kernel-dev-28fb30275570e9397e551d6f8e3bfd78862ea79e.tar.gz |
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>
Diffstat (limited to 'fs/gfs2/glock.c')
-rw-r--r-- | fs/gfs2/glock.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index cf35155..6e30fd1 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1279,19 +1279,6 @@ void gfs2_glock_dq_m(unsigned int num_gh, struct gfs2_holder *ghs) gfs2_glock_dq(&ghs[num_gh]); } -/** - * gfs2_glock_dq_uninit_m - release multiple glocks - * @num_gh: the number of structures - * @ghs: an array of struct gfs2_holder structures - * - */ - -void gfs2_glock_dq_uninit_m(unsigned int num_gh, struct gfs2_holder *ghs) -{ - while (num_gh--) - gfs2_glock_dq_uninit(&ghs[num_gh]); -} - void gfs2_glock_cb(struct gfs2_glock *gl, unsigned int state) { unsigned long delay = 0; |