Skip to content

Commit

Permalink
gfs2: fix bogus __mark_inode_dirty(I_DIRTY_SYNC | I_DIRTY_DATASYNC) c…
Browse files Browse the repository at this point in the history
…alls

I_DIRTY_DATASYNC is a strict superset of I_DIRTY_SYNC semantics, as
in mark dirty to be written out by fdatasync as well.  So dirtying
for both flags makes no sense.

Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Christoph Hellwig authored and Al Viro committed Mar 28, 2018
1 parent cab64df commit 937d330
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions fs/gfs2/xattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ static int ea_dealloc_unstuffed(struct gfs2_inode *ip, struct buffer_head *bh,
}

ip->i_inode.i_ctime = current_time(&ip->i_inode);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC);

gfs2_trans_end(sdp);

Expand Down Expand Up @@ -768,7 +768,7 @@ static int ea_alloc_skeleton(struct gfs2_inode *ip, struct gfs2_ea_request *er,
goto out_end_trans;

ip->i_inode.i_ctime = current_time(&ip->i_inode);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC);

out_end_trans:
gfs2_trans_end(GFS2_SB(&ip->i_inode));
Expand Down Expand Up @@ -896,7 +896,7 @@ static int ea_set_simple_noalloc(struct gfs2_inode *ip, struct buffer_head *bh,
ea_set_remove_stuffed(ip, es->es_el);

ip->i_inode.i_ctime = current_time(&ip->i_inode);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC);

gfs2_trans_end(GFS2_SB(&ip->i_inode));
return error;
Expand Down Expand Up @@ -1114,7 +1114,7 @@ static int ea_remove_stuffed(struct gfs2_inode *ip, struct gfs2_ea_location *el)
}

ip->i_inode.i_ctime = current_time(&ip->i_inode);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC);
__mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC);

gfs2_trans_end(GFS2_SB(&ip->i_inode));

Expand Down

0 comments on commit 937d330

Please sign in to comment.