Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes
Browse files Browse the repository at this point in the history
* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
  [GFS2] Update git tree name/location
  [DLM] fix iovec length in recvmsg
  [GFS2] Pass the correct value to kunmap_atomic
  [GFS2] Fix bug where lock not held
  [DLM] Kconfig: don't show an empty DLM menu
  [GFS2] Fix uninitialised variable
  [GFS2] Fix a size calculation error
  • Loading branch information
Linus Torvalds committed Oct 13, 2006
2 parents 411fdc1 + 370298e commit a5344a9
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 16 deletions.
6 changes: 4 additions & 2 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -905,7 +905,8 @@ P: David Teigland
M: teigland@redhat.com
L: cluster-devel@redhat.com
W: http://sources.redhat.com/cluster/
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs-2.6.git
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git
S: Supported

DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
Expand Down Expand Up @@ -1188,7 +1189,8 @@ P: Steven Whitehouse
M: swhiteho@redhat.com
L: cluster-devel@redhat.com
W: http://sources.redhat.com/cluster/
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs-2.6.git
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git
S: Supported

GIGASET ISDN DRIVERS
Expand Down
3 changes: 1 addition & 2 deletions fs/dlm/Kconfig
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
menu "Distributed Lock Manager"
depends on INET && EXPERIMENTAL
depends on INET && IP_SCTP && EXPERIMENTAL

config DLM
tristate "Distributed Lock Manager (DLM)"
depends on IPV6 || IPV6=n
depends on IP_SCTP
select CONFIGFS_FS
help
A general purpose distributed lock manager for kernel or userspace
Expand Down
2 changes: 1 addition & 1 deletion fs/dlm/lowcomms.c
Original file line number Diff line number Diff line change
Expand Up @@ -548,7 +548,7 @@ static int receive_from_sock(void)
}
len = iov[0].iov_len + iov[1].iov_len;

r = ret = kernel_recvmsg(sctp_con.sock, &msg, iov, 1, len,
r = ret = kernel_recvmsg(sctp_con.sock, &msg, iov, msg.msg_iovlen, len,
MSG_NOSIGNAL | MSG_DONTWAIT);
if (ret <= 0)
goto out_close;
Expand Down
5 changes: 2 additions & 3 deletions fs/gfs2/log.c
Original file line number Diff line number Diff line change
Expand Up @@ -569,16 +569,15 @@ void gfs2_log_flush(struct gfs2_sbd *sdp, struct gfs2_glock *gl)
else if (sdp->sd_log_tail != current_tail(sdp) && !sdp->sd_log_idle)
log_write_header(sdp, 0, PULL);
lops_after_commit(sdp, ai);
sdp->sd_log_head = sdp->sd_log_flush_head;

gfs2_log_lock(sdp);
sdp->sd_log_head = sdp->sd_log_flush_head;
sdp->sd_log_blks_free -= sdp->sd_log_num_hdrs;

sdp->sd_log_blks_reserved = 0;
sdp->sd_log_commited_buf = 0;
sdp->sd_log_num_hdrs = 0;
sdp->sd_log_commited_revoke = 0;

gfs2_log_lock(sdp);
if (!list_empty(&ai->ai_ail1_list)) {
list_add(&ai->ai_list, &sdp->sd_ail1_list);
ai = NULL;
Expand Down
4 changes: 2 additions & 2 deletions fs/gfs2/lops.c
Original file line number Diff line number Diff line change
Expand Up @@ -492,7 +492,7 @@ static int gfs2_check_magic(struct buffer_head *bh)
ptr = kaddr + bh_offset(bh);
if (*ptr == cpu_to_be32(GFS2_MAGIC))
rv = 1;
kunmap_atomic(page, KM_USER0);
kunmap_atomic(kaddr, KM_USER0);

return rv;
}
Expand Down Expand Up @@ -626,7 +626,7 @@ static void databuf_lo_before_commit(struct gfs2_sbd *sdp)
memcpy(bh->b_data,
kaddr + bh_offset(bd2->bd_bh),
sdp->sd_sb.sb_bsize);
kunmap_atomic(page, KM_USER0);
kunmap_atomic(kaddr, KM_USER0);
*(__be32 *)bh->b_data = 0;
} else {
bh = gfs2_log_fake_buf(sdp, bd2->bd_bh);
Expand Down
13 changes: 8 additions & 5 deletions fs/gfs2/ops_address.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ static int zero_readpage(struct page *page)

kaddr = kmap_atomic(page, KM_USER0);
memset(kaddr, 0, PAGE_CACHE_SIZE);
kunmap_atomic(page, KM_USER0);
kunmap_atomic(kaddr, KM_USER0);

SetPageUptodate(page);

Expand Down Expand Up @@ -195,7 +195,7 @@ static int stuffed_readpage(struct gfs2_inode *ip, struct page *page)
memcpy(kaddr, dibh->b_data + sizeof(struct gfs2_dinode),
ip->i_di.di_size);
memset(kaddr + ip->i_di.di_size, 0, PAGE_CACHE_SIZE - ip->i_di.di_size);
kunmap_atomic(page, KM_USER0);
kunmap_atomic(kaddr, KM_USER0);

brelse(dibh);

Expand Down Expand Up @@ -370,19 +370,22 @@ static int gfs2_prepare_write(struct file *file, struct page *page,
loff_t pos = ((loff_t)page->index << PAGE_CACHE_SHIFT) + from;
loff_t end = ((loff_t)page->index << PAGE_CACHE_SHIFT) + to;
struct gfs2_alloc *al;
unsigned int write_len = to - from;


gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_ATIME|GL_AOP, &ip->i_gh);
error = gfs2_glock_nq_m_atime(1, &ip->i_gh);
if (error)
goto out_uninit;

gfs2_write_calc_reserv(ip, to - from, &data_blocks, &ind_blocks);
gfs2_write_calc_reserv(ip, write_len, &data_blocks, &ind_blocks);

error = gfs2_write_alloc_required(ip, pos, from - to, &alloc_required);
error = gfs2_write_alloc_required(ip, pos, write_len, &alloc_required);
if (error)
goto out_unlock;


ip->i_alloc.al_requested = 0;
if (alloc_required) {
al = gfs2_alloc_get(ip);

Expand Down Expand Up @@ -482,7 +485,7 @@ static int gfs2_commit_write(struct file *file, struct page *page,
kaddr = kmap_atomic(page, KM_USER0);
memcpy(dibh->b_data + sizeof(struct gfs2_dinode) + from,
kaddr + from, to - from);
kunmap_atomic(page, KM_USER0);
kunmap_atomic(kaddr, KM_USER0);

SetPageUptodate(page);

Expand Down
2 changes: 1 addition & 1 deletion fs/gfs2/rgrp.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ void gfs2_rgrp_repolish_clones(struct gfs2_rgrpd *rgd);
struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip);
static inline void gfs2_alloc_put(struct gfs2_inode *ip)
{
return; /* Se we can see where ip->i_alloc is used */
return; /* So we can see where ip->i_alloc is used */
}

int gfs2_inplace_reserve_i(struct gfs2_inode *ip,
Expand Down

0 comments on commit a5344a9

Please sign in to comment.