Hi,

I'm going over some old upstream patches I have squirreled away.
Here's one:
---
In patch 0c9018097f, function gfs2_write_end was changed so that it
marked inodes dirty if they had new buffers queued to the current
transaction. Unfortunately, it was only done for ordered data files.
The check was never done for jdata files, so the inode was never
properly marked dirty. This patch adds the additional check so that
jdata files are also marked dirty.

Signed-off-by: Bob Peterson <[email protected]>
---
 fs/gfs2/aops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 35f5ee23566d..9e24494fc5be 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -900,7 +900,7 @@ static int gfs2_write_end(struct file *file, struct 
address_space *mapping,
 
        ret = generic_write_end(file, mapping, pos, len, copied, page, fsdata);
        page = NULL;
-       if (tr->tr_num_buf_new)
+       if (tr->tr_num_buf_new || tr->tr_num_databuf_new)
                __mark_inode_dirty(inode, I_DIRTY_DATASYNC);
        else
                gfs2_trans_add_meta(ip->i_gl, dibh);

Reply via email to