diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2010-05-21 15:27:26 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2010-05-21 15:27:26 -0400 |
commit | ee9a3607fb03e804ddf624544105f4e34260c380 (patch) | |
tree | ce41b6e0fa10982a306f6c142a92dbf3c9961284 /fs/xfs/xfs_inode_item.c | |
parent | b492e95be0ae672922f4734acf3f5d35c30be948 (diff) | |
parent | d515e86e639890b33a09390d062b0831664f04a2 (diff) |
Merge branch 'master' into for-2.6.35
Conflicts:
fs/ext3/fsync.c
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'fs/xfs/xfs_inode_item.c')
-rw-r--r-- | fs/xfs/xfs_inode_item.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c index 7bfea8540159..cf8249a60004 100644 --- a/fs/xfs/xfs_inode_item.c +++ b/fs/xfs/xfs_inode_item.c | |||
@@ -543,6 +543,7 @@ xfs_inode_item_pin( | |||
543 | { | 543 | { |
544 | ASSERT(xfs_isilocked(iip->ili_inode, XFS_ILOCK_EXCL)); | 544 | ASSERT(xfs_isilocked(iip->ili_inode, XFS_ILOCK_EXCL)); |
545 | 545 | ||
546 | trace_xfs_inode_pin(iip->ili_inode, _RET_IP_); | ||
546 | atomic_inc(&iip->ili_inode->i_pincount); | 547 | atomic_inc(&iip->ili_inode->i_pincount); |
547 | } | 548 | } |
548 | 549 | ||
@@ -556,11 +557,11 @@ xfs_inode_item_pin( | |||
556 | /* ARGSUSED */ | 557 | /* ARGSUSED */ |
557 | STATIC void | 558 | STATIC void |
558 | xfs_inode_item_unpin( | 559 | xfs_inode_item_unpin( |
559 | xfs_inode_log_item_t *iip, | 560 | xfs_inode_log_item_t *iip) |
560 | int stale) | ||
561 | { | 561 | { |
562 | struct xfs_inode *ip = iip->ili_inode; | 562 | struct xfs_inode *ip = iip->ili_inode; |
563 | 563 | ||
564 | trace_xfs_inode_unpin(ip, _RET_IP_); | ||
564 | ASSERT(atomic_read(&ip->i_pincount) > 0); | 565 | ASSERT(atomic_read(&ip->i_pincount) > 0); |
565 | if (atomic_dec_and_test(&ip->i_pincount)) | 566 | if (atomic_dec_and_test(&ip->i_pincount)) |
566 | wake_up(&ip->i_ipin_wait); | 567 | wake_up(&ip->i_ipin_wait); |
@@ -572,7 +573,7 @@ xfs_inode_item_unpin_remove( | |||
572 | xfs_inode_log_item_t *iip, | 573 | xfs_inode_log_item_t *iip, |
573 | xfs_trans_t *tp) | 574 | xfs_trans_t *tp) |
574 | { | 575 | { |
575 | xfs_inode_item_unpin(iip, 0); | 576 | xfs_inode_item_unpin(iip); |
576 | } | 577 | } |
577 | 578 | ||
578 | /* | 579 | /* |
@@ -838,7 +839,7 @@ static struct xfs_item_ops xfs_inode_item_ops = { | |||
838 | .iop_format = (void(*)(xfs_log_item_t*, xfs_log_iovec_t*)) | 839 | .iop_format = (void(*)(xfs_log_item_t*, xfs_log_iovec_t*)) |
839 | xfs_inode_item_format, | 840 | xfs_inode_item_format, |
840 | .iop_pin = (void(*)(xfs_log_item_t*))xfs_inode_item_pin, | 841 | .iop_pin = (void(*)(xfs_log_item_t*))xfs_inode_item_pin, |
841 | .iop_unpin = (void(*)(xfs_log_item_t*, int))xfs_inode_item_unpin, | 842 | .iop_unpin = (void(*)(xfs_log_item_t*))xfs_inode_item_unpin, |
842 | .iop_unpin_remove = (void(*)(xfs_log_item_t*, xfs_trans_t*)) | 843 | .iop_unpin_remove = (void(*)(xfs_log_item_t*, xfs_trans_t*)) |
843 | xfs_inode_item_unpin_remove, | 844 | xfs_inode_item_unpin_remove, |
844 | .iop_trylock = (uint(*)(xfs_log_item_t*))xfs_inode_item_trylock, | 845 | .iop_trylock = (uint(*)(xfs_log_item_t*))xfs_inode_item_trylock, |
@@ -865,17 +866,9 @@ xfs_inode_item_init( | |||
865 | ASSERT(ip->i_itemp == NULL); | 866 | ASSERT(ip->i_itemp == NULL); |
866 | iip = ip->i_itemp = kmem_zone_zalloc(xfs_ili_zone, KM_SLEEP); | 867 | iip = ip->i_itemp = kmem_zone_zalloc(xfs_ili_zone, KM_SLEEP); |
867 | 868 | ||
868 | iip->ili_item.li_type = XFS_LI_INODE; | ||
869 | iip->ili_item.li_ops = &xfs_inode_item_ops; | ||
870 | iip->ili_item.li_mountp = mp; | ||
871 | iip->ili_item.li_ailp = mp->m_ail; | ||
872 | iip->ili_inode = ip; | 869 | iip->ili_inode = ip; |
873 | 870 | xfs_log_item_init(mp, &iip->ili_item, XFS_LI_INODE, | |
874 | /* | 871 | &xfs_inode_item_ops); |
875 | We have zeroed memory. No need ... | ||
876 | iip->ili_extents_buf = NULL; | ||
877 | */ | ||
878 | |||
879 | iip->ili_format.ilf_type = XFS_LI_INODE; | 872 | iip->ili_format.ilf_type = XFS_LI_INODE; |
880 | iip->ili_format.ilf_ino = ip->i_ino; | 873 | iip->ili_format.ilf_ino = ip->i_ino; |
881 | iip->ili_format.ilf_blkno = ip->i_imap.im_blkno; | 874 | iip->ili_format.ilf_blkno = ip->i_imap.im_blkno; |