<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Erez,<BR>
<BR>
I have tried to reproduce the bug and I am completely unable to do so. It does indeed appear to be fixed. <BR>
<BR>
Thank you for the fix!<BR>
<BR>
Kind regards,<BR>
<BR>
John Nielsen<BR><BR><BR><BR><BR>
<HR id=stopSpelling>
<BR>
> Date: Tue, 18 Dec 2007 01:55:57 -0500<BR>> From: ezk@cs.sunysb.edu<BR>> To: junx_dk@hotmail.com<BR>> CC: ezk@cs.sunysb.edu; unionfs@fsl.cs.sunysb.edu<BR>> Subject: [Unionfs] timestamp/mtime related bugs, probable fix<BR>> <BR>> John, I believe I fixed the bug you reported in "possible timestamp related<BR>> problem". Thanks for your help in reproducing the bug.<BR>> <BR>> It was caused when reusing old inode times in a newly allocated inode, which<BR>> was active before, had some m/c/atimes in it, freed, and returned to the<BR>> inode cache: the older times were not reset, and if they were newer than the<BR>> current lower inode times, then they never reverted back. This only<BR>> happened on systems with not much memory, that use a lot of inodes over a<BR>> long enough period of time -- enough to cause the icache to recycle them.<BR>> <BR>> The fix was simple, as the patch below shows. With this fix, I'm able to<BR>> built perl on your system several times for a few hours already; without the<BR>> fix, the build fails mid-way.<BR>> <BR>> If I'm right, this should also fix two other reported bugs that<BR>> others have reported as file mtimes changing seemingly randomly:<BR>> <BR>> https://bugzilla.fsl.cs.sunysb.edu/show_bug.cgi?id=575<BR>> https://bugzilla.fsl.cs.sunysb.edu/show_bug.cgi?id=578<BR>> <BR>> Erez.<BR>> <BR>> <BR>> diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c<BR>> index 37fdc29..562880a 100644<BR>> --- a/fs/unionfs/super.c<BR>> +++ b/fs/unionfs/super.c<BR>> @@ -55,6 +55,14 @@ static void unionfs_read_inode(struct inode *inode)<BR>> <BR>> inode->i_mapping->a_ops = &unionfs_aops;<BR>> <BR>> + /*<BR>> + * reset times so unionfs_copy_attr_all can keep out time invariants<BR>> + * right (upper inode time being the max of all lower ones).<BR>> + */<BR>> + inode->i_atime.tv_sec = inode->i_atime.tv_nsec = 0;<BR>> + inode->i_mtime.tv_sec = inode->i_mtime.tv_nsec = 0;<BR>> + inode->i_ctime.tv_sec = inode->i_ctime.tv_nsec = 0;<BR>> +<BR>> unionfs_read_unlock(inode->i_sb);<BR>> }<BR>> <BR>> _______________________________________________<BR>> unionfs mailing list: http://unionfs.filesystems.org/<BR>> unionfs@mail.fsl.cs.sunysb.edu<BR>> http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs<BR><BR><br /><hr />Windows Live Spaces er her! Du kan nemt oprette dit eget personlige websted. <a href='http://spaces.live.com/signup.aspx' target='_new'>Prøv det!</a></body>
</html>