|
@@ -62,22 +62,26 @@ void hpfs_error(struct super_block *s, const char *fmt, ...)
|
|
|
vsnprintf(err_buf, sizeof(err_buf), fmt, args);
|
|
|
va_end(args);
|
|
|
|
|
|
- printk("HPFS: filesystem error: %s", err_buf);
|
|
|
+ pr_err("HPFS: filesystem error: %s", err_buf);
|
|
|
if (!hpfs_sb(s)->sb_was_error) {
|
|
|
if (hpfs_sb(s)->sb_err == 2) {
|
|
|
- printk("; crashing the system because you wanted it\n");
|
|
|
+ pr_cont("; crashing the system because you wanted it\n");
|
|
|
mark_dirty(s, 0);
|
|
|
panic("HPFS panic");
|
|
|
} else if (hpfs_sb(s)->sb_err == 1) {
|
|
|
- if (s->s_flags & MS_RDONLY) printk("; already mounted read-only\n");
|
|
|
+ if (s->s_flags & MS_RDONLY)
|
|
|
+ pr_cont("; already mounted read-only\n");
|
|
|
else {
|
|
|
- printk("; remounting read-only\n");
|
|
|
+ pr_cont("; remounting read-only\n");
|
|
|
mark_dirty(s, 0);
|
|
|
s->s_flags |= MS_RDONLY;
|
|
|
}
|
|
|
- } else if (s->s_flags & MS_RDONLY) printk("; going on - but anything won't be destroyed because it's read-only\n");
|
|
|
- else printk("; corrupted filesystem mounted read/write - your computer will explode within 20 seconds ... but you wanted it so!\n");
|
|
|
- } else printk("\n");
|
|
|
+ } else if (s->s_flags & MS_RDONLY)
|
|
|
+ pr_cont("; going on - but anything won't be destroyed because it's read-only\n");
|
|
|
+ else
|
|
|
+ pr_cont("; corrupted filesystem mounted read/write - your computer will explode within 20 seconds ... but you wanted it so!\n");
|
|
|
+ } else
|
|
|
+ pr_cont("\n");
|
|
|
hpfs_sb(s)->sb_was_error = 1;
|
|
|
}
|
|
|
|
|
@@ -292,7 +296,7 @@ static int parse_opts(char *opts, kuid_t *uid, kgid_t *gid, umode_t *umask,
|
|
|
if (!opts)
|
|
|
return 1;
|
|
|
|
|
|
- /*printk("Parsing opts: '%s'\n",opts);*/
|
|
|
+ /*pr_info("Parsing opts: '%s'\n",opts);*/
|
|
|
|
|
|
while ((p = strsep(&opts, ",")) != NULL) {
|
|
|
substring_t args[MAX_OPT_ARGS];
|
|
@@ -387,7 +391,7 @@ static int parse_opts(char *opts, kuid_t *uid, kgid_t *gid, umode_t *umask,
|
|
|
|
|
|
static inline void hpfs_help(void)
|
|
|
{
|
|
|
- printk("\n\
|
|
|
+ pr_info("\n\
|
|
|
HPFS filesystem options:\n\
|
|
|
help do not mount and display this text\n\
|
|
|
uid=xxx set uid of files that don't have uid specified in eas\n\
|
|
@@ -434,7 +438,7 @@ static int hpfs_remount_fs(struct super_block *s, int *flags, char *data)
|
|
|
|
|
|
if (!(o = parse_opts(data, &uid, &gid, &umask, &lowercase,
|
|
|
&eas, &chk, &errs, &chkdsk, ×hift))) {
|
|
|
- printk("HPFS: bad mount options.\n");
|
|
|
+ pr_warn("HPFS: bad mount options.\n");
|
|
|
goto out_err;
|
|
|
}
|
|
|
if (o == 2) {
|
|
@@ -442,7 +446,7 @@ static int hpfs_remount_fs(struct super_block *s, int *flags, char *data)
|
|
|
goto out_err;
|
|
|
}
|
|
|
if (timeshift != sbi->sb_timeshift) {
|
|
|
- printk("HPFS: timeshift can't be changed using remount.\n");
|
|
|
+ pr_warn("HPFS: timeshift can't be changed using remount.\n");
|
|
|
goto out_err;
|
|
|
}
|
|
|
|
|
@@ -523,7 +527,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
|
|
|
|
|
|
if (!(o = parse_opts(options, &uid, &gid, &umask, &lowercase,
|
|
|
&eas, &chk, &errs, &chkdsk, ×hift))) {
|
|
|
- printk("HPFS: bad mount options.\n");
|
|
|
+ pr_warn("HPFS: bad mount options.\n");
|
|
|
goto bail0;
|
|
|
}
|
|
|
if (o==2) {
|
|
@@ -542,16 +546,17 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
|
|
|
if (/*le16_to_cpu(bootblock->magic) != BB_MAGIC
|
|
|
||*/ le32_to_cpu(superblock->magic) != SB_MAGIC
|
|
|
|| le32_to_cpu(spareblock->magic) != SP_MAGIC) {
|
|
|
- if (!silent) printk("HPFS: Bad magic ... probably not HPFS\n");
|
|
|
+ if (!silent)
|
|
|
+ pr_warn("HPFS: Bad magic ... probably not HPFS\n");
|
|
|
goto bail4;
|
|
|
}
|
|
|
|
|
|
/* Check version */
|
|
|
if (!(s->s_flags & MS_RDONLY) &&
|
|
|
superblock->funcversion != 2 && superblock->funcversion != 3) {
|
|
|
- printk("HPFS: Bad version %d,%d. Mount readonly to go around\n",
|
|
|
+ pr_warn("HPFS: Bad version %d,%d. Mount readonly to go around\n",
|
|
|
(int)superblock->version, (int)superblock->funcversion);
|
|
|
- printk("HPFS: please try recent version of HPFS driver at http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi and if it still can't understand this format, contact author - mikulas@artax.karlin.mff.cuni.cz\n");
|
|
|
+ pr_warn("HPFS: please try recent version of HPFS driver at http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/hpfs/index-e.cgi and if it still can't understand this format, contact author - mikulas@artax.karlin.mff.cuni.cz\n");
|
|
|
goto bail4;
|
|
|
}
|
|
|
|
|
@@ -597,7 +602,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
|
|
|
/* Check for general fs errors*/
|
|
|
if (spareblock->dirty && !spareblock->old_wrote) {
|
|
|
if (errs == 2) {
|
|
|
- printk("HPFS: Improperly stopped, not mounted\n");
|
|
|
+ pr_warn("HPFS: Improperly stopped, not mounted\n");
|
|
|
goto bail4;
|
|
|
}
|
|
|
hpfs_error(s, "improperly stopped");
|
|
@@ -611,22 +616,25 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
|
|
|
|
|
|
if (spareblock->hotfixes_used || spareblock->n_spares_used) {
|
|
|
if (errs >= 2) {
|
|
|
- printk("HPFS: Hotfixes not supported here, try chkdsk\n");
|
|
|
+ pr_warn("HPFS: Hotfixes not supported here, try chkdsk\n");
|
|
|
mark_dirty(s, 0);
|
|
|
goto bail4;
|
|
|
}
|
|
|
hpfs_error(s, "hotfixes not supported here, try chkdsk");
|
|
|
- if (errs == 0) printk("HPFS: Proceeding, but your filesystem will be probably corrupted by this driver...\n");
|
|
|
- else printk("HPFS: This driver may read bad files or crash when operating on disk with hotfixes.\n");
|
|
|
+ if (errs == 0)
|
|
|
+ pr_warn("HPFS: Proceeding, but your filesystem will be probably corrupted by this driver...\n");
|
|
|
+ else
|
|
|
+ pr_warn("HPFS: This driver may read bad files or crash when operating on disk with hotfixes.\n");
|
|
|
}
|
|
|
if (le32_to_cpu(spareblock->n_dnode_spares) != le32_to_cpu(spareblock->n_dnode_spares_free)) {
|
|
|
if (errs >= 2) {
|
|
|
- printk("HPFS: Spare dnodes used, try chkdsk\n");
|
|
|
+ pr_warn("HPFS: Spare dnodes used, try chkdsk\n");
|
|
|
mark_dirty(s, 0);
|
|
|
goto bail4;
|
|
|
}
|
|
|
hpfs_error(s, "warning: spare dnodes used, try chkdsk");
|
|
|
- if (errs == 0) printk("HPFS: Proceeding, but your filesystem could be corrupted if you delete files or directories\n");
|
|
|
+ if (errs == 0)
|
|
|
+ pr_warn("HPFS: Proceeding, but your filesystem could be corrupted if you delete files or directories\n");
|
|
|
}
|
|
|
if (chk) {
|
|
|
unsigned a;
|
|
@@ -645,12 +653,13 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
|
|
|
goto bail4;
|
|
|
}
|
|
|
sbi->sb_dirband_size = a;
|
|
|
- } else printk("HPFS: You really don't want any checks? You are crazy...\n");
|
|
|
+ } else
|
|
|
+ pr_warn("HPFS: You really don't want any checks? You are crazy...\n");
|
|
|
|
|
|
/* Load code page table */
|
|
|
if (le32_to_cpu(spareblock->n_code_pages))
|
|
|
if (!(sbi->sb_cp_table = hpfs_load_code_page(s, le32_to_cpu(spareblock->code_page_dir))))
|
|
|
- printk("HPFS: Warning: code page support is disabled\n");
|
|
|
+ pr_warn("HPFS: Warning: code page support is disabled\n");
|
|
|
|
|
|
brelse(bh2);
|
|
|
brelse(bh1);
|