diff options
author | Christoph Hellwig <hch@lst.de> | 2018-02-21 10:54:46 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2018-03-28 01:39:01 -0400 |
commit | 937d3305126da49067da74280d72b457555a0aee (patch) | |
tree | e803eff884272e8aa3dac4eaa8585d2038cc45b0 /fs/gfs2/xattr.c | |
parent | cab64df194667dc5d9d786f0a895f647f5501c0d (diff) |
gfs2: fix bogus __mark_inode_dirty(I_DIRTY_SYNC | I_DIRTY_DATASYNC) calls
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 <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/gfs2/xattr.c')
-rw-r--r-- | fs/gfs2/xattr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/gfs2/xattr.c b/fs/gfs2/xattr.c index 05de20954659..f2bce1e0f6fb 100644 --- a/fs/gfs2/xattr.c +++ b/fs/gfs2/xattr.c | |||
@@ -308,7 +308,7 @@ static int ea_dealloc_unstuffed(struct gfs2_inode *ip, struct buffer_head *bh, | |||
308 | } | 308 | } |
309 | 309 | ||
310 | ip->i_inode.i_ctime = current_time(&ip->i_inode); | 310 | ip->i_inode.i_ctime = current_time(&ip->i_inode); |
311 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC); | 311 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC); |
312 | 312 | ||
313 | gfs2_trans_end(sdp); | 313 | gfs2_trans_end(sdp); |
314 | 314 | ||
@@ -768,7 +768,7 @@ static int ea_alloc_skeleton(struct gfs2_inode *ip, struct gfs2_ea_request *er, | |||
768 | goto out_end_trans; | 768 | goto out_end_trans; |
769 | 769 | ||
770 | ip->i_inode.i_ctime = current_time(&ip->i_inode); | 770 | ip->i_inode.i_ctime = current_time(&ip->i_inode); |
771 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC); | 771 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC); |
772 | 772 | ||
773 | out_end_trans: | 773 | out_end_trans: |
774 | gfs2_trans_end(GFS2_SB(&ip->i_inode)); | 774 | gfs2_trans_end(GFS2_SB(&ip->i_inode)); |
@@ -896,7 +896,7 @@ static int ea_set_simple_noalloc(struct gfs2_inode *ip, struct buffer_head *bh, | |||
896 | ea_set_remove_stuffed(ip, es->es_el); | 896 | ea_set_remove_stuffed(ip, es->es_el); |
897 | 897 | ||
898 | ip->i_inode.i_ctime = current_time(&ip->i_inode); | 898 | ip->i_inode.i_ctime = current_time(&ip->i_inode); |
899 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC); | 899 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC); |
900 | 900 | ||
901 | gfs2_trans_end(GFS2_SB(&ip->i_inode)); | 901 | gfs2_trans_end(GFS2_SB(&ip->i_inode)); |
902 | return error; | 902 | return error; |
@@ -1114,7 +1114,7 @@ static int ea_remove_stuffed(struct gfs2_inode *ip, struct gfs2_ea_location *el) | |||
1114 | } | 1114 | } |
1115 | 1115 | ||
1116 | ip->i_inode.i_ctime = current_time(&ip->i_inode); | 1116 | ip->i_inode.i_ctime = current_time(&ip->i_inode); |
1117 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC); | 1117 | __mark_inode_dirty(&ip->i_inode, I_DIRTY_DATASYNC); |
1118 | 1118 | ||
1119 | gfs2_trans_end(GFS2_SB(&ip->i_inode)); | 1119 | gfs2_trans_end(GFS2_SB(&ip->i_inode)); |
1120 | 1120 | ||