From cc6e7266be82a644ce67b98fb09f0ffb0d8e5e1e Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Wed, 16 Jan 2008 14:24:05 +0000 Subject: [PATCH] --- yaml --- r: 76063 b: refs/heads/master c: 1af535727bbf68e1da7ac232de47315da4c66ade h: refs/heads/master i: 76061: 29b00db50242a01aac726ce34c8ab980a46412e7 76059: 9706548a73f094af5d6e9ff8ab431dcd6a22d45e 76055: 7cc28de722980be3b9e18524651f670db9c280f9 76047: 7adcd5b35e59ada6ef2a8c5682f097206d2a465b 76031: 8e743068df89ff7b7f34775455f505ede31300d5 v: v3 --- [refs] | 2 +- trunk/fs/gfs2/bmap.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fffd8bf214f6..d5ce51cefb14 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 05220535196d413db434527a3edcba79b7187df8 +refs/heads/master: 1af535727bbf68e1da7ac232de47315da4c66ade diff --git a/trunk/fs/gfs2/bmap.c b/trunk/fs/gfs2/bmap.c index 4356cc2fb3f5..e4effc47abfc 100644 --- a/trunk/fs/gfs2/bmap.c +++ b/trunk/fs/gfs2/bmap.c @@ -1222,10 +1222,10 @@ int gfs2_write_alloc_required(struct gfs2_inode *ip, u64 offset, do_div(lblock_stop, bsize); } else { unsigned int shift = sdp->sd_sb.sb_bsize_shift; + u64 end_of_file = (ip->i_di.di_size + sdp->sd_sb.sb_bsize - 1) >> shift; lblock = offset >> shift; lblock_stop = (offset + len + sdp->sd_sb.sb_bsize - 1) >> shift; - if (lblock_stop > ip->i_di.di_blocks) { /* writing past the - last block */ + if (lblock_stop > end_of_file) { *alloc_required = 1; return 0; }