Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I was running rsnapshot as root and I got the following error. Why would this happen? what is .gvfs?

rsnapshot weekly                                                                    slave-iv
rsync: readlink_stat("/home/griff/.gvfs") failed: Permission denied (13)
IO error encountered -- skipping file deletion
rsync: readlink_stat("/home/xenoterracide/.gvfs") failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]
share|improve this question
    
Is your home on an NFS filesystem, by any chance? –  Gilles Oct 29 '10 at 19:57
    
@Gilles nope, ext4 –  xenoterracide Oct 29 '10 at 21:51
    
Ok, let's have more data: OS? permissions on the .gvfs directories (ACLs if relevant, etc.)? Are they actually mount points? –  Gilles Oct 29 '10 at 22:08
    
@Gilles Arch Linux. I don't use ACL's (so unless automagically set), mine is empty and nothing in df about it being mounted. dr-x------ 2 xenoterracide users 0 Oct 24 14:47 .gvfs –  xenoterracide Oct 29 '10 at 23:27
    
ls -la .gvfs slave-iv total 4 dr-x------ 2 xenoterracide users 0 Oct 24 14:47 . drwx------ 46 xenoterracide users 4096 Oct 29 18:32 .. –  xenoterracide Oct 29 '10 at 23:33

2 Answers 2

up vote 9 down vote accepted

.gvfs directories are mount points (sometimes). You may want to use the one_fs option in your rsnapshot configuration (so that it passes --one-file-system to rsync).


Gvfs is a library-level filesystem implementation, implemented in libraries written by the Gnome project (in particular libgvfscommon). Applications linked with this library can use a filesystem API to access ftp, sftp, webdav, samba, etc.

Gvfs is like FUSE in that it allows filesystems to be implemented in userland code. FUSE requires the one-time cooperation of the kernel (so it's only available on supported versions of supported OSes), but then can be used by any application since it plugs into the normal filesystem API. Gvfs can only be used through Gnome libraries, but doesn't need any special collaboration from the kernel so works on more operating systems.

A quick experiment on Ubuntu 10.04 shows that while an application is accessing a Gvfs filesystem, ~/.gvfs is a mount point for a gvfs-fuse-daemon filesystem. This filesystem allows any application to access Gvfs filesystems, without needing to link to Gnome libraries. It is a FUSE filesystem whose implementation redirects the ordinary filesystem calls to Gvfs calls.

The gvfs-fuse-daemon filesystem does not allow any access to the root user, only to the user running the application (it's up to each individual filesystem to manage the root user's permissions; a classic case where root doesn't have every power is NFS, where accesses from root are typically mapped to nobody).

share|improve this answer
    
%$#@! gnome! I don't even use gnome! prolly chrome or pidgin creates this... hmm... I'm not particularly concerned that it's not backing up, they aren't seemingly being used anyways. –  xenoterracide Oct 29 '10 at 22:54
2  
just as a note I just tried one_fs and still received the error. –  xenoterracide Oct 29 '10 at 23:28
1  
@xenoterracide: You might not use the Gnome desktop environment, but you are using applications that link against Gnome libraries. There might be a way to tell Gnome not to start the daemon, I haven't looked. I suspect that the one_fs option isn't working because rsync is somehow getting a permission denied as part of its check as to whether .gvfs is a mount point. –  Gilles Oct 30 '10 at 0:01
    
:S this would be really annoying if it were a cron job, because it would be emailing me each time. I wonder if an --exclude would work. –  xenoterracide Oct 30 '10 at 0:32
    
@xenoterracide: --exclude works. –  Martin Schröder Dec 27 '11 at 22:02

It is unwise to create a mountpoint inside ~user.

You get problems in case ~user is NFS, you get problems with tools (eg. rdist, dump).

UNIX is NET + Multiuser

Create your mountpoints in: e.g. /gfvsmount/USER/... or /tmp/gfvsmount/USER/...

For design: read old amd/automount papers!

share|improve this answer
1  
Way to necro a long dead question, but 1) this is how gvfs works, it is not something the questioner did and 2) this does not answer the question. Also dump does not know or care about mount points, either in your home dir or otherwise. –  psusi Dec 5 '12 at 18:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.