> On Nov 3, 2016, at 2:43 PM, Theodore Ts'o <tytso@xxxxxxx> wrote: > > On Thu, Nov 03, 2016 at 09:48:27AM +1100, Dave Chinner wrote: >> >> We're going to need regression tests for this to ensure that it >> works properly and that we don't inadvertantly break it in future. >> Can you write some xfstests that exercise this functionality and >> validate that the mount behaviour, clamping and range limiting is >> working as intended? > > In order to have automated regression tests which are file system > independent, we need a way to query what are the timestamps that a > particular mounted file systme supports. One approach would be to use > fsinfo, which David Howells had been working on, but which has been > bike-shedded to death for the last n years, and I'd hate to block this > patch series behind a proposed new fsinfo(2) system call. I wish we could just get the fsinfo and statx calls landed, but I agree it would be a DOS to block any other patches waiting for that to land... or maybe we _should_ block other patches behind that patch, and force it to be landed... :-) > Alternatively, we can just create a specialized ioctl to return that > information which is non-ideal in other dimensions. > > The last option, which is admittedly ugly, would be to create an shell > function which knows how to figure out the max_timestamp and > min_timestamp by using the file system name and querying the > superblock using dumpe2fs, xfs_db, etc. > > I'd argue for the last option because once we do get a programmtic way > to get the information via a system call such as fsinfo(2), we can > convert xfstests to use it, where as if we add an ioctl to return this > information, we'll have to support the ioctl forever. > > Does this make sense? Any objections? Realistically, there are only a handful of filesystems being tested by xfstests, and it is simple enough to hard-code these limits into the test script for ext4, xfs, btrfs, etc. since the limits will not be changing very often (and it is noteworthy when they do). If and when there is an interface to query these values from the kernel, it may still make sense to keep the hard-coded limits to verify the syscall against... Cheers, Andreas
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail