Details
-
Technical task
-
Resolution: Fixed
-
Major
-
Lustre 2.5.0
-
9297
Description
Using the Jul 22, 2013 HSM stack, executing a released file (and thereby triggering a restore) leaves the file writable while it's being executed.
# cd /mnt/lustre # cp /bin/sleep SLEEP # lfs hsm_archive SLEEP # sleep 1 # lfs hsm_release SLEEP # ./SLEEP 10 && echo DONE & [1] 4243 # sleep 1 # pgrep -l SLEEP 4244 SLEEP # cd /mnt/lustre2 # echo 'Hi!' > SLEEP # cat SLEEP Hi! # -bash: line 238: 4244 Bus error (core dumped) ./SLEEP 10 [1]+ Exit 135 ./SLEEP 10 && echo DONE (wd: /mnt/lustre) (wd now: /mnt/lustre2)
Patch-set #2 of Change #7636 successfully passed auto-tests including its own+new sanity-hsm/test_30c sub-test.
This allows restore on exec() to continue to work but now prevents any write to be allowed during exec() and make it fail.
BTW, reading code of sub-tests test_30[a,b], against same exec() on released files area, I have been surprised by the following comment :
at their beginning.
Is it (comment and "needclients 2") still of actuality, because as per my latest tests, restore at exec() also works on Agent-Node (I mean I tested on a single+full node ...) ?