Hi Juergen, do you want to log this as a bug ? I'll sponsor that fix for you.
Thanks, FrankH. On Mon, 25 Sep 2006, Jürgen Keil wrote:
On a box running on-20060918: reading from a pcfs file changes the file's modification time. And access time is messed up, too. [b] # mkfile 1440k /tmp/bla # lofiadm -a /tmp/bla /dev/lofi/9 # mkfs -F pcfs -o nofdisk,fat=12,spc=1,nsect=18,ntrack=2,size=2880 /dev/rlofi/9 # mount -F pcfs /dev/lofi/9 /mnt # echo Hello, world > /mnt/file # touch -t 200301011200 /mnt/file # ls -l /mnt/file -rwxrwxrwx 1 root root 13 Jan 1 2003 /mnt/file # ls -lu /mnt/file -rwxrwxrwx 1 root root 13 Jan 1 2003 /mnt/file # cat /mnt/file Hello, world # ls -l /mnt/file -rwxrwxrwx 1 root root 13 Sep 23 12:29 /mnt/file # ls -lu /mnt/file -rwxrwxrwx 1 root root 13 Jan 2 1980 /mnt/file [/b] The change in usr/src/uts/common/fs/pcfs/pc_node.c function pc_mark_acc() looks suspicious: http://cvs.opensolaris.org/source/diff/on/usr/src/uts/common/fs/pcfs/pc_node.c?r2=1.49&r1=1.48 I've fixed it with this patch: --- ../opensolaris-20060918/usr/src/uts/common/fs/pcfs/pc_node.c 2006-09-19 16:32:37.000000000 +0200 +++ usr/src/uts/common/fs/pcfs/pc_node.c 2006-09-23 14:00:12.348921435 +0200 @@ -306,7 +306,7 @@ if (PCTOV(pcp)->v_type == VREG) { gethrestime(&now); - if (pc_tvtopct(&now, &pcp->pc_entry.pcd_mtime)) + if (pc_tvtopct(&now, &pt)) PC_DPRINTF1(2, "pc_mark_acc failed timestamp " "conversion, curtime = %lld\n", (long long)now.tv_sec); This message posted from opensolaris.org _______________________________________________ ufs-discuss mailing list [email protected]
========================================================================== No good can come from selling your freedom, not for all gold of the world, for the value of this heavenly gift exceeds that of any fortune on earth. ==========================================================================
_______________________________________________ ufs-discuss mailing list [email protected]
