mtime not being preserved in replicate self-heal

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

 



I just did a trace, where self-heal was triggered and destroyed the mtime on the second half of the mirror (this was a directory that was created by kernel-nfs reexport, so the files were created "dirty"). It appears that metadata self-heal never actually occurs in this scenario, only data self-heal. Further, after the mtime is destroyed on the second half of the mirror, self-heal never seems to notice that the mtimes are different and never fixes it.

[2009-05-15 17:25:52] T [fuse-bridge.c:447:fuse_lookup] glusterfs-fuse: 121: LOOKUP /attr2(352452640) [2009-05-15 17:25:52] T [fuse-bridge.c:361:fuse_entry_cbk] glusterfs-fuse: 121: LOOKUP() /attr2 => 352452640 (352452640) [2009-05-15 17:25:52] T [fuse-bridge.c:2129:fuse_getxattr] glusterfs-fuse: 122: GETXATTR /attr2/352452640 (security.selinux) [2009-05-15 17:25:52] T [fuse-bridge.c:1974:fuse_xattr_cbk] glusterfs-fuse: 122: GETXATTR() /attr2 => 0 [2009-05-15 17:25:52] T [fuse-bridge.c:1663:fuse_opendir] glusterfs-fuse: 125: OPENDIR /attr2 [2009-05-15 17:25:52] T [fuse-bridge.c:626:fuse_fd_cbk] glusterfs-fuse: 125: OPENDIR() /attr2 => 0x638380 [2009-05-15 17:25:52] T [fuse-bridge.c:1748:fuse_readdir] glusterfs-fuse: 126: READDIR (0x638380, size=4096, offset=0) [2009-05-15 17:25:52] T [fuse-bridge.c:1696:fuse_readdir_cbk] glusterfs-fuse: 126: READDIR => 1/4096,0 [2009-05-15 17:25:52] T [fuse-bridge.c:447:fuse_lookup] glusterfs-fuse: 127: LOOKUP /attr2/copyright(352452656) [2009-05-15 17:25:52] T [afr-self-heal-common.c:1336:afr_self_heal] mirror1-2: performing self heal on /attr2/copyright (metadata=0 data=1 entry=0) [2009-05-15 17:25:52] T [afr-self-heal-common.c:1363:afr_self_heal] mirror1-2: proceeding to metadata check on /attr2/copyright [2009-05-15 17:25:52] T [afr-self-heal-common.c:731:afr_sh_missing_entries_done] mirror1-2: proceeding to metadata check on /attr2/copyright [2009-05-15 17:25:52] T [afr-self-heal-metadata.c:83:afr_sh_metadata_done] mirror1-2: proceeding to data check on /attr2/copyright [2009-05-15 17:25:52] T [afr-self-heal-data.c:1006:afr_sh_data_lock] mirror1-2: locking /attr2/copyright on subvolume brick1-2a [2009-05-15 17:25:52] T [afr-self-heal-data.c:1006:afr_sh_data_lock] mirror1-2: locking /attr2/copyright on subvolume brick1-2b [2009-05-15 17:25:52] T [afr-self-heal-data.c:958:afr_sh_data_lock_cbk] mirror1-2: inode of /attr2/copyright on child 0 locked [2009-05-15 17:25:52] T [afr-self-heal-data.c:958:afr_sh_data_lock_cbk] mirror1-2: inode of /attr2/copyright on child 1 locked [2009-05-15 17:25:52] T [afr-self-heal-common.c:111:afr_sh_print_pending_matrix] mirror1-2: pending_matrix: [ 1 1 ] [2009-05-15 17:25:52] T [afr-self-heal-common.c:111:afr_sh_print_pending_matrix] mirror1-2: pending_matrix: [ 1 1 ] [2009-05-15 17:25:52] D [afr-self-heal-data.c:752:afr_sh_data_sync_prepare] mirror1-2: self-healing file /attr2/copyright from subvolume brick1-2a to 1 other [2009-05-15 17:25:52] T [afr-self-heal-data.c:642:afr_sh_data_open_cbk] mirror1-2: fd for /attr2/copyright opened, commencing sync [2009-05-15 17:25:52] T [afr-self-heal-data.c:646:afr_sh_data_open_cbk] mirror1-2: sourcing file /attr2/copyright from brick1-2a to other sinks [2009-05-15 17:25:52] T [afr-self-heal-data.c:502:afr_sh_data_read_cbk] mirror1-2: read 756 bytes of data from /attr2/copyright on child 0, offset 0 [2009-05-15 17:25:52] T [afr-self-heal-data.c:451:afr_sh_data_write_cbk] mirror1-2: wrote 756 bytes of data from /attr2/copyright to child 1, offset 0 [2009-05-15 17:25:52] T [afr-self-heal-data.c:586:afr_sh_data_read_write_iter] mirror1-2: closing fd's of /attr2/copyright [2009-05-15 17:25:52] T [afr-self-heal-data.c:379:afr_sh_data_trim_cbk] mirror1-2: ftruncate of /attr2/copyright on subvolume brick1-2b completed [2009-05-15 17:25:52] T [afr-self-heal-data.c:328:afr_sh_data_erase_pending] mirror1-2: erasing pending flags from /attr2/copyright on brick1-2a [2009-05-15 17:25:52] T [afr-self-heal-data.c:328:afr_sh_data_erase_pending] mirror1-2: erasing pending flags from /attr2/copyright on brick1-2b [2009-05-15 17:25:52] T [afr-self-heal-data.c:253:afr_sh_data_finish] mirror1-2: finishing data selfheal of /attr2/copyright [2009-05-15 17:25:52] T [afr-self-heal-data.c:228:afr_sh_data_unlock] mirror1-2: unlocking /attr2/copyright on subvolume brick1-2a [2009-05-15 17:25:52] T [afr-self-heal-data.c:228:afr_sh_data_unlock] mirror1-2: unlocking /attr2/copyright on subvolume brick1-2b [2009-05-15 17:25:52] T [afr-self-heal-data.c:185:afr_sh_data_unlck_cbk] mirror1-2: inode of /attr2/copyright on child 0 locked [2009-05-15 17:25:52] T [afr-self-heal-data.c:185:afr_sh_data_unlck_cbk] mirror1-2: inode of /attr2/copyright on child 1 locked [2009-05-15 17:25:52] T [afr-self-heal-data.c:134:afr_sh_data_close] mirror1-2: closing fd of /attr2/copyright on brick1-2a [2009-05-15 17:25:52] T [afr-self-heal-data.c:149:afr_sh_data_close] mirror1-2: closing fd of /attr2/copyright on brick1-2b [2009-05-15 17:25:52] T [afr-self-heal-data.c:70:afr_sh_data_done] mirror1-2: self heal of /attr2/copyright completed [2009-05-15 17:25:52] T [fuse-bridge.c:361:fuse_entry_cbk] glusterfs-fuse: 127: LOOKUP() /attr2/copyright => 352452656 (352452656) [2009-05-15 17:25:52] T [fuse-bridge.c:2129:fuse_getxattr] glusterfs-fuse: 128: GETXATTR /attr2/copyright/352452656 (security.selinux) [2009-05-15 17:25:52] T [fuse-bridge.c:1974:fuse_xattr_cbk] glusterfs-fuse: 128: GETXATTR() /attr2/copyright => 0 [2009-05-15 17:25:52] T [fuse-bridge.c:1748:fuse_readdir] glusterfs-fuse: 131: READDIR (0x638380, size=4096, offset=6876615760) [2009-05-15 17:25:52] T [fuse-bridge.c:1696:fuse_readdir_cbk] glusterfs-fuse: 131: READDIR => 1/4096,6876615760

Thanks,

Brent




[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux