[LU-4077] lfs changelog command: RENME flag displays wrong target FID Created: 08/Oct/13  Updated: 09/Oct/21  Resolved: 09/Oct/21

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

Type: Bug Priority: Major
Reporter: Colin Faber [X] (Inactive) Assignee: WC Triage
Resolution: Not a Bug Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 10942

 Description   

lustre: 2.4.0
kernel: patchless_client
build: 2.4.0-RC2-gd3f91c4-PRISTINE-2.6.32-358.6.2.el6_lustre.g230b174.x86_64

As you can see, an invalid target ID is being set:

328479 08RENME 21:40:54.122228367 2013.10.08 0x0 t=[0:0x0:0x0] p=[0x200000007:0x1:0x0] z1 s=[0x200000bd2:0xbc88:0x0] sp=[0x200000007:0x1:0x0] z
328480 17MTIME 21:41:02.306553532 2013.10.08 0x7 t=[0x200000bd2:0xbc88:0x0]

Additionally this target ID seems to be persistent:

328482 02MKDIR 21:44:38.780748749 2013.10.08 0x0 t=[0x200000bd2:0xbc8a:0x0] p=[0x200000007:0x1:0x0] dir
328483 01CREAT 21:44:43.788336497 2013.10.08 0x0 t=[0x200000bd2:0xbc8b:0x0] p=[0x200000bd2:0xbc8a:0x0] x
328484 11CLOSE 21:44:43.789336461 2013.10.08 0x42 t=[0x200000bd2:0xbc8b:0x0]
328485 08RENME 21:44:45.42233725 2013.10.08 0x0 t=[0:0x0:0x0] p=[0x200000bd2:0xbc8a:0x0] y s=[0x200000bd2:0xbc8b:0x0] sp=[0x200000bd2:0xbc8a:0x0] x


 Comments   
Comment by Andreas Dilger [ 09/Oct/13 ]

Colin,
If the source file/directory is not being renamed on top of another file, then I can imagine that the target FID is empty. For example, I suspect that the above log is for the case:

$ touch /mnt/lustre/a
$ mv /mnt/lustre/a /mnt/lustre/b

I expect that if there is a target filename it will appear in the RENME record:

$ touch /mnt/lustre/a /mnt/lustre/b
$ mv /mnt/lustre/a /mnt/lustre/b

Whether it is better to print an empty target or not print it at all, I can't say for sure. Always printing the target FID (even if empty) at least simplifies the output. The lctl changelog command output isn't really intended for direct consumption, it makes more sense to have a tool reading the ChangeLog directly to avoid overhead.

Comment by Colin Faber [X] (Inactive) [ 17/Oct/13 ]

To me, this makes not so much sense, as the target FID 'fid' in all other context is the file being acted upon, not the destination directory or file it's writing into.

Having sfid indicate the target works fine, it just seems inconsistent with the rest of the logging output.

-cf

Comment by Andreas Dilger [ 17/Oct/13 ]

I suspect it is too late to do anything about this, but I've added JC to the CC list, since I think this code was originally added for HSM.

Comment by Thomas LEIBOVICI - CEA (Inactive) [ 21/Oct/13 ]

As Andreas said, tfid in RENME records is expected to give the target (removed) entry, if any.
It looks this is not a major bug here, just a cosmetic issue in lfs output.
-Thomas

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