Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable XFSTESTS #20

Merged
merged 27 commits into from
Mar 20, 2021
Merged

Enable XFSTESTS #20

merged 27 commits into from
Mar 20, 2021

Conversation

donporter
Copy link
Member

@donporter donporter commented Feb 4, 2021

Try turning on the XFSTEST jenkins job for this repo.


This change is Reviewable

@donporter
Copy link
Member Author

Test XFS please.

@donporter
Copy link
Member Author

Test XFS please

@donporter
Copy link
Member Author

Retest XFS please

@donporter
Copy link
Member Author

Retest XFS please. File system issue?

@donporter
Copy link
Member Author

Retest XFS please. Out of memory issue in last test.

@donporter donporter marked this pull request as ready for review March 18, 2021 15:48
@donporter
Copy link
Member Author

Retests Toku please. Some dicey stuff on sameagle; maybe also a legit bug...

@donporter
Copy link
Member Author

Retest Toku please. Some dicey stuff on sameagle; maybe also a legit bug... Typo in previous request

Copy link
Member

@msagarpatel msagarpatel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 2 files at r1, 5 of 31 files at r2, 3 of 5 files at r3, 9 of 12 files at r4, 1 of 28 files at r5.
Reviewable status: 17 of 19 files reviewed, 8 unresolved discussions (waiting on @donporter)


benchmarks/clear-fs-caches.sh, line 36 at r4 (raw file):

elif [[ $fstype == "ftfs" ]]
then
    if [ -z ${module+x} ]; then echo "module is unset"; exit -1; fi

Is this necessary? module is defined in fs-info.sh, and that script is sourced by this script.


filesystem/ftfs_module.c, line 78 at r5 (raw file):

