diff --git a/modules/util.py b/modules/util.py index 689c8038..c4684686 100755 --- a/modules/util.py +++ b/modules/util.py @@ -536,22 +536,26 @@ def __init__(self, root_dir, remote_dir): def get_inode_count(self): self.inode_count = {} for file in self.root_files: - try: - inode_no = os.stat(file.replace(self.root_dir, self.remote_dir)).st_ino - except PermissionError as perm: - logger.warning(f"{perm} : file {file} has permission issues. Skipping...") - continue - except FileNotFoundError as file_not_found_error: - logger.warning(f"{file_not_found_error} : File {file} not found. Skipping...") - continue - except Exception as ex: - logger.stacktrace() - logger.error(ex) + # Only check hardlinks for files that are symlinks + if os.path.isfile(file) and os.path.islink(file): continue - if inode_no in self.inode_count: - self.inode_count[inode_no] += 1 else: - self.inode_count[inode_no] = 1 + try: + inode_no = os.stat(file.replace(self.root_dir, self.remote_dir)).st_ino + except PermissionError as perm: + logger.warning(f"{perm} : file {file} has permission issues. Skipping...") + continue + except FileNotFoundError as file_not_found_error: + logger.warning(f"{file_not_found_error} : File {file} not found. Skipping...") + continue + except Exception as ex: + logger.stacktrace() + logger.error(ex) + continue + if inode_no in self.inode_count: + self.inode_count[inode_no] += 1 + else: + self.inode_count[inode_no] = 1 def nohardlink(self, file, notify, ignore_root_dir): """