[LU-7747] sanity test_56w: dataversion changed during copy, migration aborted Created: 05/Feb/16  Updated: 14/Jun/16  Resolved: 14/Jun/16

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.9.0

Type: Bug Priority: Minor
Reporter: Maloo Assignee: WC Triage
Resolution: Fixed Votes: 0
Labels: staging

Issue Links:
Related
is related to LU-7746 skip test of new functionality on ups... Resolved
is related to LU-4011 problems with upstream lustre client ... Closed
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

This issue was created by maloo for Andreas Dilger <andreas.dilger@intel.com>

This issue relates to the following test suite run: https://testing.hpdd.intel.com/test_sets/2c32de50-cbab-11e5-a59a-5254006e85c2.

The sub-test test_56w failed with the following error:

== sanity test 56w: check lfs_migrate -c stripe_count works ========================================== 21:38:08 (1454621888)
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
yes: standard output: Broken pipe
yes: write error
/usr/bin/lfs_migrate -y -c 6 /mnt/lustre/d56w.sanityw/file1
/mnt/lustre/d56w.sanityw/file1: /usr/bin/lfs: /mnt/lustre/d56w.sanityw/file1: dataversion changed during copy, migration aborted
cannot put lease: Invalid argument (22)
error: migrate: migrate file '/mnt/lustre/d56w.sanityw/file1' failed
falling back to rsync-based migration
done
/usr/bin/lfs migrate -i 0 /mnt/lustre/d56w.sanityw/migr_1_ost
/usr/bin/lfs: /mnt/lustre/d56w.sanityw/migr_1_ost: dataversion changed
/usr/bin/lfs migrate -i 0 /mnt/lustre/d56w.sanityw/migr_1_ost failed

Rather than skipping this test, the lfs_migrate script and lfs migrate should be made more graceful if the requisite functionality is missing, since users will try to use this with the upstream kernel.

Info required for matching: sanity 56w



 Comments   
Comment by Andreas Dilger [ 05/Feb/16 ]

Also:

== sanity test 56x: lfs migration support ============================================================ 21:38:18 (1454621898)
/usr/bin/lfs: /mnt/lustre/d56x.sanity/56x/file1: read failed: Invalid argument
/usr/bin/lfs: /mnt/lustre/d56x.sanity/56x/file1: data copy failed
cannot put lease: Invalid argument (22)
error: migrate: migrate file '/mnt/lustre/d56x.sanity/56x/file1' failed
 sanity test_56x: @@@@@@ FAIL: migrate failed rc = 22 

Info required for matching: sanity 56x

Comment by Dmitry Eremin (Inactive) [ 26/May/16 ]

Also I found two "migrate" descriptions in sources:

/* all available commands */
command_t cmdlist[] = {
...
        {"migrate", lfs_setstripe, 0,
         "migrate a directory between MDTs.\n"
         "usage: migrate --mdt-index <mdt_idx> [--verbose|-v] "
         "<directory>\n"
         "\tmdt_idx:      index of the destination MDT\n"},
        {"migrate", lfs_setstripe, 0,
         "migrate file objects from one OST "
         "layout\nto another (may be not safe with concurent writes).\n"
         "usage: migrate "
         "[--stripe-count|-c] <stripe_count>\n"
         "[--stripe-index|-i] <start_ost_index>\n"
         "[--stripe-size|-S] <stripe_size>\n"
         "[--pool|-p] <pool_name>\n"
         "[--ost-list|-o] <ost_indices>\n"
         "[--block|-b]\n"
         "[--non-block|-n]\n"
         "<file|directory>\n"
         "\tstripe_count:     number of OSTs to stripe a file over\n"
         "\tstripe_ost_index: index of the first OST to stripe a file over\n"
         "\tstripe_size:      number of bytes to store before moving to the next OST\n"
         "\tpool_name:        name of the predefined pool of OSTs\n"
         "\tost_indices:      OSTs to stripe over, in order\n"
         "\tblock:            wait for the operation to return before continuing\n"
         "\tnon-block:        do not wait for the operation to return.\n"},
...
};

Only first one is used.

Comment by Andreas Dilger [ 26/May/16 ]

Dmitry, that is indeed a bug. Both descriptions are correct, but they need to be combined into a single message.

Comment by Gerrit Updater [ 01/Jun/16 ]

Dmitry Eremin (dmitry.eremin@intel.com) uploaded a new patch: http://review.whamcloud.com/20541
Subject: LU-7747 lfs: fix help message for migrate
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 097da1f15cd60516ad940b4cb48871f8dc99429b

Comment by Gerrit Updater [ 14/Jun/16 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/20541/
Subject: LU-7747 lfs: fix help message for migrate
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 72ac681d5d686d5626be606cc87ddeeed0b8e3a0

Comment by Joseph Gmitter (Inactive) [ 14/Jun/16 ]

patch has landed to master for 2.9

Generated at Sat Feb 10 02:11:34 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.