So I think I have to disagree about what it means in v7, comments notwithstanding.
iupdat() has:
if(ip->i_flag&ICHG)
dp->di_ctime = time;
ICHG is set in unlink(), chmod(), chown() and utime() (maybe a few others, this was a quick peek).
So even in v7, ctime means any changes to metadata / inode data. At least for some definition of "any".
Btw, it looks like this was named IUPD in v6 and did similar things. In v6 it is updated in iput when IUPD is set. But it looks like ctime and mtime are folded together. So v7 is the first edition that has ctime and the code implements any change to metadata from my reading.
Warner