[Cluster-devel] [PATCH] GFS2: dirty inode correctly in gfs2_write_end

Bob Peterson rpeterso at redhat.com
Wed Sep 4 13:24:59 UTC 2013


----- Original Message -----
| GFS2 was only setting I_DIRTY_DATASYNC on files that it wrote to, when
| it actually increased the file size.  If gfs2_fsync was called without
| I_DIRTY_DATASYNC set, it didn't flush the incore data to the log before
| returning, so any metadata or journaled data changes were not getting
| fsynced. This meant that writes to the middle of files were not always
| getting fsynced properly.
| 
| This patch makes gfs2 set I_DIRTY_DATASYNC whenever metadata has been
| updated during a write. It also make gfs2_sync flush the incore log
| if I_DIRTY_PAGES is set, and the file is using data journalling. This
| will make sure that all incore logged data gets written to disk before
| returning from a fsync.
| 
| Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>

Hi,

ACK

Bob Peterson
Red Hat File Systems




More information about the Cluster-devel mailing list