[LU-4159] 2.4 Client does not recognized that a file is released Created: 28/Oct/13  Updated: 28/Oct/13

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.1
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: James Nunez (Inactive) Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: HSM
Environment:

OpenSFS cluster with RHEL6 with combined MGS/MDS, single OSS with two OSTs, four Lustre 2.5 (Build #2) clients; one HSM Agent + client, one with robinhood/db running and two Lustre clients. Also one 2.4 (build #46) Lustre client.


Rank (Obsolete): 11281

 Description   

When a 2.5 Lustre client archives and releases a file, a 2.4 client does not recognize that it is released. According to the test plan, 2.4 clients are supposed to fail with -ENODATA when the try to read/write to a released file.

Currently, the 2.4 client correctly reports that the released file is inaccessible rather than reporting false success and returning no data.
This ticket is to request that 2.4 clients recognize that a file is released and, if possible, restore the file.

In the following, c15 is the 2.4 client and c14 is the 2.5 client:

List Lustre file system contents on both clients:

[root@c14 ~]# ls -l /lustre/scratch
total 3308
-rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz
-rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz
[root@c15 ~]# ls -l /lustre/scratch/
total 3308
-rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz
-rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz

Check the state of the file, archive it, check state and then list directory contents on both clients to make sure nothing has changed:

[root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz 
/lustre/scratch/tet_vsxgen_3.02.tgz: (0x00000000)
[root@c14 ~]# lfs hsm_archive --archive 1 /lustre/scratch/tet_vsxgen_3.02.tgz 
[root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz 
/lustre/scratch/tet_vsxgen_3.02.tgz: (0x00000009) exists archived, archive_id:1
[root@c14 ~]# ls -l /lustre/scratch
total 3308
-rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz
-rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz
[root@c15 ~]# ls -l /lustre/scratch/
total 3308
-rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz
-rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz

Now release the file and check state on the 2.5 client. Try and get details on the same file from the 2.4 client:

[root@c14 ~]# lfs hsm_release /lustre/scratch/tet_vsxgen_3.02.tgz 
[root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz 
/lustre/scratch/tet_vsxgen_3.02.tgz: (0x0000000d) released exists archived, archive_id:1
[root@c14 ~]# ls -l /lustre/scratch
total 2189
-rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz
-rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz
[root@c15 ~]# ls -l /lustre/scratch/
ls: cannot access /lustre/scratch/tet_vsxgen_3.02.tgz: Invalid argument
total 2188
-rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz
-????????? ? ?    ?          ?            ? tet_vsxgen_3.02.tgz
 [root@c15 ~]# ls -l /lustre/scratch/tet_vsxgen_3.02.tgz 
ls: cannot access /lustre/scratch/tet_vsxgen_3.02.tgz: Invalid argument
[root@c15 ~]# md5sum /lustre/scratch/tet_vsxgen_3.02.tgz 
md5sum: /lustre/scratch/tet_vsxgen_3.02.tgz: Invalid argument

Restore the file and check the MD5 checksum on both clients:

[root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz 
/lustre/scratch/tet_vsxgen_3.02.tgz: (0x0000000d) released exists archived, archive_id:1
[root@c14 ~]# md5sum /lustre/scratch/tet_vsxgen_3.02.tgz 
4b2f49b05e74d19fa2165922583734ee  /lustre/scratch/tet_vsxgen_3.02.tgz
 [root@c15 ~]# md5sum /lustre/scratch/tet_vsxgen_3.02.tgz 
4b2f49b05e74d19fa2165922583734ee  /lustre/scratch/tet_vsxgen_3.02.tgz

Generated at Sat Feb 10 01:40:12 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.