Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 65094
b: refs/heads/master
c: db56246
h: refs/heads/master
v: v3
  • Loading branch information
Mark Fasheh committed Sep 20, 2007
1 parent 5f32fc4 commit d5f35a1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 415cb800375cc4e89fb5a6a454e484bd4adbffb4
refs/heads/master: db56246c6980e376b02d2da568d119da71f82fb9
17 changes: 16 additions & 1 deletion trunk/fs/ocfs2/aops.c
Original file line number Diff line number Diff line change
Expand Up @@ -1211,18 +1211,33 @@ static int ocfs2_write_cluster_by_desc(struct address_space *mapping,
loff_t pos, unsigned len)
{
int ret, i;
loff_t cluster_off;
unsigned int local_len = len;
struct ocfs2_write_cluster_desc *desc;
struct ocfs2_super *osb = OCFS2_SB(mapping->host->i_sb);

for (i = 0; i < wc->w_clen; i++) {
desc = &wc->w_desc[i];

/*
* We have to make sure that the total write passed in
* doesn't extend past a single cluster.
*/
local_len = len;
cluster_off = pos & (osb->s_clustersize - 1);
if ((cluster_off + local_len) > osb->s_clustersize)
local_len = osb->s_clustersize - cluster_off;

ret = ocfs2_write_cluster(mapping, desc->c_phys,
desc->c_unwritten, data_ac, meta_ac,
wc, desc->c_cpos, pos, len);
wc, desc->c_cpos, pos, local_len);
if (ret) {
mlog_errno(ret);
goto out;
}

len -= local_len;
pos += local_len;
}

ret = 0;
Expand Down

0 comments on commit d5f35a1

Please sign in to comment.