Changeset 2839 for box/trunk/bin


Ignore:
Timestamp:
09/01/2011 11:59:10 (17 months ago)
Author:
chris
Message:

Workaround for apparent btrfs bug, where symlinks appear to be on a
different filesystem than their containing directory, by only checking
for a different filesystem when checking directories, because files and
special files can't be mount points anyway. Thanks to Toke
Hoiland-Jorgensen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • box/trunk/bin/bbackupd/BackupClientDirectoryRecord.cpp

    r2805 r2839  
    326326                                        file_st.st_ino); 
    327327 
    328                                 if(file_st.st_dev != dest_st.st_dev) 
     328                                int type = file_st.st_mode & S_IFMT; 
     329 
     330                                /* Workaround for apparent btrfs bug, where 
     331                                symlinks appear to be on a different filesystem 
     332                                than their containing directory, thanks to 
     333                                Toke Hoiland-Jorgensen */ 
     334                                if(type == S_IFDIR && 
     335                                        file_st.st_dev != dest_st.st_dev) 
    329336                                { 
    330337                                        if(!(rParams.mrContext.ExcludeDir( 
     
    336343                                        continue; 
    337344                                } 
    338  
    339                                 int type = file_st.st_mode & S_IFMT; 
    340345                                #endif 
    341346 
Note: See TracChangeset for help on using the changeset viewer.