On Mon, 2019-08-12 at 09:15 -0700, Deepa Dinamani wrote:
On Mon, Aug 12, 2019 at 9:09 AM Deepa Dinamani deepa.kernel@gmail.com wrote:
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.
One more thing, we will probably have to add a second warning for when the filesystem is re-mounted rw after the initial readonly mount.
Indeed, there would need to be a check for remount-read-write. I didn't check whether remount uses this same code path.
Ben.