Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
[linux-2.6-microblaze.git] / fs / nilfs2 / super.c
index 5729ee8..2eee5fb 100644 (file)
@@ -62,19 +62,25 @@ struct kmem_cache *nilfs_btree_path_cache;
 static int nilfs_setup_super(struct super_block *sb, int is_mount);
 static int nilfs_remount(struct super_block *sb, int *flags, char *data);
 
-void __nilfs_msg(struct super_block *sb, const char *level, const char *fmt,
-                ...)
+void __nilfs_msg(struct super_block *sb, const char *fmt, ...)
 {
        struct va_format vaf;
        va_list args;
+       int level;
 
        va_start(args, fmt);
-       vaf.fmt = fmt;
+
+       level = printk_get_level(fmt);
+       vaf.fmt = printk_skip_level(fmt);
        vaf.va = &args;
+
        if (sb)
-               printk("%sNILFS (%s): %pV\n", level, sb->s_id, &vaf);
+               printk("%c%cNILFS (%s): %pV\n",
+                      KERN_SOH_ASCII, level, sb->s_id, &vaf);
        else
-               printk("%sNILFS: %pV\n", level, &vaf);
+               printk("%c%cNILFS: %pV\n",
+                      KERN_SOH_ASCII, level, &vaf);
+
        va_end(args);
 }
 
@@ -106,7 +112,7 @@ static void nilfs_set_error(struct super_block *sb)
  *
  * This implements the body of nilfs_error() macro.  Normally,
  * nilfs_error() should be used.  As for sustainable errors such as a
- * single-shot I/O error, nilfs_msg() should be used instead.
+ * single-shot I/O error, nilfs_err() should be used instead.
  *
  * Callers should not add a trailing newline since this will do it.
  */
