[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Cluster-devel] [GFS2 PATCH] inode size inconsistency


Now in the -nmw git tree. Thanks,


On Wed, 2007-06-27 at 11:00 -0400, Wendy Cheng wrote:
> This should have been part of the NFS patch #1 but somehow I missed it 
> when packaging the patches. It is not a critical issue as the others (I 
> hope). RHEL 5.1 31.el5 kernel runs fine without this change.
> Our truncate code is chopped into two parts, one for vfs inode changes 
> (in vmtruncate()) and one of gfs inode (in gfs2_truncatei()). These two 
> operatons are, unfortunately, not atomic. So it could happens that 
> vmtruncate() succeeds (inode->i_size is changed) but gfs2_truncatei 
> fails (say kernel temporarily out of memory). This would leave gfs inode 
> i_di.di_size out of sync with vfs inode i_size. It will later confuse 
> gfs2_commit_write() if a write is issued. Last time I checked, it will 
> cause file corruption.
> -- Wendy

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]