On 6 May 2014 06:42, Vadim Zhukov <persg...@gmail.com> wrote:
> Hello all.
>
> This fixes a bug with mtime not updated after file creation on ext2+
> file systems. Try it yourself:
>
> # mount -t ext2fs /dev/sd0o /mnt
> # cp /tmp/qq /mnt
> # ls -l /mnt/qq
> -rw-r--r--  1 root  wheel     10 Jan  1  1970 qq
> # touch /mnt/qq
> -rw-r--r--  1 root  wheel     10 May  6 14:36 qq
>
> This probably does more than needed - I suspect that sometimes
> the updated mtime could be already there, but I don't see any real
> downside and it makes EX2FS_ITIMES() look more similar to
> ufs_itimies(). Opinions? Okays?
> --
> WBR,
>   Vadim Zhukov
>
>
> Index: inode.h
> ===================================================================
> RCS file: /cvs/src/sys/ufs/ufs/inode.h,v
> retrieving revision 1.44
> diff -u -p -r1.44 inode.h
> --- inode.h     14 Apr 2014 22:25:40 -0000      1.44
> +++ inode.h     6 May 2014 10:36:59 -0000
> @@ -318,6 +318,8 @@ struct indir {
>                 (ip)->i_flag |= IN_MODIFIED;                            \
>                 if ((ip)->i_flag & IN_CHANGE)                           \
>                         (ip)->i_e2fs_ctime = time_second;               \
> +               if ((ip)->i_flag & IN_UPDATE)                           \
> +                       (ip)->i_e2fs_mtime = time_second;               \
>                 (ip)->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE);   \
>         }                                                               \
>  } while (0)
>

ok krw@ but it would be nice if a *real* filesystem guru opined too. :-)

.... Ken

Reply via email to