@@ -178,8 +184,7 @@ static int nilfs_sync_super(struct super_block *sb, int flag)
        }
 
        if (unlikely(err)) {
-               nilfs_msg(sb, KERN_ERR, "unable to write superblock: err=%d",
-                         err);
+               nilfs_err(sb, "unable to write superblock: err=%d", err);
                if (err == -EIO && nilfs->ns_sbh[1]) {
                        /*
                         * sbp[0] points to newer log than sbp[1],
@@ -249,7 +254,7 @@ struct nilfs_super_block **nilfs_prepare_super(struct super_block *sb,
                    sbp[1]->s_magic == cpu_to_le16(NILFS_SUPER_MAGIC)) {
                        memcpy(sbp[0], sbp[1], nilfs->ns_sbsize);
                } else {
-                       nilfs_msg(sb, KERN_CRIT, "superblock broke");
+                       nilfs_crit(sb, "superblock broke");
                        return NULL;
                }
        } else if (sbp[1] &&
@@ -359,9 +364,9 @@ static int nilfs_move_2nd_super(struct super_block *sb, loff_t sb2off)
        offset = sb2off & (nilfs->ns_blocksize - 1);
        nsbh = sb_getblk(sb, newblocknr);
        if (!nsbh) {
-               nilfs_msg(sb, KERN_WARNING,
-                         "unable to move secondary superblock to block %llu",
-                         (unsigned long long)newblocknr);
+               nilfs_warn(sb,
+                          "unable to move secondary superblock to block %llu",
+                          (unsigned long long)newblocknr);
                ret = -EIO;
                goto out;
        }
@@ -524,7 +529,7 @@ int nilfs_attach_checkpoint(struct super_block *sb, __u64 cno, int curr_mnt,
        up_read(&nilfs->ns_segctor_sem);
        if (unlikely(err)) {
                if (err == -ENOENT || err == -EINVAL) {
-                       nilfs_msg(sb, KERN_ERR,
+                       nilfs_err(sb,
                                  "Invalid checkpoint (checkpoint number=%llu)",
                                  (unsigned long long)cno);
                        err = -EINVAL;
@@ -622,8 +627,7 @@ static int nilfs_statfs(struct dentry *dentry, struct kstatfs *buf)
        err = nilfs_ifile_count_free_inodes(root->ifile,
                                            &nmaxinodes, &nfreeinodes);
        if (unlikely(err)) {
-               nilfs_msg(sb, KERN_WARNING,
-                         "failed to count free inodes: err=%d", err);
+               nilfs_warn(sb, "failed to count free inodes: err=%d", err);
                if (err == -ERANGE) {
                        /*
                         * If nilfs_palloc_count_max_entries() returns
@@ -755,7 +759,7 @@ static int parse_options(char *options, struct super_block *sb, int is_remount)
                        break;
                case Opt_snapshot:
                        if (is_remount) {
-                               nilfs_msg(sb, KERN_ERR,
+                               nilfs_err(sb,
                                          "\"%s\" option is invalid for remount",
                                          p);
                                return 0;
@@ -771,8 +775,7 @@ static int parse_options(char *options, struct super_block *sb, int is_remount)
                        nilfs_clear_opt(nilfs, DISCARD);
                        break;
                default:
-                       nilfs_msg(sb, KERN_ERR,
-                                 "unrecognized mount option \"%s\"", p);
+                       nilfs_err(sb, "unrecognized mount option \"%s\"", p);
                        return 0;
                }
        }
@@ -808,10 +811,10 @@ static int nilfs_setup_super(struct super_block *sb, int is_mount)
        mnt_count = le16_to_cpu(sbp[0]->s_mnt_count);
 
        if (nilfs->ns_mount_state & NILFS_ERROR_FS) {
-               nilfs_msg(sb, KERN_WARNING, "mounting fs with errors");
+               nilfs_warn(sb, "mounting fs with errors");
 #if 0
        } else if (max_mnt_count >= 0 && mnt_count >= max_mnt_count) {
-               nilfs_msg(sb, KERN_WARNING, "maximal mount count reached");
+               nilfs_warn(sb, "maximal mount count reached");
 #endif
        }
        if (!max_mnt_count)
@@ -874,7 +877,7 @@ int nilfs_check_feature_compatibility(struct super_block *sb,
        features = le64_to_cpu(sbp->s_feature_incompat) &
                ~NILFS_FEATURE_INCOMPAT_SUPP;
        if (features) {
-               nilfs_msg(sb, KERN_ERR,
+               nilfs_err(sb,
                          "couldn't mount because of unsupported optional features (%llx)",
                          (unsigned long long)features);
                return -EINVAL;
@@ -882,7 +885,7 @@ int nilfs_check_feature_compatibility(struct super_block *sb,
        features = le64_to_cpu(sbp->s_feature_compat_ro) &
                ~NILFS_FEATURE_COMPAT_RO_SUPP;
        if (!sb_rdonly(sb) && features) {
-               nilfs_msg(sb, KERN_ERR,
+               nilfs_err(sb,
                          "couldn't mount RDWR because of unsupported optional features (%llx)",
                          (unsigned long long)features);
                return -EINVAL;
@@ -901,12 +904,12 @@ static int nilfs_get_root_dentry(struct super_block *sb,
        inode = nilfs_iget(sb, root, NILFS_ROOT_INO);
        if (IS_ERR(inode)) {
                ret = PTR_ERR(inode);
-               nilfs_msg(sb, KERN_ERR, "error %d getting root inode", ret);
+               nilfs_err(sb, "error %d getting root inode", ret);
                goto out;
        }
        if (!S_ISDIR(inode->i_mode) || !inode->i_blocks || !inode->i_size) {
                iput(inode);
-               nilfs_msg(sb, KERN_ERR, "corrupt root inode");
+               nilfs_err(sb, "corrupt root inode");
                ret = -EINVAL;
                goto out;
        }
@@ -934,7 +937,7 @@ static int nilfs_get_root_dentry(struct super_block *sb,
        return ret;
 
  failed_dentry:
-       nilfs_msg(sb, KERN_ERR, "error %d getting root dentry", ret);
+       nilfs_err(sb, "error %d getting root dentry", ret);
        goto out;
 }
 
@@ -954,7 +957,7 @@ static int nilfs_attach_snapshot(struct super_block *s, __u64 cno,
                ret = (ret == -ENOENT) ? -EINVAL : ret;
                goto out;
        } else if (!ret) {
-               nilfs_msg(s, KERN_ERR,
+               nilfs_err(s,
                          "The specified checkpoint is not a snapshot (checkpoint number=%llu)",
                          (unsigned long long)cno);
                ret = -EINVAL;
@@ -963,7 +966,7 @@ static int nilfs_attach_snapshot(struct super_block *s, __u64 cno,
 
        ret = nilfs_attach_checkpoint(s, cno, false, &root);
        if (ret) {
-               nilfs_msg(s, KERN_ERR,
+               nilfs_err(s,
                          "error %d while loading snapshot (checkpoint number=%llu)",
                          ret, (unsigned long long)cno);
                goto out;
@@ -1060,7 +1063,7 @@ nilfs_fill_super(struct super_block *sb, void *data, int silent)
        cno = nilfs_last_cno(nilfs);
        err = nilfs_attach_checkpoint(sb, cno, true, &fsroot);
        if (err) {
-               nilfs_msg(sb, KERN_ERR,
+               nilfs_err(sb,
                          "error %d while loading last checkpoint (checkpoint number=%llu)",
                          err, (unsigned long long)cno);
                goto failed_unload;
@@ -1122,8 +1125,8 @@ static int nilfs_remount(struct super_block *sb, int *flags, char *data)
        err = -EINVAL;
 
        if (!nilfs_valid_fs(nilfs)) {
-               nilfs_msg(sb, KERN_WARNING,
-                         "couldn't remount because the filesystem is in an incomplete recovery state");
+               nilfs_warn(sb,
+                          "couldn't remount because the filesystem is in an incomplete recovery state");
                goto restore_opts;
        }
 
@@ -1155,9 +1158,9 @@ static int nilfs_remount(struct super_block *sb, int *flags, char *data)
                        ~NILFS_FEATURE_COMPAT_RO_SUPP;
                up_read(&nilfs->ns_sem);
                if (features) {
-                       nilfs_msg(sb, KERN_WARNING,
-                                 "couldn't remount RDWR because of unsupported optional features (%llx)",
-                                 (unsigned long long)features);
+                       nilfs_warn(sb,
+                                  "couldn't remount RDWR because of unsupported optional features (%llx)",
+                                  (unsigned long long)features);
                        err = -EROFS;
                        goto restore_opts;
                }
@@ -1216,7 +1219,7 @@ static int nilfs_parse_snapshot_option(const char *option,
        return 0;
 
 parse_error:
-       nilfs_msg(NULL, KERN_ERR, "invalid option \"%s\": %s", option, msg);
+       nilfs_err(NULL, "invalid option \"%s\": %s", option, msg);
        return 1;
 }
 
@@ -1319,7 +1322,7 @@ nilfs_mount(struct file_system_type *fs_type, int flags,
        } else if (!sd.cno) {
                if (nilfs_tree_is_busy(s->s_root)) {
                        if ((flags ^ s->s_flags) & SB_RDONLY) {
-                               nilfs_msg(s, KERN_ERR,
+                               nilfs_err(s,
                                          "the device already has a %s mount.",
                                          sb_rdonly(s) ? "read-only" : "read/write");
                                err = -EBUSY;