aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/page.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-05-18 14:10:52 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-05-18 14:10:52 -0400
commit1b50259bc33f2adfcb4c5fba4b740bf80789df22 (patch)
treef8d20f032c9cb85883cdee846423667543947dde /fs/gfs2/page.c
parent02f211f4d0e67794020ba1babbdaf7c45d56db45 (diff)
[GFS2] Drop log lock on I/O error & tidy up
This patch drops the log spinlock when an I/O error occurs to avoid any possible problems in case of blocking or recursion in the I/O error routine. It also has a few cosmetic changes to tidy up various other files. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/page.c')
-rw-r--r--fs/gfs2/page.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/gfs2/page.c b/fs/gfs2/page.c
index a2c9e93c7c39..495db5594164 100644
--- a/fs/gfs2/page.c
+++ b/fs/gfs2/page.c
@@ -155,11 +155,9 @@ int gfs2_unstuffer_page(struct gfs2_inode *ip, struct buffer_head *dibh,
155 if (!PageUptodate(page)) { 155 if (!PageUptodate(page)) {
156 void *kaddr = kmap(page); 156 void *kaddr = kmap(page);
157 157
158 memcpy(kaddr, 158 memcpy(kaddr, dibh->b_data + sizeof(struct gfs2_dinode),
159 dibh->b_data + sizeof(struct gfs2_dinode),
160 ip->i_di.di_size); 159 ip->i_di.di_size);
161 memset(kaddr + ip->i_di.di_size, 160 memset(kaddr + ip->i_di.di_size, 0,
162 0,
163 PAGE_CACHE_SIZE - ip->i_di.di_size); 161 PAGE_CACHE_SIZE - ip->i_di.di_size);
164 kunmap(page); 162 kunmap(page);
165 163