On Mon, Jan 13, 2014 at 12:00:26PM +0800, Qu Wenruo wrote:
> On Mon, 13 Jan 2014 14:26:50 +1100, Dave Chinner wrote:
> >On Mon, Jan 13, 2014 at 10:26:05AM +0800, Qu Wenruo wrote:
> >>On mon, 13 Jan 2014 12:52:39 +1100, Dave Chinner wrote:
> >>>On Sun, Jan 12, 2014 at 07:35:44PM -0600, Eric Sandeen wrote:
> >>>>I won't say no to this, but it seems to be of somewhat limited use.
> >>>What happens to the test when mount options are deprecated/removed?
> >>>How are we going to handle the matrix of testable/untestable mount
> >>>options across kernels with different mount option support?
> >>In my opinion,there may be two ways to deal it:
> >>1) Introduce up_limit_kver and down_limit_kver to *every* mount option.
> >>If needed also add deprecated flags.
> >Both of which are messy, and kernel version number checks don't work
> >with vendor kernels that have stuff back ported to them.
> >>This method will introduce more effort tomaintain the test case, but
> >>due to the small codes and
> >>relativly less changes in mount options, I consider it as an
> >>acceptable method.
> >What you are saying is that such a test will require constant
> >maintenance from upstream developers to keep working across all the
> >kernels that btrfs supports.
> >When combined with Eric's comments that it doesn't test the
> >functionality and so has relatively little benefit in terms of
> >improving code coverage, it doesn't paint a pretty picture. So from
> >that point of view, I'd say no to such a test.
> >>It would be quite nice if any one can provide any better idea.
> >Write a test for each individual feature that exercises and
> >validates that feature in some way. Part of a functional test would
> >be to test that the mount options for that function do what they are
> >intended to do. Eric suggested the same thing (though in a different
> That's right, individual test case is the best way.
> But most of the options are just instructive options,
> and only affects performance, it's very hard to test. (like
> space_cace and nospace_cache)
Bad example. nospace_cache/space_cache change what is stored on
disk, and affect *mount* processing depending on whether there is
a cache or not. It also affects how tools like fsck.btrfs check the
filesystem and so on. There is far more to test than just remount
behaviour when testing the functionality of such a mount option, and
that's the reason why they should be done in targeted feature
> Now I'm interested in how other filesystems like xfs makes sure that
> every pairing
> mount options are tested.
XFS has extremely limited remount option support, and we already
have xfs/189 for that. And it does all sorts of interesting things
to support the different configurations and behaviours of /etc/mtab
that different distros use because that changes mount behaviour....