git: HAMMER VFS - Fix serious bug when downgrading (and later up

看板DFBSD_commit作者時間16年前 (2010/01/06 04:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 1ee600fb7b4fd882b22f201fcbc67a0f632b21ac Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Jan 5 11:36:56 2010 -0800 HAMMER VFS - Fix serious bug when downgrading (and later upgrading) a PFS * When downgrading a PFS master to a slave the sync-end-tid (in the pfs-status) is not updated. This will cause the data to become inaccessible. Then, when upgrading back to a master the original stale sync-end-tid is used to rollback the PFS, effectively destroying its contents. * We now properly update sync-end-tid when downgrading a PFS. This makes the data accessible in slave mode and prevents the rollback when re-upgrading the PFS from destroying any of the master's original data. * Why is a rollback used at all when upgrading you ask? When a PFS is operating as a slave mirroring operations can be interrupted, leaving a lot of partially updated records. Since sync-end-tid is not updated until the mirroring operation completes (when in slave mode), these partially mirrored records are not visible. However, if the slave is upgraded to a master any records from incomplete mirroring operations must be destroyed. Hence the rollback during an upgrade is a necessary feature under normal operation. Reported-by: Thomas Nikolajsen Summary of changes: sys/vfs/hammer/hammer_pfs.c | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1ee600fb7b4fd882b22f201fcbc67a0f632b21ac -- DragonFly BSD source repository
文章代碼(AID): #1BGvg54x (DFBSD_commit)