On 11/18/2010 12:02 PM, Callan Jefferson Davies wrote:
>>>  - If I delete file, a copy DOES appear in /home/callan/geeqie_trash
>>> - But the file on my NAS is not removed - I get an error 'external
>>> editor returned error status - file delete failed'
>  >
>> Is this the exact error message you get? Is it not "File deletion
>> failed"?
>
>
>
> Hi there,
>
> Yes I'm sorry, the error is as you've mentioned...
>
> FILE DELETION FAILED
> External editor returned error status.
> File deletion failed
> /media/shared/PhotoAlbum/2010-11-06/20101109-142129.366.JPG
>
>
> Just to confirm also, that - 000000_20101109-142129.366.JPG - did appear
> in /home/callan/geeqie_trash/
>
> I'm not sure how helpful it'll be, but I've attached a copy of the
> terminal output when using geeqie --debug.
The debug output was useful; thanks

That said, I am not able to trivially reproduce this.  Here's my test setup:
$ls -la mygroup/
total 652
drwxrwx--- 2 root xsdg   4096 Nov 23 10:15 ./
drwxr-xr-x 5 xsdg xsdg   4096 Nov 23 10:12 ../
-rw-rw---- 1 root xsdg 160762 Apr 22  2010 300_3293.jpg
-rw-rw---- 1 root xsdg 259218 Apr 22  2010 300_4212.jpg
-rw-rw---- 1 root xsdg 232682 Apr 22  2010 300_4236.jpg

And the files are successfully deleted from the directory
$ls -la ~/geeqie_trash/
total 608
drwxr-xr-x  2 xsdg xsdg   4096 Nov 23 10:15 ./
drwxr-xr-x 14 xsdg xsdg   4096 Nov 23 10:14 ../
-rw-r--r--  1 xsdg xsdg 354195 Apr  5  2010 000000_300_2704.jpg
-rw-rw----  1 root xsdg 254442 Apr 22  2010 000001_300_3265.jpg


Could you do something similar to my setup, where you have a directory 
and files owned by root/BOGGLERS, but living in your homedir?  After 
that, could you try setting your safe delete location on the SAMBA share 
somewhere?  I'm just curious whether or not those situations cause the 
problem to show up or not.

Also, could you do an `ls -la` on your geeqie_trash directory?  I'm 
curious what permissions the deleted files have (and, more specifically, 
if they're owned by root or not).

Oh, what version of GNU mv do you have?  (`mv --version`)
And lastly, could you do a move by hand (on the cmdline) and check the 
return value?
mv /media/shared/PhotoAlbum/2010-11-06/20101109-142129.366.JPG 
~/geeqie_trash; echo "return value is $?"


My current guess is that a mv implementation somewhere is failing to do 
a cross-filesystem move since it won't be able to chown the file to 
root, and geeqie is noticing.  For instance, by running GNU `mv` under 
strace, you can see it try a move, fail, and fall-back to a 
copy/chmod/chown pattern:
rename("300__4212.jpg", "/var/tmp/xsdg/300_4212.jpg") = -1 EXDEV 
(Invalid cross-device link)
open("/var/tmp/xsdg/300_4212.jpg", O_WRONLY|O_CREAT|O_EXCL, 0600) = 4
[it copies some bytes]
fchown(4, 0, 1000)                      = -1 EPERM (Operation not permitted)
fchown(4, 4294967295, 1000)             = 0
fchmod(4, 0100660)                      = 0

If geeqie switched to using an internal version of mv, instead of 
shelling out, I could see it causing this.  (I don't actually know if 
this is the case)

Thanks,
--xsdg

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Geeqie-devel mailing list
Geeqie-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geeqie-devel

Reply via email to