directory_visit_internal() in libgnomevfs/gnome-vfs-directory.c



http://bugzilla.gnome.org/show_bug.cgi?id=433105
http://bugzilla.gnome.org/show_bug.cgi?id=347386

i've been working on bugs #433105 and #347386, and i've uncovered a problem (on my system) in directory_visit_internal() where gnome_vfs_directory_open_from_uri() returns an error result code (GNOME_VFS_ERROR_NOT_A_DIRECTORY) for a particular entry in /dev/fd (/dev/fd/19 in this case - nautilus shows it as a "link to folder" owned by root).

you might find it interesting to "sudo nautilus /dev/fd" and start poking at the entries listed.  when i click on "19", it disappears (note: i'm running ubuntu 7.04 - feisty fawn... your mileage may vary).

i'm not a linux guru.  i suppose there could be a bug in g_stat or g_lstat that is incorrectly identifying the entry as a directory, but i suspect that /dev/fd is somewhat special and the contents may be volatile.

the problem could be solved by patching gnome-vfs-directory.c to ignore GNOME_VFS_ERROR_NOT_A_DIRECTORY and return GNOME_VFS_OK instead.  this raises some interesting questions, though.

which result codes from gnome_vfs_directory_open_from_uri() should be flat-out ignored, which ones should be ignorable on request of the client ( e.g. nautilus), and which ones should be fatal, causing the directory walk to terminate?  what's the appropriate way for clients to identify the return codes to be ignored?  a directory visit option for each one?

--
-eom-

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]