* [Cluster-devel] [GFS2 PATCH] inode size inconsistency
@ 2007-06-27 15:00 Wendy Cheng
2007-06-27 16:02 ` Steven Whitehouse
0 siblings, 1 reply; 2+ messages in thread
From: Wendy Cheng @ 2007-06-27 15:00 UTC (permalink / raw)
To: cluster-devel.redhat.com
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 04_gfs2_specsfs.patch
Type: text/x-patch
Size: 523 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070627/2730f234/attachment.bin>
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Cluster-devel] [GFS2 PATCH] inode size inconsistency
2007-06-27 15:00 [Cluster-devel] [GFS2 PATCH] inode size inconsistency Wendy Cheng
@ 2007-06-27 16:02 ` Steven Whitehouse
0 siblings, 0 replies; 2+ messages in thread
From: Steven Whitehouse @ 2007-06-27 16:02 UTC (permalink / raw)
To: cluster-devel.redhat.com
Hi,
Now in the -nmw git tree. Thanks,
Steve.
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
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-06-27 16:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-27 15:00 [Cluster-devel] [GFS2 PATCH] inode size inconsistency Wendy Cheng
2007-06-27 16:02 ` Steven Whitehouse
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.