Bug 830851

Summary: when ongoing recording deleted or moved, no error occurs
Product: Red Hat Enterprise Linux 7 Reporter: Vladimir Benes <vbenes>
Component: gnome-shellAssignee: Owen Taylor <otaylor>
Status: CLOSED NOTABUG QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: beta   
Target Release: 7.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-11 15:14:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vladimir Benes 2012-06-11 14:15:27 UTC
Description of problem:
when I am recording gnome session and I move that file I get no error. Correct behavior is to lock file or error announced with recording stopped afterwards. 

Version-Release number of selected component (if applicable):
gnome-shell-3.4.1-5

How reproducible:
100%

Steps to Reproduce:
1.start recording
2.remove file you are recording into

  
Actual results:
no error, recording silently continues

Expected results:
error or some file lock preventing file removal

Additional info:

Comment 1 Owen Taylor 2012-06-11 15:14:22 UTC
Try this

 1) in one terminal

     ls -R / > /tmp/output

 2) in a second terminal
 
      rm /tmp/output

Note that the ls process is not interrupted, if you look at /proc/<pid>/fd, you'll see for the "file descriptor" writing to that file:

l-wx------. 1 otaylor otaylor 64 Jun 11 11:09 1 -> /tmp/output (deleted)

The expected UNIX behavior is:

 file is moved (within the same partition) - recording continues to the new location
 file is deleted - recording continues, file is actually deleted from disk after recording finishes

To do something differently would require GNOME Shell to check periodically to see if the output file name is still there in it's original location.