static void __exit ftfs_module_exit(void)
{
	destroy_ft_index();

Should all of these function declarations and definitions be removed as well?


Jenkinsfiles/Linux-xfs, line 13 at r4 (raw file):

    stage('Testing') {
      steps {
	timeout(time: 75, unit: 'MINUTES') {

15 minutes should be sufficient.


Jenkinsfiles/Linux-xfs, line 17 at r4 (raw file):

	     /usr/bin/sudo /bin/cp /host/playpen/btrfs/* /sbin/
	     /usr/bin/sudo /bin/ln -s $(/bin/pwd) /oscar/betrfs
	     cp -r /usr/src/linux-source-3.11.10-ftfs /oscar/betrfs/linux-3.11.10

Is there a reason this is being copied? I don't think it's needed.


qemu-utils/xfstests/config, line 34 at r4 (raw file):

## DEP: Version as of roughly Apr '17.  Older versions don't
##      build properly with autoconf
XFSTESTS_COMMIT=22ea2f8

Was rolling this forward intentional?


qemu-utils/xfstests/xfstests.sh, line 7 at r4 (raw file):

## Check argument count
if [ $# != 1 ] && [ $# != 2 ]; then

Remove this check.


qemu-utils/xfstests/xfstests.sh, line 14 at r4 (raw file):

## Make sure the first argument is what is expected
if [ $1 == "--force-hdd" ]; then

ditto


qemu-utils/xfstests/xfstests.sh, line 24 at r4 (raw file):

## Set KERNEL_VERSION if there is a second argument
if [[ $# -eq 2 ]]; then

Change to [[ $# -eq 1 ]] if check for --force-hdd and --force-ssd is removed.

Copy link
Member

@msagarpatel msagarpatel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 17 of 19 files reviewed, 7 unresolved discussions (waiting on @donporter)


Jenkinsfiles/Linux-xfs, line 19 at r5 (raw file):

	     cp -r /usr/src/linux-source-3.11.10-ftfs /oscar/betrfs/linux-3.11.10
	     cd /oscar/betrfs/qemu-utils/xfstests/
	     ./xfstests.sh --force-hdd

Just want to note that the parameter won't cause any problems, but it's not needed either.


qemu-utils/xfstests/xfstests.sh, line 24 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Change to [[ $# -eq 1 ]] if check for --force-hdd and --force-ssd is removed.

Actually, remove this altogether. About the recommendations above: we can keep these checks, but they're not really needed in this repo.

Copy link
Member

@msagarpatel msagarpatel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 of 12 files at r4.
Reviewable status: all files reviewed, 7 unresolved discussions (waiting on @donporter)

Copy link
Member Author

@donporter donporter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: all files reviewed, 7 unresolved discussions (waiting on @msagarpatel)


benchmarks/clear-fs-caches.sh, line 36 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Is this necessary? module is defined in fs-info.sh, and that script is sourced by this script.

Sort of. It is more like useful debugging. I hit a case where it was not set correctly, and it was not trivial to figure out why. This line of debugging info seemed worth keeping for a clearer error, should a similar problem arise in the future.


filesystem/ftfs_module.c, line 78 at r5 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Should all of these function declarations and definitions be removed as well?

I don't understand this comment. We definitely need a module exit function. Perhaps placed in the wrong code?


Jenkinsfiles/Linux-xfs, line 13 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

15 minutes should be sufficient.

Done.


Jenkinsfiles/Linux-xfs, line 17 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Is there a reason this is being copied? I don't think it's needed.

The linux source is not in the public repo.


qemu-utils/xfstests/config, line 34 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Was rolling this forward intentional?

Yes.


qemu-utils/xfstests/xfstests.sh, line 7 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Remove this check.

Done.


qemu-utils/xfstests/xfstests.sh, line 14 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

ditto

Done.


qemu-utils/xfstests/xfstests.sh, line 24 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Actually, remove this altogether. About the recommendations above: we can keep these checks, but they're not really needed in this repo.

Done.

Copy link
Member Author

@donporter donporter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 17 of 19 files reviewed, 7 unresolved discussions (waiting on @msagarpatel)


filesystem/ftfs_module.c, line 78 at r5 (raw file):

Previously, donporter (Don Porter) wrote…

I don't understand this comment. We definitely need a module exit function. Perhaps placed in the wrong code?

nm, I see. Explanation: what is going on here is that we moved a bunch of this code into the unmount path, rather than module unload path. The stuff that remains here really belongs here.

The code used to take some parameters at module load time that are really mountpoint-specific. For xfstests, we migrated some of them (and initialization) to mount time.

Copy link
Member

@msagarpatel msagarpatel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 of 2 files at r6.
Reviewable status: all files reviewed, 2 unresolved discussions (waiting on @donporter)


benchmarks/clear-fs-caches.sh, line 36 at r4 (raw file):

Previously, donporter (Don Porter) wrote…

Sort of. It is more like useful debugging. I hit a case where it was not set correctly, and it was not trivial to figure out why. This line of debugging info seemed worth keeping for a clearer error, should a similar problem arise in the future.

Would it be better to use set -u in conjunction with set -e? set -u will:

  • print an error message about a variable not being defined
  • return non-zero error code.

The latter will cause the script to stop executing if used in conjunction with set -e.


filesystem/ftfs_module.c, line 78 at r5 (raw file):

Previously, donporter (Don Porter) wrote…

nm, I see. Explanation: what is going on here is that we moved a bunch of this code into the unmount path, rather than module unload path. The stuff that remains here really belongs here.

The code used to take some parameters at module load time that are really mountpoint-specific. For xfstests, we migrated some of them (and initialization) to mount time.

My bad, I thought I retracted this comment. Thanks for the context of the changes though.


Jenkinsfiles/Linux-xfs, line 17 at r4 (raw file):

Previously, donporter (Don Porter) wrote…

The linux source is not in the public repo.

Yes, but the Jenkins jobs don't need the kernel tree. The Jenkins nodes' kernel is being mapped into the container. Refer to this parameter above: -v /playpen/linux-source-3.11.10-ftfs:/usr/src/linux-source-3.11.10-ftfs.


qemu-utils/xfstests/config, line 34 at r4 (raw file):

Previously, donporter (Don Porter) wrote…

Yes.

Resolved. Should we roll forward in the private repo?

Copy link
Member Author

@donporter donporter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: all files reviewed, 2 unresolved discussions (waiting on @msagarpatel)


benchmarks/clear-fs-caches.sh, line 36 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Would it be better to use set -u in conjunction with set -e? set -u will:

  • print an error message about a variable not being defined
  • return non-zero error code.

The latter will cause the script to stop executing if used in conjunction with set -e.

Yes! Level up my bash!


Jenkinsfiles/Linux-xfs, line 17 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Yes, but the Jenkins jobs don't need the kernel tree. The Jenkins nodes' kernel is being mapped into the container. Refer to this parameter above: -v /playpen/linux-source-3.11.10-ftfs:/usr/src/linux-source-3.11.10-ftfs.

Sure, let's try it.


qemu-utils/xfstests/config, line 34 at r4 (raw file):

Previously, msagarpatel (Sagar Patel) wrote…

Resolved. Should we roll forward in the private repo?

We are rolling forward to match private.

msagarpatel
msagarpatel previously approved these changes Mar 18, 2021
Copy link
Member

@msagarpatel msagarpatel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 of 2 files at r7.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @donporter)

Copy link
Member

@msagarpatel msagarpatel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 1 files at r8.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @donporter)

@donporter
Copy link
Member Author

Retest Benchmarks please. Timeout - may need to bump it up

@donporter
Copy link
Member Author

Retest Toku please. Also a timeout. May need to increase from enabling concurrent workers.

@donporter donporter merged commit 90244e8 into master Mar 20, 2021
@donporter donporter deleted the don/xfstest branch March 20, 2021 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants