On Mon, Aug 12, 2019 at 7:11 AM Arnd Bergmann arnd@arndb.de wrote:
On Mon, Aug 12, 2019 at 3:25 PM Ben Hutchings ben.hutchings@codethink.co.uk wrote:
On Sat, 2019-08-10 at 13:44 -0700, Deepa Dinamani wrote:
On Mon, Aug 5, 2019 at 7:14 AM Ben Hutchings ben.hutchings@codethink.co.uk wrote:
On Mon, 2019-07-29 at 18:49 -0700, Deepa Dinamani wrote:
The warning reuses the uptime max of 30 years used by the setitimeofday().
Note that the warning is only added for new filesystem mounts through the mount syscall. Automounts do not have the same warning.
[...]
Another thing - perhaps this warning should be suppressed for read-only mounts?
Many filesystems support read only mounts only. We do fill in right granularities and limits for these filesystems as well. In keeping with the trend, I have added the warning accordingly. I don't think I have a preference either way. But, not warning for the red only mounts adds another if case. If you have a strong preference, I could add it in.
It seems to me that the warning is needed if there is a possibility of data loss (incorrect timestamps, potentially leading to incorrect decisions about which files are newer). This can happen only when a filesystem is mounted read-write, or when a filesystem image is created.
I think that warning for read-only mounts would be an annoyance to users retrieving files from old filesystems.
I agree, the warning is not helpful for read-only mounts. An earlier plan was to completely disallow writable mounts that might risk an overflow (in some configurations at least). The warning replaces that now, and I think it should also just warn for the cases that would otherwise have been dangerous.
Ok, I will make the change to exclude new read only mounts. I will use __mnt_is_readonly() so that it also exculdes filesystems that are readonly also. The diff looks like below:
- if (!error && sb->s_time_max && + if (!error && !__mnt_is_readonly(mnt) && (ktime_get_real_seconds() + TIME_UPTIME_SEC_MAX > sb->s_time_max)) {
Note that we can get rid of checking for non zero sb->s_time_max now.
-Deepa