diff options
Diffstat (limited to 'fs/xfs/xfs_inode_item.c')
-rw-r--r-- | fs/xfs/xfs_inode_item.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 7f3363c621e1..36aa1fcb90a5 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c | |||
@@ -271,6 +271,11 @@ xfs_inode_item_format( | |||
271 | if (ip->i_update_size) | 271 | if (ip->i_update_size) |
272 | ip->i_update_size = 0; | 272 | ip->i_update_size = 0; |
273 | 273 | ||
274 | /* | ||
275 | * Make sure to get the latest atime from the Linux inode. | ||
276 | */ | ||
277 | xfs_synchronize_atime(ip); | ||
278 | |||
274 | vecp->i_addr = (xfs_caddr_t)&ip->i_d; | 279 | vecp->i_addr = (xfs_caddr_t)&ip->i_d; |
275 | vecp->i_len = sizeof(xfs_dinode_core_t); | 280 | vecp->i_len = sizeof(xfs_dinode_core_t); |
276 | XLOG_VEC_SET_TYPE(vecp, XLOG_REG_TYPE_ICORE); | 281 | XLOG_VEC_SET_TYPE(vecp, XLOG_REG_TYPE_ICORE); |
@@ -603,7 +608,7 @@ xfs_inode_item_trylock( | |||
603 | if (iip->ili_pushbuf_flag == 0) { | 608 | if (iip->ili_pushbuf_flag == 0) { |
604 | iip->ili_pushbuf_flag = 1; | 609 | iip->ili_pushbuf_flag = 1; |
605 | #ifdef DEBUG | 610 | #ifdef DEBUG |
606 | iip->ili_push_owner = get_thread_id(); | 611 | iip->ili_push_owner = current_pid(); |
607 | #endif | 612 | #endif |
608 | /* | 613 | /* |
609 | * Inode is left locked in shared mode. | 614 | * Inode is left locked in shared mode. |
@@ -782,7 +787,7 @@ xfs_inode_item_pushbuf( | |||
782 | * trying to duplicate our effort. | 787 | * trying to duplicate our effort. |
783 | */ | 788 | */ |
784 | ASSERT(iip->ili_pushbuf_flag != 0); | 789 | ASSERT(iip->ili_pushbuf_flag != 0); |
785 | ASSERT(iip->ili_push_owner == get_thread_id()); | 790 | ASSERT(iip->ili_push_owner == current_pid()); |
786 | 791 | ||
787 | /* | 792 | /* |
788 | * If flushlock isn't locked anymore, chances are that the | 793 | * If flushlock isn't locked anymore, chances are that the |