[CentOS] jfs directory modification times in centosplus

Thu Feb 16 17:15:12 UTC 2006
James Fidell <james at cloud9.co.uk>

(This is a copy of an email I've sent to the jfs-discussion list. I'm
copying here in the hope that I'll get help from somewhere...)

I'm running Centos 4.2 with kernel-2.6.9-22.0.2.106.unsupported and
jfsutils-1.1.10-3.2 from the centosplus distribution, with a jfs
partition for my maildir mail spool, accessed using the dovecot IMAP
server. It seems that dovecot doesn't properly track new incoming email,
apparently because the modification time on .../Maildir/new doesn't get
updated when a new message is linked into it from .../Maildir/tmp.

A quick manual test gives:

     $ mkdir a b
     $ cd b
     $ ls -al
     total 4
     drwxr-xr-x   2 root root  1 Feb 16 15:51 .
     drwxr-xr-x  11 root root 72 Feb 16 15:51 ..
     $ touch c
     $ ls -la
     total 4
     drwxr-xr-x   2 root root  8 Feb 16 15:56 .
     drwxr-xr-x  11 root root 72 Feb 16 15:51 ..
     -rw-r--r--   1 root root  0 Feb 16 15:56 c
     $ ls -al ../a
     total 4
     drwxr-xr-x   2 root root  1 Feb 16 15:51 .
     drwxr-xr-x  11 root root 72 Feb 16 15:51 ..
     $ ln c ../a
     $ ls -la ../a
     total 4
     drwxr-xr-x   2 root root  8 Feb 16 15:51 .
     drwxr-xr-x  11 root root 72 Feb 16 15:51 ..
     -rw-r--r--   2 root root  0 Feb 16 15:56 c

showing that directory "a" doesn't have the modification date changed when
file "c" is linked into it from "b".  On an ext3 filesystem however:

     $ mkdir a b
     $ cd b
     ls -la
     total 12
     drwxrwxr-x   2 james james 4096 Feb 16 17:00 .
     drwxrwxrwt  18 root  root  4096 Feb 16 17:00 ..
     $ touch c
     $ ls -la
     total 12
     drwxrwxr-x   2 james james 4096 Feb 16 17:01 .
     drwxrwxrwt  18 root  root  4096 Feb 16 17:00 ..
     -rw-rw-r--   1 james james    0 Feb 16 17:01 c
     $ ls -al ../a
     total 12
     drwxrwxr-x   2 james james 4096 Feb 16 17:00 .
     drwxrwxrwt  18 root  root  4096 Feb 16 17:00 ..
     $ ln c ../a
     $ ls -al ../a
     total 12
     drwxrwxr-x   2 james james 4096 Feb 16 17:02 .
     drwxrwxrwt  18 root  root  4096 Feb 16 17:00 ..
     -rw-rw-r--   2 james james    0 Feb 16 17:01 c

and the last mod date on "a" is changed.  UFS on FreeBSD exhibits the same
behaviour as ext3.

Is this a known problem?  Documented behaviour?  Is there a way to get
the behaviour I want?

James