aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2016-08-02 17:05:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-08-02 19:35:18 -0400
commitd6517deb014954d3229910e46f3b85b7ad80db3e (patch)
tree361b5220b53f58f84bc8f853c40e105bd4b11667
parentfeee880fa58254fcc1c78bc8b6446a435cc1baf0 (diff)
nilfs2: replace nilfs_warning() with nilfs_msg()
Use nilfs_msg() to output warning messages and get rid of nilfs_warning() function. This also removes function names from the messages unless we embed them explicitly in format strings. Instead, some messages are revised to clarify the context. [arnd@arndb.de: avoid warning about unused variables] Link: http://lkml.kernel.org/r/20160615201945.3348205-1-arnd@arndb.de Link: http://lkml.kernel.org/r/1464875891-5443-6-git-send-email-konishi.ryusuke@lab.ntt.co.jp Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/nilfs2/alloc.c45
-rw-r--r--fs/nilfs2/ifile.c4
-rw-r--r--fs/nilfs2/inode.c21
-rw-r--r--fs/nilfs2/namei.c6
-rw-r--r--fs/nilfs2/nilfs.h7
-rw-r--r--fs/nilfs2/page.c19
-rw-r--r--fs/nilfs2/segment.c20
-rw-r--r--fs/nilfs2/super.c21
8 files changed, 61 insertions, 82 deletions
diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c
index 1a85d94f5b25..2c90e285d7c6 100644
--- a/fs/nilfs2/alloc.c
+++ b/fs/nilfs2/alloc.c
@@ -622,10 +622,10 @@ void nilfs_palloc_commit_free_entry(struct inode *inode,
622 lock = nilfs_mdt_bgl_lock(inode, group); 622 lock = nilfs_mdt_bgl_lock(inode, group);
623 623
624 if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) 624 if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
625 nilfs_warning(inode->i_sb, __func__, 625 nilfs_msg(inode->i_sb, KERN_WARNING,
626 "entry number %llu already freed: ino=%lu", 626 "%s (ino=%lu): entry number %llu already freed",
627 (unsigned long long)req->pr_entry_nr, 627 __func__, inode->i_ino,
628 (unsigned long)inode->i_ino); 628 (unsigned long long)req->pr_entry_nr);
629 else 629 else
630 nilfs_palloc_group_desc_add_entries(desc, lock, 1); 630 nilfs_palloc_group_desc_add_entries(desc, lock, 1);
631 631
@@ -663,10 +663,10 @@ void nilfs_palloc_abort_alloc_entry(struct inode *inode,
663 lock = nilfs_mdt_bgl_lock(inode, group); 663 lock = nilfs_mdt_bgl_lock(inode, group);
664 664
665 if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap)) 665 if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
666 nilfs_warning(inode->i_sb, __func__, 666 nilfs_msg(inode->i_sb, KERN_WARNING,
667 "entry number %llu already freed: ino=%lu", 667 "%s (ino=%lu): entry number %llu already freed",
668 (unsigned long long)req->pr_entry_nr, 668 __func__, inode->i_ino,
669 (unsigned long)inode->i_ino); 669 (unsigned long long)req->pr_entry_nr);
670 else 670 else
671 nilfs_palloc_group_desc_add_entries(desc, lock, 1); 671 nilfs_palloc_group_desc_add_entries(desc, lock, 1);
672 672
@@ -772,10 +772,10 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
772 do { 772 do {
773 if (!nilfs_clear_bit_atomic(lock, group_offset, 773 if (!nilfs_clear_bit_atomic(lock, group_offset,
774 bitmap)) { 774 bitmap)) {
775 nilfs_warning(inode->i_sb, __func__, 775 nilfs_msg(inode->i_sb, KERN_WARNING,
776 "entry number %llu already freed: ino=%lu", 776 "%s (ino=%lu): entry number %llu already freed",
777 (unsigned long long)entry_nrs[j], 777 __func__, inode->i_ino,
778 (unsigned long)inode->i_ino); 778 (unsigned long long)entry_nrs[j]);
779 } else { 779 } else {
780 n++; 780 n++;
781 } 781 }
@@ -816,12 +816,11 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
816 for (k = 0; k < nempties; k++) { 816 for (k = 0; k < nempties; k++) {
817 ret = nilfs_palloc_delete_entry_block(inode, 817 ret = nilfs_palloc_delete_entry_block(inode,
818 last_nrs[k]); 818 last_nrs[k]);
819 if (ret && ret != -ENOENT) { 819 if (ret && ret != -ENOENT)
820 nilfs_warning(inode->i_sb, __func__, 820 nilfs_msg(inode->i_sb, KERN_WARNING,
821 "failed to delete block of entry %llu: ino=%lu, err=%d", 821 "error %d deleting block that object (entry=%llu, ino=%lu) belongs to",
822 (unsigned long long)last_nrs[k], 822 ret, (unsigned long long)last_nrs[k],
823 (unsigned long)inode->i_ino, ret); 823 inode->i_ino);
824 }
825 } 824 }
826 825
827 desc_kaddr = kmap_atomic(desc_bh->b_page); 826 desc_kaddr = kmap_atomic(desc_bh->b_page);
@@ -835,12 +834,10 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
835 834
836 if (nfree == nilfs_palloc_entries_per_group(inode)) { 835 if (nfree == nilfs_palloc_entries_per_group(inode)) {
837 ret = nilfs_palloc_delete_bitmap_block(inode, group); 836 ret = nilfs_palloc_delete_bitmap_block(inode, group);
838 if (ret && ret != -ENOENT) { 837 if (ret && ret != -ENOENT)
839 nilfs_warning(inode->i_sb, __func__, 838 nilfs_msg(inode->i_sb, KERN_WARNING,
840 "failed to delete bitmap block of group %lu: ino=%lu, err=%d", 839 "error %d deleting bitmap block of group=%lu, ino=%lu",
841 group, 840 ret, group, inode->i_ino);
842 (unsigned long)inode->i_ino, ret);
843 }
844 } 841 }
845 } 842 }
846 return 0; 843 return 0;
diff --git a/fs/nilfs2/ifile.c b/fs/nilfs2/ifile.c
index b1c96285aa4a..b8fa45c20c63 100644
--- a/fs/nilfs2/ifile.c
+++ b/fs/nilfs2/ifile.c
@@ -151,8 +151,8 @@ int nilfs_ifile_get_inode_block(struct inode *ifile, ino_t ino,
151 151
152 err = nilfs_palloc_get_entry_block(ifile, ino, 0, out_bh); 152 err = nilfs_palloc_get_entry_block(ifile, ino, 0, out_bh);
153 if (unlikely(err)) 153 if (unlikely(err))
154 nilfs_warning(sb, __func__, "unable to read inode: %lu", 154 nilfs_msg(sb, KERN_WARNING, "error %d reading inode: ino=%lu",
155 (unsigned long) ino); 155 err, (unsigned long)ino);
156 return err; 156 return err;
157} 157}
158 158
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index a965fcf77955..b286b35174a5 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -723,9 +723,9 @@ repeat:
723 goto repeat; 723 goto repeat;
724 724
725failed: 725failed:
726 nilfs_warning(ii->vfs_inode.i_sb, __func__, 726 nilfs_msg(ii->vfs_inode.i_sb, KERN_WARNING,
727 "failed to truncate bmap (ino=%lu, err=%d)", 727 "error %d truncating bmap (ino=%lu)", ret,
728 ii->vfs_inode.i_ino, ret); 728 ii->vfs_inode.i_ino);
729} 729}
730 730
731void nilfs_truncate(struct inode *inode) 731void nilfs_truncate(struct inode *inode)
@@ -936,9 +936,9 @@ int nilfs_set_file_dirty(struct inode *inode, unsigned int nr_dirty)
936 * This will happen when somebody is freeing 936 * This will happen when somebody is freeing
937 * this inode. 937 * this inode.
938 */ 938 */
939 nilfs_warning(inode->i_sb, __func__, 939 nilfs_msg(inode->i_sb, KERN_WARNING,
940 "cannot get inode (ino=%lu)", 940 "cannot set file dirty (ino=%lu): the file is being freed",
941 inode->i_ino); 941 inode->i_ino);
942 spin_unlock(&nilfs->ns_inode_lock); 942 spin_unlock(&nilfs->ns_inode_lock);
943 return -EINVAL; /* 943 return -EINVAL; /*
944 * NILFS_I_DIRTY may remain for 944 * NILFS_I_DIRTY may remain for
@@ -959,8 +959,9 @@ int __nilfs_mark_inode_dirty(struct inode *inode, int flags)
959 959
960 err = nilfs_load_inode_block(inode, &ibh); 960 err = nilfs_load_inode_block(inode, &ibh);
961 if (unlikely(err)) { 961 if (unlikely(err)) {
962 nilfs_warning(inode->i_sb, __func__, 962 nilfs_msg(inode->i_sb, KERN_WARNING,
963 "failed to reget inode block."); 963 "cannot mark inode dirty (ino=%lu): error %d loading inode block",
964 inode->i_ino, err);
964 return err; 965 return err;
965 } 966 }
966 nilfs_update_inode(inode, ibh, flags); 967 nilfs_update_inode(inode, ibh, flags);
@@ -986,8 +987,8 @@ void nilfs_dirty_inode(struct inode *inode, int flags)
986 struct nilfs_mdt_info *mdi = NILFS_MDT(inode); 987 struct nilfs_mdt_info *mdi = NILFS_MDT(inode);
987 988
988 if (is_bad_inode(inode)) { 989 if (is_bad_inode(inode)) {
989 nilfs_warning(inode->i_sb, __func__, 990 nilfs_msg(inode->i_sb, KERN_WARNING,
990 "tried to mark bad_inode dirty. ignored."); 991 "tried to mark bad_inode dirty. ignored.");
991 dump_stack(); 992 dump_stack();
992 return; 993 return;
993 } 994 }
diff --git a/fs/nilfs2/namei.c b/fs/nilfs2/namei.c
index 1ec8ae5995a5..dbcf1dc93a51 100644
--- a/fs/nilfs2/namei.c
+++ b/fs/nilfs2/namei.c
@@ -283,9 +283,9 @@ static int nilfs_do_unlink(struct inode *dir, struct dentry *dentry)
283 goto out; 283 goto out;
284 284
285 if (!inode->i_nlink) { 285 if (!inode->i_nlink) {
286 nilfs_warning(inode->i_sb, __func__, 286 nilfs_msg(inode->i_sb, KERN_WARNING,
287 "deleting nonexistent file (%lu), %d", 287 "deleting nonexistent file (ino=%lu), %d",
288 inode->i_ino, inode->i_nlink); 288 inode->i_ino, inode->i_nlink);
289 set_nlink(inode, 1); 289 set_nlink(inode, 1);
290 } 290 }
291 err = nilfs_delete_entry(de, page); 291 err = nilfs_delete_entry(de, page);
diff --git a/fs/nilfs2/nilfs.h b/fs/nilfs2/nilfs.h
index b57ce41e8a1a..46fbd4e00315 100644
--- a/fs/nilfs2/nilfs.h
+++ b/fs/nilfs2/nilfs.h
@@ -306,8 +306,6 @@ void __nilfs_msg(struct super_block *sb, const char *level,
306extern __printf(3, 4) 306extern __printf(3, 4)
307void __nilfs_error(struct super_block *sb, const char *function, 307void __nilfs_error(struct super_block *sb, const char *function,
308 const char *fmt, ...); 308 const char *fmt, ...);
309extern __printf(3, 4)
310void nilfs_warning(struct super_block *, const char *, const char *, ...);
311 309
312#ifdef CONFIG_PRINTK 310#ifdef CONFIG_PRINTK
313 311
@@ -319,7 +317,10 @@ void nilfs_warning(struct super_block *, const char *, const char *, ...);
319#else 317#else
320 318
321#define nilfs_msg(sb, level, fmt, ...) \ 319#define nilfs_msg(sb, level, fmt, ...) \
322 no_printk(fmt, ##__VA_ARGS__) 320 do { \
321 no_printk(fmt, ##__VA_ARGS__); \
322 (void)(sb); \
323 } while (0)
323#define nilfs_error(sb, fmt, ...) \ 324#define nilfs_error(sb, fmt, ...) \
324 do { \ 325 do { \
325 no_printk(fmt, ##__VA_ARGS__); \ 326 no_printk(fmt, ##__VA_ARGS__); \
diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c
index d97ba5f11b77..eaccf12c296e 100644
--- a/fs/nilfs2/page.c
+++ b/fs/nilfs2/page.c
@@ -403,11 +403,10 @@ void nilfs_clear_dirty_page(struct page *page, bool silent)
403 403
404 BUG_ON(!PageLocked(page)); 404 BUG_ON(!PageLocked(page));
405 405
406 if (!silent) { 406 if (!silent)
407 nilfs_warning(sb, __func__, 407 nilfs_msg(sb, KERN_WARNING,
408 "discard page: offset %lld, ino %lu", 408 "discard dirty page: offset=%lld, ino=%lu",
409 page_offset(page), inode->i_ino); 409 page_offset(page), inode->i_ino);
410 }
411 410
412 ClearPageUptodate(page); 411 ClearPageUptodate(page);
413 ClearPageMappedToDisk(page); 412 ClearPageMappedToDisk(page);
@@ -422,11 +421,11 @@ void nilfs_clear_dirty_page(struct page *page, bool silent)
422 bh = head = page_buffers(page); 421 bh = head = page_buffers(page);
423 do { 422 do {
424 lock_buffer(bh); 423 lock_buffer(bh);
425 if (!silent) { 424 if (!silent)
426 nilfs_warning(sb, __func__, 425 nilfs_msg(sb, KERN_WARNING,
427 "discard block %llu, size %zu", 426 "discard dirty block: blocknr=%llu, size=%zu",
428 (u64)bh->b_blocknr, bh->b_size); 427 (u64)bh->b_blocknr, bh->b_size);
429 } 428
430 set_mask_bits(&bh->b_state, clear_bits, 0); 429 set_mask_bits(&bh->b_state, clear_bits, 0);
431 unlock_buffer(bh); 430 unlock_buffer(bh);
432 } while (bh = bh->b_this_page, bh != head); 431 } while (bh = bh->b_this_page, bh != head);
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index 1cc968502e53..7e1864c6035b 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -1951,8 +1951,9 @@ static int nilfs_segctor_collect_dirty_files(struct nilfs_sc_info *sci,
1951 err = nilfs_ifile_get_inode_block( 1951 err = nilfs_ifile_get_inode_block(
1952 ifile, ii->vfs_inode.i_ino, &ibh); 1952 ifile, ii->vfs_inode.i_ino, &ibh);
1953 if (unlikely(err)) { 1953 if (unlikely(err)) {
1954 nilfs_warning(sci->sc_super, __func__, 1954 nilfs_msg(sci->sc_super, KERN_WARNING,
1955 "failed to get inode block."); 1955 "log writer: error %d getting inode block (ino=%lu)",
1956 err, ii->vfs_inode.i_ino);
1956 return err; 1957 return err;
1957 } 1958 }
1958 mark_buffer_dirty(ibh); 1959 mark_buffer_dirty(ibh);
@@ -2458,8 +2459,7 @@ int nilfs_clean_segments(struct super_block *sb, struct nilfs_argv *argv,
2458 if (likely(!err)) 2459 if (likely(!err))
2459 break; 2460 break;
2460 2461
2461 nilfs_warning(sb, __func__, 2462 nilfs_msg(sb, KERN_WARNING, "error %d cleaning segments", err);
2462 "segment construction failed. (err=%d)", err);
2463 set_current_state(TASK_INTERRUPTIBLE); 2463 set_current_state(TASK_INTERRUPTIBLE);
2464 schedule_timeout(sci->sc_interval); 2464 schedule_timeout(sci->sc_interval);
2465 } 2465 }
@@ -2738,14 +2738,14 @@ static void nilfs_segctor_destroy(struct nilfs_sc_info *sci)
2738 nilfs_segctor_write_out(sci); 2738 nilfs_segctor_write_out(sci);
2739 2739
2740 if (!list_empty(&sci->sc_dirty_files)) { 2740 if (!list_empty(&sci->sc_dirty_files)) {
2741 nilfs_warning(sci->sc_super, __func__, 2741 nilfs_msg(sci->sc_super, KERN_WARNING,
2742 "dirty file(s) after the final construction"); 2742 "disposed unprocessed dirty file(s) when stopping log writer");
2743 nilfs_dispose_list(nilfs, &sci->sc_dirty_files, 1); 2743 nilfs_dispose_list(nilfs, &sci->sc_dirty_files, 1);
2744 } 2744 }
2745 2745
2746 if (!list_empty(&sci->sc_iput_queue)) { 2746 if (!list_empty(&sci->sc_iput_queue)) {
2747 nilfs_warning(sci->sc_super, __func__, 2747 nilfs_msg(sci->sc_super, KERN_WARNING,
2748 "iput queue is not empty"); 2748 "disposed unprocessed inode(s) in iput queue when stopping log writer");
2749 nilfs_dispose_list(nilfs, &sci->sc_iput_queue, 1); 2749 nilfs_dispose_list(nilfs, &sci->sc_iput_queue, 1);
2750 } 2750 }
2751 2751
@@ -2821,8 +2821,8 @@ void nilfs_detach_log_writer(struct super_block *sb)
2821 spin_lock(&nilfs->ns_inode_lock); 2821 spin_lock(&nilfs->ns_inode_lock);
2822 if (!list_empty(&nilfs->ns_dirty_files)) { 2822 if (!list_empty(&nilfs->ns_dirty_files)) {
2823 list_splice_init(&nilfs->ns_dirty_files, &garbage_list); 2823 list_splice_init(&nilfs->ns_dirty_files, &garbage_list);
2824 nilfs_warning(sb, __func__, 2824 nilfs_msg(sb, KERN_WARNING,
2825 "Hit dirty file after stopped log writer"); 2825 "disposed unprocessed dirty file(s) when detaching log writer");
2826 } 2826 }
2827 spin_unlock(&nilfs->ns_inode_lock); 2827 spin_unlock(&nilfs->ns_inode_lock);
2828 up_write(&nilfs->ns_segctor_sem); 2828 up_write(&nilfs->ns_segctor_sem);
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
index 90c62b489857..33ba6f78de69 100644
--- a/fs/nilfs2/super.c
+++ b/fs/nilfs2/super.c
@@ -115,8 +115,7 @@ static void nilfs_set_error(struct super_block *sb)
115 * 115 *
116 * This implements the body of nilfs_error() macro. Normally, 116 * This implements the body of nilfs_error() macro. Normally,
117 * nilfs_error() should be used. As for sustainable errors such as a 117 * nilfs_error() should be used. As for sustainable errors such as a
118 * single-shot I/O error, nilfs_warning() or printk() should be used 118 * single-shot I/O error, nilfs_msg() should be used instead.
119 * instead.
120 * 119 *
121 * Callers should not add a trailing newline since this will do it. 120 * Callers should not add a trailing newline since this will do it.
122 */ 121 */
@@ -151,24 +150,6 @@ void __nilfs_error(struct super_block *sb, const char *function,
151 sb->s_id); 150 sb->s_id);
152} 151}
153 152
154void nilfs_warning(struct super_block *sb, const char *function,
155 const char *fmt, ...)
156{
157 struct va_format vaf;
158 va_list args;
159
160 va_start(args, fmt);
161
162 vaf.fmt = fmt;
163 vaf.va = &args;
164
165 printk(KERN_WARNING "NILFS warning (device %s): %s: %pV\n",
166 sb->s_id, function, &vaf);
167
168 va_end(args);
169}
170
171
172struct inode *nilfs_alloc_inode(struct super_block *sb) 153struct inode *nilfs_alloc_inode(struct super_block *sb)
173{ 154{
174 struct nilfs_inode_info *ii; 155 struct nilfs_inode_info *ii;