aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ocfs2/inode.c')
-rw-r--r--fs/ocfs2/inode.c116
1 files changed, 61 insertions, 55 deletions
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
index 315472a5c192..327a5b7b86ed 100644
--- a/fs/ocfs2/inode.c
+++ b/fs/ocfs2/inode.c
@@ -95,7 +95,7 @@ struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno)
95 struct super_block *sb = osb->sb; 95 struct super_block *sb = osb->sb;
96 struct ocfs2_find_inode_args args; 96 struct ocfs2_find_inode_args args;
97 97
98 mlog_entry("(blkno = %"MLFu64")\n", blkno); 98 mlog_entry("(blkno = %llu)\n", (unsigned long long)blkno);
99 99
100 /* Ok. By now we've either got the offsets passed to us by the 100 /* Ok. By now we've either got the offsets passed to us by the
101 * caller, or we just pulled them off the bh. Lets do some 101 * caller, or we just pulled them off the bh. Lets do some
@@ -134,8 +134,8 @@ struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno)
134 134
135bail: 135bail:
136 if (!IS_ERR(inode)) { 136 if (!IS_ERR(inode)) {
137 mlog(0, "returning inode with number %"MLFu64"\n", 137 mlog(0, "returning inode with number %llu\n",
138 OCFS2_I(inode)->ip_blkno); 138 (unsigned long long)OCFS2_I(inode)->ip_blkno);
139 mlog_exit_ptr(inode); 139 mlog_exit_ptr(inode);
140 } else 140 } else
141 mlog_errno(PTR_ERR(inode)); 141 mlog_errno(PTR_ERR(inode));
@@ -219,7 +219,8 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
219 struct ocfs2_super *osb; 219 struct ocfs2_super *osb;
220 int status = -EINVAL; 220 int status = -EINVAL;
221 221
222 mlog_entry("(0x%p, size:%"MLFu64")\n", inode, fe->i_size); 222 mlog_entry("(0x%p, size:%llu)\n", inode,
223 (unsigned long long)fe->i_size);
223 224
224 sb = inode->i_sb; 225 sb = inode->i_sb;
225 osb = OCFS2_SB(sb); 226 osb = OCFS2_SB(sb);
@@ -228,9 +229,10 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
228 * today. change if needed. */ 229 * today. change if needed. */
229 if (!OCFS2_IS_VALID_DINODE(fe) || 230 if (!OCFS2_IS_VALID_DINODE(fe) ||
230 !(fe->i_flags & cpu_to_le32(OCFS2_VALID_FL))) { 231 !(fe->i_flags & cpu_to_le32(OCFS2_VALID_FL))) {
231 mlog(ML_ERROR, "Invalid dinode: i_ino=%lu, i_blkno=%"MLFu64", " 232 mlog(ML_ERROR, "Invalid dinode: i_ino=%lu, i_blkno=%llu, "
232 "signature = %.*s, flags = 0x%x\n", 233 "signature = %.*s, flags = 0x%x\n",
233 inode->i_ino, le64_to_cpu(fe->i_blkno), 7, 234 inode->i_ino,
235 (unsigned long long)le64_to_cpu(fe->i_blkno), 7,
234 fe->i_signature, le32_to_cpu(fe->i_flags)); 236 fe->i_signature, le32_to_cpu(fe->i_flags));
235 goto bail; 237 goto bail;
236 } 238 }
@@ -268,8 +270,9 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
268 270
269 if (OCFS2_I(inode)->ip_blkno != le64_to_cpu(fe->i_blkno)) 271 if (OCFS2_I(inode)->ip_blkno != le64_to_cpu(fe->i_blkno))
270 mlog(ML_ERROR, 272 mlog(ML_ERROR,
271 "ip_blkno %"MLFu64" != i_blkno %"MLFu64"!\n", 273 "ip_blkno %llu != i_blkno %llu!\n",
272 OCFS2_I(inode)->ip_blkno, fe->i_blkno); 274 (unsigned long long)OCFS2_I(inode)->ip_blkno,
275 (unsigned long long)fe->i_blkno);
273 276
274 OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); 277 OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters);
275 OCFS2_I(inode)->ip_orphaned_slot = OCFS2_INVALID_SLOT; 278 OCFS2_I(inode)->ip_orphaned_slot = OCFS2_INVALID_SLOT;
@@ -278,8 +281,8 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
278 inode->i_ino = ino_from_blkno(inode->i_sb, 281 inode->i_ino = ino_from_blkno(inode->i_sb,
279 le64_to_cpu(fe->i_blkno)); 282 le64_to_cpu(fe->i_blkno));
280 283
281 mlog(0, "blkno = %"MLFu64", ino = %lu, create_ino = %s\n", 284 mlog(0, "blkno = %llu, ino = %lu, create_ino = %s\n",
282 fe->i_blkno, inode->i_ino, create_ino ? "true" : "false"); 285 (unsigned long long)fe->i_blkno, inode->i_ino, create_ino ? "true" : "false");
283 286
284 inode->i_nlink = le16_to_cpu(fe->i_links_count); 287 inode->i_nlink = le16_to_cpu(fe->i_links_count);
285 288
@@ -371,8 +374,8 @@ static int ocfs2_read_locked_inode(struct inode *inode,
371 374
372 fe = (struct ocfs2_dinode *) bh->b_data; 375 fe = (struct ocfs2_dinode *) bh->b_data;
373 if (!OCFS2_IS_VALID_DINODE(fe)) { 376 if (!OCFS2_IS_VALID_DINODE(fe)) {
374 mlog(ML_ERROR, "Invalid dinode #%"MLFu64": signature = %.*s\n", 377 mlog(ML_ERROR, "Invalid dinode #%llu: signature = %.*s\n",
375 fe->i_blkno, 7, fe->i_signature); 378 (unsigned long long)fe->i_blkno, 7, fe->i_signature);
376 make_bad_inode(inode); 379 make_bad_inode(inode);
377 goto bail; 380 goto bail;
378 } 381 }
@@ -386,8 +389,8 @@ static int ocfs2_read_locked_inode(struct inode *inode,
386 389
387 status = -EINVAL; 390 status = -EINVAL;
388 if (ocfs2_populate_inode(inode, fe, 0) < 0) { 391 if (ocfs2_populate_inode(inode, fe, 0) < 0) {
389 mlog(ML_ERROR, "populate inode failed! i_blkno=%"MLFu64", " 392 mlog(ML_ERROR, "populate failed! i_blkno=%llu, i_ino=%lu\n",
390 "i_ino=%lu\n", fe->i_blkno, inode->i_ino); 393 (unsigned long long)fe->i_blkno, inode->i_ino);
391 make_bad_inode(inode); 394 make_bad_inode(inode);
392 goto bail; 395 goto bail;
393 } 396 }
@@ -675,8 +678,8 @@ static int ocfs2_inode_is_valid_to_delete(struct inode *inode)
675 * never get here as system file inodes should always have a 678 * never get here as system file inodes should always have a
676 * positive link count. */ 679 * positive link count. */
677 if (oi->ip_flags & OCFS2_INODE_SYSTEM_FILE) { 680 if (oi->ip_flags & OCFS2_INODE_SYSTEM_FILE) {
678 mlog(ML_ERROR, "Skipping delete of system file %"MLFu64".\n", 681 mlog(ML_ERROR, "Skipping delete of system file %llu\n",
679 oi->ip_blkno); 682 (unsigned long long)oi->ip_blkno);
680 goto bail_unlock; 683 goto bail_unlock;
681 } 684 }
682 685
@@ -715,16 +718,16 @@ static int ocfs2_query_inode_wipe(struct inode *inode,
715 * ocfs2_delete_inode, another node might have asked to delete 718 * ocfs2_delete_inode, another node might have asked to delete
716 * the inode. Recheck our flags to catch this. */ 719 * the inode. Recheck our flags to catch this. */
717 if (!ocfs2_inode_is_valid_to_delete(inode)) { 720 if (!ocfs2_inode_is_valid_to_delete(inode)) {
718 mlog(0, "Skipping delete of %"MLFu64" because flags changed\n", 721 mlog(0, "Skipping delete of %llu because flags changed\n",
719 oi->ip_blkno); 722 (unsigned long long)oi->ip_blkno);
720 goto bail; 723 goto bail;
721 } 724 }
722 725
723 /* Now that we have an up to date inode, we can double check 726 /* Now that we have an up to date inode, we can double check
724 * the link count. */ 727 * the link count. */
725 if (inode->i_nlink) { 728 if (inode->i_nlink) {
726 mlog(0, "Skipping delete of %"MLFu64" because nlink = %u\n", 729 mlog(0, "Skipping delete of %llu because nlink = %u\n",
727 oi->ip_blkno, inode->i_nlink); 730 (unsigned long long)oi->ip_blkno, inode->i_nlink);
728 goto bail; 731 goto bail;
729 } 732 }
730 733
@@ -734,9 +737,11 @@ static int ocfs2_query_inode_wipe(struct inode *inode,
734 /* for lack of a better error? */ 737 /* for lack of a better error? */
735 status = -EEXIST; 738 status = -EEXIST;
736 mlog(ML_ERROR, 739 mlog(ML_ERROR,
737 "Inode %"MLFu64" (on-disk %"MLFu64") not orphaned! " 740 "Inode %llu (on-disk %llu) not orphaned! "
738 "Disk flags 0x%x, inode flags 0x%x\n", 741 "Disk flags 0x%x, inode flags 0x%x\n",
739 oi->ip_blkno, di->i_blkno, di->i_flags, oi->ip_flags); 742 (unsigned long long)oi->ip_blkno,
743 (unsigned long long)di->i_blkno, di->i_flags,
744 oi->ip_flags);
740 goto bail; 745 goto bail;
741 } 746 }
742 747
@@ -753,8 +758,8 @@ static int ocfs2_query_inode_wipe(struct inode *inode,
753 * disk and let them worry about deleting it. */ 758 * disk and let them worry about deleting it. */
754 if (status == -EBUSY) { 759 if (status == -EBUSY) {
755 status = 0; 760 status = 0;
756 mlog(0, "Skipping delete of %"MLFu64" because it is in use on" 761 mlog(0, "Skipping delete of %llu because it is in use on"
757 "other nodes\n", oi->ip_blkno); 762 "other nodes\n", (unsigned long long)oi->ip_blkno);
758 goto bail; 763 goto bail;
759 } 764 }
760 if (status < 0) { 765 if (status < 0) {
@@ -768,13 +773,13 @@ static int ocfs2_query_inode_wipe(struct inode *inode,
768 * into. This may happen during node death and 773 * into. This may happen during node death and
769 * recovery knows how to clean it up so we can safely 774 * recovery knows how to clean it up so we can safely
770 * ignore this inode for now on. */ 775 * ignore this inode for now on. */
771 mlog(0, "Nobody knew where inode %"MLFu64" was orphaned!\n", 776 mlog(0, "Nobody knew where inode %llu was orphaned!\n",
772 oi->ip_blkno); 777 (unsigned long long)oi->ip_blkno);
773 } else { 778 } else {
774 *wipe = 1; 779 *wipe = 1;
775 780
776 mlog(0, "Inode %"MLFu64" is ok to wipe from orphan dir %d\n", 781 mlog(0, "Inode %llu is ok to wipe from orphan dir %d\n",
777 oi->ip_blkno, oi->ip_orphaned_slot); 782 (unsigned long long)oi->ip_blkno, oi->ip_orphaned_slot);
778 } 783 }
779 spin_unlock(&oi->ip_lock); 784 spin_unlock(&oi->ip_lock);
780 785
@@ -788,8 +793,8 @@ bail:
788static void ocfs2_cleanup_delete_inode(struct inode *inode, 793static void ocfs2_cleanup_delete_inode(struct inode *inode,
789 int sync_data) 794 int sync_data)
790{ 795{
791 mlog(0, "Cleanup inode %"MLFu64", sync = %d\n", 796 mlog(0, "Cleanup inode %llu, sync = %d\n",
792 OCFS2_I(inode)->ip_blkno, sync_data); 797 (unsigned long long)OCFS2_I(inode)->ip_blkno, sync_data);
793 if (sync_data) 798 if (sync_data)
794 write_inode_now(inode, 1); 799 write_inode_now(inode, 1);
795 truncate_inode_pages(&inode->i_data, 0); 800 truncate_inode_pages(&inode->i_data, 0);
@@ -897,8 +902,8 @@ void ocfs2_clear_inode(struct inode *inode)
897 if (!inode) 902 if (!inode)
898 goto bail; 903 goto bail;
899 904
900 mlog(0, "Clearing inode: %"MLFu64", nlink = %u\n", 905 mlog(0, "Clearing inode: %llu, nlink = %u\n",
901 OCFS2_I(inode)->ip_blkno, inode->i_nlink); 906 (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_nlink);
902 907
903 mlog_bug_on_msg(OCFS2_SB(inode->i_sb) == NULL, 908 mlog_bug_on_msg(OCFS2_SB(inode->i_sb) == NULL,
904 "Inode=%lu\n", inode->i_ino); 909 "Inode=%lu\n", inode->i_ino);
@@ -919,8 +924,8 @@ void ocfs2_clear_inode(struct inode *inode)
919 ocfs2_checkpoint_inode(inode); 924 ocfs2_checkpoint_inode(inode);
920 925
921 mlog_bug_on_msg(!list_empty(&oi->ip_io_markers), 926 mlog_bug_on_msg(!list_empty(&oi->ip_io_markers),
922 "Clear inode of %"MLFu64", inode has io markers\n", 927 "Clear inode of %llu, inode has io markers\n",
923 oi->ip_blkno); 928 (unsigned long long)oi->ip_blkno);
924 929
925 ocfs2_extent_map_drop(inode, 0); 930 ocfs2_extent_map_drop(inode, 0);
926 ocfs2_extent_map_init(inode); 931 ocfs2_extent_map_init(inode);
@@ -936,20 +941,20 @@ void ocfs2_clear_inode(struct inode *inode)
936 ocfs2_metadata_cache_purge(inode); 941 ocfs2_metadata_cache_purge(inode);
937 942
938 mlog_bug_on_msg(oi->ip_metadata_cache.ci_num_cached, 943 mlog_bug_on_msg(oi->ip_metadata_cache.ci_num_cached,
939 "Clear inode of %"MLFu64", inode has %u cache items\n", 944 "Clear inode of %llu, inode has %u cache items\n",
940 oi->ip_blkno, oi->ip_metadata_cache.ci_num_cached); 945 (unsigned long long)oi->ip_blkno, oi->ip_metadata_cache.ci_num_cached);
941 946
942 mlog_bug_on_msg(!(oi->ip_flags & OCFS2_INODE_CACHE_INLINE), 947 mlog_bug_on_msg(!(oi->ip_flags & OCFS2_INODE_CACHE_INLINE),
943 "Clear inode of %"MLFu64", inode has a bad flag\n", 948 "Clear inode of %llu, inode has a bad flag\n",
944 oi->ip_blkno); 949 (unsigned long long)oi->ip_blkno);
945 950
946 mlog_bug_on_msg(spin_is_locked(&oi->ip_lock), 951 mlog_bug_on_msg(spin_is_locked(&oi->ip_lock),
947 "Clear inode of %"MLFu64", inode is locked\n", 952 "Clear inode of %llu, inode is locked\n",
948 oi->ip_blkno); 953 (unsigned long long)oi->ip_blkno);
949 954
950 mlog_bug_on_msg(!mutex_trylock(&oi->ip_io_mutex), 955 mlog_bug_on_msg(!mutex_trylock(&oi->ip_io_mutex),
951 "Clear inode of %"MLFu64", io_mutex is locked\n", 956 "Clear inode of %llu, io_mutex is locked\n",
952 oi->ip_blkno); 957 (unsigned long long)oi->ip_blkno);
953 mutex_unlock(&oi->ip_io_mutex); 958 mutex_unlock(&oi->ip_io_mutex);
954 959
955 /* 960 /*
@@ -957,19 +962,19 @@ void ocfs2_clear_inode(struct inode *inode)
957 * kernel 1, world 0 962 * kernel 1, world 0
958 */ 963 */
959 mlog_bug_on_msg(!down_write_trylock(&oi->ip_alloc_sem), 964 mlog_bug_on_msg(!down_write_trylock(&oi->ip_alloc_sem),
960 "Clear inode of %"MLFu64", alloc_sem is locked\n", 965 "Clear inode of %llu, alloc_sem is locked\n",
961 oi->ip_blkno); 966 (unsigned long long)oi->ip_blkno);
962 up_write(&oi->ip_alloc_sem); 967 up_write(&oi->ip_alloc_sem);
963 968
964 mlog_bug_on_msg(oi->ip_open_count, 969 mlog_bug_on_msg(oi->ip_open_count,
965 "Clear inode of %"MLFu64" has open count %d\n", 970 "Clear inode of %llu has open count %d\n",
966 oi->ip_blkno, oi->ip_open_count); 971 (unsigned long long)oi->ip_blkno, oi->ip_open_count);
967 mlog_bug_on_msg(!list_empty(&oi->ip_handle_list), 972 mlog_bug_on_msg(!list_empty(&oi->ip_handle_list),
968 "Clear inode of %"MLFu64" has non empty handle list\n", 973 "Clear inode of %llu has non empty handle list\n",
969 oi->ip_blkno); 974 (unsigned long long)oi->ip_blkno);
970 mlog_bug_on_msg(oi->ip_handle, 975 mlog_bug_on_msg(oi->ip_handle,
971 "Clear inode of %"MLFu64" has non empty handle pointer\n", 976 "Clear inode of %llu has non empty handle pointer\n",
972 oi->ip_blkno); 977 (unsigned long long)oi->ip_blkno);
973 978
974 /* Clear all other flags. */ 979 /* Clear all other flags. */
975 oi->ip_flags = OCFS2_INODE_CACHE_INLINE; 980 oi->ip_flags = OCFS2_INODE_CACHE_INLINE;
@@ -991,8 +996,8 @@ void ocfs2_drop_inode(struct inode *inode)
991 996
992 mlog_entry_void(); 997 mlog_entry_void();
993 998
994 mlog(0, "Drop inode %"MLFu64", nlink = %u, ip_flags = 0x%x\n", 999 mlog(0, "Drop inode %llu, nlink = %u, ip_flags = 0x%x\n",
995 oi->ip_blkno, inode->i_nlink, oi->ip_flags); 1000 (unsigned long long)oi->ip_blkno, inode->i_nlink, oi->ip_flags);
996 1001
997 /* Testing ip_orphaned_slot here wouldn't work because we may 1002 /* Testing ip_orphaned_slot here wouldn't work because we may
998 * not have gotten a delete_inode vote from any other nodes 1003 * not have gotten a delete_inode vote from any other nodes
@@ -1069,8 +1074,8 @@ int ocfs2_inode_revalidate(struct dentry *dentry)
1069 struct inode *inode = dentry->d_inode; 1074 struct inode *inode = dentry->d_inode;
1070 int status = 0; 1075 int status = 0;
1071 1076
1072 mlog_entry("(inode = 0x%p, ino = %"MLFu64")\n", inode, 1077 mlog_entry("(inode = 0x%p, ino = %llu)\n", inode,
1073 inode ? OCFS2_I(inode)->ip_blkno : 0ULL); 1078 inode ? (unsigned long long)OCFS2_I(inode)->ip_blkno : 0ULL);
1074 1079
1075 if (!inode) { 1080 if (!inode) {
1076 mlog(0, "eep, no inode!\n"); 1081 mlog(0, "eep, no inode!\n");
@@ -1114,7 +1119,8 @@ int ocfs2_mark_inode_dirty(struct ocfs2_journal_handle *handle,
1114 int status; 1119 int status;
1115 struct ocfs2_dinode *fe = (struct ocfs2_dinode *) bh->b_data; 1120 struct ocfs2_dinode *fe = (struct ocfs2_dinode *) bh->b_data;
1116 1121
1117 mlog_entry("(inode %"MLFu64")\n", OCFS2_I(inode)->ip_blkno); 1122 mlog_entry("(inode %llu)\n",
1123 (unsigned long long)OCFS2_I(inode)->ip_blkno);
1118 1124
1119 status = ocfs2_journal_access(handle, inode, bh, 1125 status = ocfs2_journal_access(handle, inode, bh,
1120 OCFS2_JOURNAL_ACCESS_WRITE); 1126 OCFS2_JOURNAL_ACCESS_WRITE);