You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
hfs/hfsplus: convert printks to pr_<level>
Use a more current logging style. Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt hfsplus now uses "hfsplus: " for all messages. Coalesce formats. Prefix debugging messages too. Signed-off-by: Joe Perches <joe@perches.com> Cc: Vyacheslav Dubeyko <slava@dubeyko.com> Cc: Hin-Tak Leung <htl10@users.sourceforge.net> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
c2b3e1f76e
commit
d614267329
+2
-2
@@ -137,8 +137,8 @@ int hfs_brec_find(struct hfs_find_data *fd)
|
||||
return res;
|
||||
|
||||
invalid:
|
||||
printk(KERN_ERR "hfs: inconsistency in B*Tree (%d,%d,%d,%u,%u)\n",
|
||||
height, bnode->height, bnode->type, nidx, parent);
|
||||
pr_err("inconsistency in B*Tree (%d,%d,%d,%u,%u)\n",
|
||||
height, bnode->height, bnode->type, nidx, parent);
|
||||
res = -EIO;
|
||||
release:
|
||||
hfs_bnode_put(bnode);
|
||||
|
||||
+2
-2
@@ -221,7 +221,7 @@ struct hfs_bnode *hfs_bnode_findhash(struct hfs_btree *tree, u32 cnid)
|
||||
struct hfs_bnode *node;
|
||||
|
||||
if (cnid >= tree->node_count) {
|
||||
printk(KERN_ERR "hfs: request for non-existent node %d in B*Tree\n", cnid);
|
||||
pr_err("request for non-existent node %d in B*Tree\n", cnid);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hfs_btree *tree, u32 cnid)
|
||||
loff_t off;
|
||||
|
||||
if (cnid >= tree->node_count) {
|
||||
printk(KERN_ERR "hfs: request for non-existent node %d in B*Tree\n", cnid);
|
||||
pr_err("request for non-existent node %d in B*Tree\n", cnid);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
+3
-5
@@ -47,15 +47,13 @@ u16 hfs_brec_keylen(struct hfs_bnode *node, u16 rec)
|
||||
if (node->tree->attributes & HFS_TREE_BIGKEYS) {
|
||||
retval = hfs_bnode_read_u16(node, recoff) + 2;
|
||||
if (retval > node->tree->max_key_len + 2) {
|
||||
printk(KERN_ERR "hfs: keylen %d too large\n",
|
||||
retval);
|
||||
pr_err("keylen %d too large\n", retval);
|
||||
retval = 0;
|
||||
}
|
||||
} else {
|
||||
retval = (hfs_bnode_read_u8(node, recoff) | 1) + 1;
|
||||
if (retval > node->tree->max_key_len + 1) {
|
||||
printk(KERN_ERR "hfs: keylen %d too large\n",
|
||||
retval);
|
||||
pr_err("keylen %d too large\n", retval);
|
||||
retval = 0;
|
||||
}
|
||||
}
|
||||
@@ -388,7 +386,7 @@ again:
|
||||
end_off = hfs_bnode_read_u16(parent, end_rec_off);
|
||||
if (end_rec_off - end_off < diff) {
|
||||
|
||||
printk(KERN_DEBUG "hfs: splitting index node...\n");
|
||||
printk(KERN_DEBUG "splitting index node...\n");
|
||||
fd->bnode = parent;
|
||||
new_node = hfs_bnode_split(fd);
|
||||
if (IS_ERR(new_node))
|
||||
|
||||
+16
-13
@@ -48,7 +48,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
|
||||
mdb->drXTFlSize, be32_to_cpu(mdb->drXTClpSiz));
|
||||
if (HFS_I(tree->inode)->alloc_blocks >
|
||||
HFS_I(tree->inode)->first_blocks) {
|
||||
printk(KERN_ERR "hfs: invalid btree extent records\n");
|
||||
pr_err("invalid btree extent records\n");
|
||||
unlock_new_inode(tree->inode);
|
||||
goto free_inode;
|
||||
}
|
||||
@@ -60,8 +60,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
|
||||
mdb->drCTFlSize, be32_to_cpu(mdb->drCTClpSiz));
|
||||
|
||||
if (!HFS_I(tree->inode)->first_blocks) {
|
||||
printk(KERN_ERR "hfs: invalid btree extent records "
|
||||
"(0 size).\n");
|
||||
pr_err("invalid btree extent records (0 size)\n");
|
||||
unlock_new_inode(tree->inode);
|
||||
goto free_inode;
|
||||
}
|
||||
@@ -100,15 +99,15 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
|
||||
switch (id) {
|
||||
case HFS_EXT_CNID:
|
||||
if (tree->max_key_len != HFS_MAX_EXT_KEYLEN) {
|
||||
printk(KERN_ERR "hfs: invalid extent max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
pr_err("invalid extent max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
goto fail_page;
|
||||
}
|
||||
break;
|
||||
case HFS_CAT_CNID:
|
||||
if (tree->max_key_len != HFS_MAX_CAT_KEYLEN) {
|
||||
printk(KERN_ERR "hfs: invalid catalog max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
pr_err("invalid catalog max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
goto fail_page;
|
||||
}
|
||||
break;
|
||||
@@ -146,8 +145,9 @@ void hfs_btree_close(struct hfs_btree *tree)
|
||||
while ((node = tree->node_hash[i])) {
|
||||
tree->node_hash[i] = node->next_hash;
|
||||
if (atomic_read(&node->refcnt))
|
||||
printk(KERN_ERR "hfs: node %d:%d still has %d user(s)!\n",
|
||||
node->tree->cnid, node->this, atomic_read(&node->refcnt));
|
||||
pr_err("node %d:%d still has %d user(s)!\n",
|
||||
node->tree->cnid, node->this,
|
||||
atomic_read(&node->refcnt));
|
||||
hfs_bnode_free(node);
|
||||
tree->node_hash_cnt--;
|
||||
}
|
||||
@@ -290,7 +290,7 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree)
|
||||
kunmap(*pagep);
|
||||
nidx = node->next;
|
||||
if (!nidx) {
|
||||
printk(KERN_DEBUG "hfs: create new bmap node...\n");
|
||||
printk(KERN_DEBUG "create new bmap node...\n");
|
||||
next_node = hfs_bmap_new_bmap(node, idx);
|
||||
} else
|
||||
next_node = hfs_bnode_find(tree, nidx);
|
||||
@@ -331,7 +331,8 @@ void hfs_bmap_free(struct hfs_bnode *node)
|
||||
hfs_bnode_put(node);
|
||||
if (!i) {
|
||||
/* panic */;
|
||||
printk(KERN_CRIT "hfs: unable to free bnode %u. bmap not found!\n", node->this);
|
||||
pr_crit("unable to free bnode %u. bmap not found!\n",
|
||||
node->this);
|
||||
return;
|
||||
}
|
||||
node = hfs_bnode_find(tree, i);
|
||||
@@ -339,7 +340,8 @@ void hfs_bmap_free(struct hfs_bnode *node)
|
||||
return;
|
||||
if (node->type != HFS_NODE_MAP) {
|
||||
/* panic */;
|
||||
printk(KERN_CRIT "hfs: invalid bmap found! (%u,%d)\n", node->this, node->type);
|
||||
pr_crit("invalid bmap found! (%u,%d)\n",
|
||||
node->this, node->type);
|
||||
hfs_bnode_put(node);
|
||||
return;
|
||||
}
|
||||
@@ -352,7 +354,8 @@ void hfs_bmap_free(struct hfs_bnode *node)
|
||||
m = 1 << (~nidx & 7);
|
||||
byte = data[off];
|
||||
if (!(byte & m)) {
|
||||
printk(KERN_CRIT "hfs: trying to free free bnode %u(%d)\n", node->this, node->type);
|
||||
pr_crit("trying to free free bnode %u(%d)\n",
|
||||
node->this, node->type);
|
||||
kunmap(page);
|
||||
hfs_bnode_put(node);
|
||||
return;
|
||||
|
||||
+2
-2
@@ -187,14 +187,14 @@ int hfs_cat_find_brec(struct super_block *sb, u32 cnid,
|
||||
|
||||
type = rec.type;
|
||||
if (type != HFS_CDR_THD && type != HFS_CDR_FTH) {
|
||||
printk(KERN_ERR "hfs: found bad thread record in catalog\n");
|
||||
pr_err("found bad thread record in catalog\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
fd->search_key->cat.ParID = rec.thread.ParID;
|
||||
len = fd->search_key->cat.CName.len = rec.thread.CName.len;
|
||||
if (len > HFS_NAMELEN) {
|
||||
printk(KERN_ERR "hfs: bad catalog namelength\n");
|
||||
pr_err("bad catalog namelength\n");
|
||||
return -EIO;
|
||||
}
|
||||
memcpy(fd->search_key->cat.CName.name, rec.thread.CName.name, len);
|
||||
|
||||
+6
-6
@@ -88,12 +88,12 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
|
||||
hfs_bnode_read(fd.bnode, &entry, fd.entryoffset, fd.entrylength);
|
||||
if (entry.type != HFS_CDR_THD) {
|
||||
printk(KERN_ERR "hfs: bad catalog folder thread\n");
|
||||
pr_err("bad catalog folder thread\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
//if (fd.entrylength < HFS_MIN_THREAD_SZ) {
|
||||
// printk(KERN_ERR "hfs: truncated catalog thread\n");
|
||||
// pr_err("truncated catalog thread\n");
|
||||
// err = -EIO;
|
||||
// goto out;
|
||||
//}
|
||||
@@ -112,7 +112,7 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
|
||||
for (;;) {
|
||||
if (be32_to_cpu(fd.key->cat.ParID) != inode->i_ino) {
|
||||
printk(KERN_ERR "hfs: walked past end of dir\n");
|
||||
pr_err("walked past end of dir\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -127,7 +127,7 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
len = hfs_mac2asc(sb, strbuf, &fd.key->cat.CName);
|
||||
if (type == HFS_CDR_DIR) {
|
||||
if (fd.entrylength < sizeof(struct hfs_cat_dir)) {
|
||||
printk(KERN_ERR "hfs: small dir entry\n");
|
||||
pr_err("small dir entry\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -136,7 +136,7 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
break;
|
||||
} else if (type == HFS_CDR_FIL) {
|
||||
if (fd.entrylength < sizeof(struct hfs_cat_file)) {
|
||||
printk(KERN_ERR "hfs: small file entry\n");
|
||||
pr_err("small file entry\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -144,7 +144,7 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
be32_to_cpu(entry.file.FlNum), DT_REG))
|
||||
break;
|
||||
} else {
|
||||
printk(KERN_ERR "hfs: bad catalog entry type %d\n", type);
|
||||
pr_err("bad catalog entry type %d\n", type);
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
|
||||
+14
-8
@@ -9,6 +9,12 @@
|
||||
#ifndef _LINUX_HFS_FS_H
|
||||
#define _LINUX_HFS_FS_H
|
||||
|
||||
#ifdef pr_fmt
|
||||
#undef pr_fmt
|
||||
#endif
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/slab.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/mutex.h>
|
||||
@@ -34,16 +40,16 @@
|
||||
//#define DBG_MASK (DBG_CAT_MOD|DBG_BNODE_REFS|DBG_INODE|DBG_EXTENT)
|
||||
#define DBG_MASK (0)
|
||||
|
||||
#define hfs_dbg(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
|
||||
#define hfs_dbg(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
#define hfs_dbg_cont(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
printk(KERN_CONT fmt, ##__VA_ARGS__); \
|
||||
#define hfs_dbg_cont(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
pr_cont(fmt, ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
|
||||
|
||||
+11
-12
@@ -48,7 +48,7 @@ static int hfs_get_last_session(struct super_block *sb,
|
||||
*start = (sector_t)te.cdte_addr.lba << 2;
|
||||
return 0;
|
||||
}
|
||||
printk(KERN_ERR "hfs: invalid session number or type of track\n");
|
||||
pr_err("invalid session number or type of track\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
ms_info.addr_format = CDROM_LBA;
|
||||
@@ -101,7 +101,7 @@ int hfs_mdb_get(struct super_block *sb)
|
||||
|
||||
HFS_SB(sb)->alloc_blksz = size = be32_to_cpu(mdb->drAlBlkSiz);
|
||||
if (!size || (size & (HFS_SECTOR_SIZE - 1))) {
|
||||
printk(KERN_ERR "hfs: bad allocation block size %d\n", size);
|
||||
pr_err("bad allocation block size %d\n", size);
|
||||
goto out_bh;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ int hfs_mdb_get(struct super_block *sb)
|
||||
size >>= 1;
|
||||
brelse(bh);
|
||||
if (!sb_set_blocksize(sb, size)) {
|
||||
printk(KERN_ERR "hfs: unable to set blocksize to %u\n", size);
|
||||
pr_err("unable to set blocksize to %u\n", size);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -162,8 +162,8 @@ int hfs_mdb_get(struct super_block *sb)
|
||||
}
|
||||
|
||||
if (!HFS_SB(sb)->alt_mdb) {
|
||||
printk(KERN_WARNING "hfs: unable to locate alternate MDB\n");
|
||||
printk(KERN_WARNING "hfs: continuing without an alternate MDB\n");
|
||||
pr_warn("unable to locate alternate MDB\n");
|
||||
pr_warn("continuing without an alternate MDB\n");
|
||||
}
|
||||
|
||||
HFS_SB(sb)->bitmap = (__be32 *)__get_free_pages(GFP_KERNEL, PAGE_SIZE < 8192 ? 1 : 0);
|
||||
@@ -178,7 +178,7 @@ int hfs_mdb_get(struct super_block *sb)
|
||||
while (size) {
|
||||
bh = sb_bread(sb, off >> sb->s_blocksize_bits);
|
||||
if (!bh) {
|
||||
printk(KERN_ERR "hfs: unable to read volume bitmap\n");
|
||||
pr_err("unable to read volume bitmap\n");
|
||||
goto out;
|
||||
}
|
||||
off2 = off & (sb->s_blocksize - 1);
|
||||
@@ -192,23 +192,22 @@ int hfs_mdb_get(struct super_block *sb)
|
||||
|
||||
HFS_SB(sb)->ext_tree = hfs_btree_open(sb, HFS_EXT_CNID, hfs_ext_keycmp);
|
||||
if (!HFS_SB(sb)->ext_tree) {
|
||||
printk(KERN_ERR "hfs: unable to open extent tree\n");
|
||||
pr_err("unable to open extent tree\n");
|
||||
goto out;
|
||||
}
|
||||
HFS_SB(sb)->cat_tree = hfs_btree_open(sb, HFS_CAT_CNID, hfs_cat_keycmp);
|
||||
if (!HFS_SB(sb)->cat_tree) {
|
||||
printk(KERN_ERR "hfs: unable to open catalog tree\n");
|
||||
pr_err("unable to open catalog tree\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
attrib = mdb->drAtrb;
|
||||
if (!(attrib & cpu_to_be16(HFS_SB_ATTRIB_UNMNT))) {
|
||||
printk(KERN_WARNING "hfs: filesystem was not cleanly unmounted, "
|
||||
"running fsck.hfs is recommended. mounting read-only.\n");
|
||||
pr_warn("filesystem was not cleanly unmounted, running fsck.hfs is recommended. mounting read-only.\n");
|
||||
sb->s_flags |= MS_RDONLY;
|
||||
}
|
||||
if ((attrib & cpu_to_be16(HFS_SB_ATTRIB_SLOCK))) {
|
||||
printk(KERN_WARNING "hfs: filesystem is marked locked, mounting read-only.\n");
|
||||
pr_warn("filesystem is marked locked, mounting read-only.\n");
|
||||
sb->s_flags |= MS_RDONLY;
|
||||
}
|
||||
if (!(sb->s_flags & MS_RDONLY)) {
|
||||
@@ -312,7 +311,7 @@ void hfs_mdb_commit(struct super_block *sb)
|
||||
while (size) {
|
||||
bh = sb_bread(sb, block);
|
||||
if (!bh) {
|
||||
printk(KERN_ERR "hfs: unable to read volume bitmap\n");
|
||||
pr_err("unable to read volume bitmap\n");
|
||||
break;
|
||||
}
|
||||
len = min((int)sb->s_blocksize - off, size);
|
||||
|
||||
+21
-22
@@ -117,12 +117,11 @@ static int hfs_remount(struct super_block *sb, int *flags, char *data)
|
||||
return 0;
|
||||
if (!(*flags & MS_RDONLY)) {
|
||||
if (!(HFS_SB(sb)->mdb->drAtrb & cpu_to_be16(HFS_SB_ATTRIB_UNMNT))) {
|
||||
printk(KERN_WARNING "hfs: filesystem was not cleanly unmounted, "
|
||||
"running fsck.hfs is recommended. leaving read-only.\n");
|
||||
pr_warn("filesystem was not cleanly unmounted, running fsck.hfs is recommended. leaving read-only.\n");
|
||||
sb->s_flags |= MS_RDONLY;
|
||||
*flags |= MS_RDONLY;
|
||||
} else if (HFS_SB(sb)->mdb->drAtrb & cpu_to_be16(HFS_SB_ATTRIB_SLOCK)) {
|
||||
printk(KERN_WARNING "hfs: filesystem is marked locked, leaving read-only.\n");
|
||||
pr_warn("filesystem is marked locked, leaving read-only.\n");
|
||||
sb->s_flags |= MS_RDONLY;
|
||||
*flags |= MS_RDONLY;
|
||||
}
|
||||
@@ -253,29 +252,29 @@ static int parse_options(char *options, struct hfs_sb_info *hsb)
|
||||
switch (token) {
|
||||
case opt_uid:
|
||||
if (match_int(&args[0], &tmp)) {
|
||||
printk(KERN_ERR "hfs: uid requires an argument\n");
|
||||
pr_err("uid requires an argument\n");
|
||||
return 0;
|
||||
}
|
||||
hsb->s_uid = make_kuid(current_user_ns(), (uid_t)tmp);
|
||||
if (!uid_valid(hsb->s_uid)) {
|
||||
printk(KERN_ERR "hfs: invalid uid %d\n", tmp);
|
||||
pr_err("invalid uid %d\n", tmp);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case opt_gid:
|
||||
if (match_int(&args[0], &tmp)) {
|
||||
printk(KERN_ERR "hfs: gid requires an argument\n");
|
||||
pr_err("gid requires an argument\n");
|
||||
return 0;
|
||||
}
|
||||
hsb->s_gid = make_kgid(current_user_ns(), (gid_t)tmp);
|
||||
if (!gid_valid(hsb->s_gid)) {
|
||||
printk(KERN_ERR "hfs: invalid gid %d\n", tmp);
|
||||
pr_err("invalid gid %d\n", tmp);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case opt_umask:
|
||||
if (match_octal(&args[0], &tmp)) {
|
||||
printk(KERN_ERR "hfs: umask requires a value\n");
|
||||
pr_err("umask requires a value\n");
|
||||
return 0;
|
||||
}
|
||||
hsb->s_file_umask = (umode_t)tmp;
|
||||
@@ -283,39 +282,39 @@ static int parse_options(char *options, struct hfs_sb_info *hsb)
|
||||
break;
|
||||
case opt_file_umask:
|
||||
if (match_octal(&args[0], &tmp)) {
|
||||
printk(KERN_ERR "hfs: file_umask requires a value\n");
|
||||
pr_err("file_umask requires a value\n");
|
||||
return 0;
|
||||
}
|
||||
hsb->s_file_umask = (umode_t)tmp;
|
||||
break;
|
||||
case opt_dir_umask:
|
||||
if (match_octal(&args[0], &tmp)) {
|
||||
printk(KERN_ERR "hfs: dir_umask requires a value\n");
|
||||
pr_err("dir_umask requires a value\n");
|
||||
return 0;
|
||||
}
|
||||
hsb->s_dir_umask = (umode_t)tmp;
|
||||
break;
|
||||
case opt_part:
|
||||
if (match_int(&args[0], &hsb->part)) {
|
||||
printk(KERN_ERR "hfs: part requires an argument\n");
|
||||
pr_err("part requires an argument\n");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case opt_session:
|
||||
if (match_int(&args[0], &hsb->session)) {
|
||||
printk(KERN_ERR "hfs: session requires an argument\n");
|
||||
pr_err("session requires an argument\n");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case opt_type:
|
||||
if (match_fourchar(&args[0], &hsb->s_type)) {
|
||||
printk(KERN_ERR "hfs: type requires a 4 character value\n");
|
||||
pr_err("type requires a 4 character value\n");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case opt_creator:
|
||||
if (match_fourchar(&args[0], &hsb->s_creator)) {
|
||||
printk(KERN_ERR "hfs: creator requires a 4 character value\n");
|
||||
pr_err("creator requires a 4 character value\n");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
@@ -324,14 +323,14 @@ static int parse_options(char *options, struct hfs_sb_info *hsb)
|
||||
break;
|
||||
case opt_codepage:
|
||||
if (hsb->nls_disk) {
|
||||
printk(KERN_ERR "hfs: unable to change codepage\n");
|
||||
pr_err("unable to change codepage\n");
|
||||
return 0;
|
||||
}
|
||||
p = match_strdup(&args[0]);
|
||||
if (p)
|
||||
hsb->nls_disk = load_nls(p);
|
||||
if (!hsb->nls_disk) {
|
||||
printk(KERN_ERR "hfs: unable to load codepage \"%s\"\n", p);
|
||||
pr_err("unable to load codepage \"%s\"\n", p);
|
||||
kfree(p);
|
||||
return 0;
|
||||
}
|
||||
@@ -339,14 +338,14 @@ static int parse_options(char *options, struct hfs_sb_info *hsb)
|
||||
break;
|
||||
case opt_iocharset:
|
||||
if (hsb->nls_io) {
|
||||
printk(KERN_ERR "hfs: unable to change iocharset\n");
|
||||
pr_err("unable to change iocharset\n");
|
||||
return 0;
|
||||
}
|
||||
p = match_strdup(&args[0]);
|
||||
if (p)
|
||||
hsb->nls_io = load_nls(p);
|
||||
if (!hsb->nls_io) {
|
||||
printk(KERN_ERR "hfs: unable to load iocharset \"%s\"\n", p);
|
||||
pr_err("unable to load iocharset \"%s\"\n", p);
|
||||
kfree(p);
|
||||
return 0;
|
||||
}
|
||||
@@ -360,7 +359,7 @@ static int parse_options(char *options, struct hfs_sb_info *hsb)
|
||||
if (hsb->nls_disk && !hsb->nls_io) {
|
||||
hsb->nls_io = load_nls_default();
|
||||
if (!hsb->nls_io) {
|
||||
printk(KERN_ERR "hfs: unable to load default iocharset\n");
|
||||
pr_err("unable to load default iocharset\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -400,7 +399,7 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
res = -EINVAL;
|
||||
if (!parse_options((char *)data, sbi)) {
|
||||
printk(KERN_ERR "hfs: unable to parse mount options.\n");
|
||||
pr_err("unable to parse mount options\n");
|
||||
goto bail;
|
||||
}
|
||||
|
||||
@@ -411,7 +410,7 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
res = hfs_mdb_get(sb);
|
||||
if (res) {
|
||||
if (!silent)
|
||||
printk(KERN_WARNING "hfs: can't find a HFS filesystem on dev %s.\n",
|
||||
pr_warn("can't find a HFS filesystem on dev %s\n",
|
||||
hfs_mdb_name(sb));
|
||||
res = -EINVAL;
|
||||
goto bail;
|
||||
@@ -449,7 +448,7 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
return 0;
|
||||
|
||||
bail_no_root:
|
||||
printk(KERN_ERR "hfs: get root inode failed.\n");
|
||||
pr_err("get root inode failed\n");
|
||||
bail:
|
||||
hfs_mdb_put(sb);
|
||||
return res;
|
||||
|
||||
@@ -56,7 +56,7 @@ int hfsplus_attr_build_key(struct super_block *sb, hfsplus_btree_key *key,
|
||||
if (name) {
|
||||
len = strlen(name);
|
||||
if (len > HFSPLUS_ATTR_MAX_STRLEN) {
|
||||
printk(KERN_ERR "hfs: invalid xattr name's length\n");
|
||||
pr_err("invalid xattr name's length\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
hfsplus_asc2uni(sb,
|
||||
@@ -169,7 +169,7 @@ int hfsplus_find_attr(struct super_block *sb, u32 cnid,
|
||||
hfs_dbg(ATTR_MOD, "find_attr: %s,%d\n", name ? name : NULL, cnid);
|
||||
|
||||
if (!HFSPLUS_SB(sb)->attr_tree) {
|
||||
printk(KERN_ERR "hfs: attributes file doesn't exist\n");
|
||||
pr_err("attributes file doesn't exist\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ int hfsplus_create_attr(struct inode *inode,
|
||||
name ? name : NULL, inode->i_ino);
|
||||
|
||||
if (!HFSPLUS_SB(sb)->attr_tree) {
|
||||
printk(KERN_ERR "hfs: attributes file doesn't exist\n");
|
||||
pr_err("attributes file doesn't exist\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -307,10 +307,10 @@ static int __hfsplus_delete_attr(struct inode *inode, u32 cnid,
|
||||
break;
|
||||
case HFSPLUS_ATTR_FORK_DATA:
|
||||
case HFSPLUS_ATTR_EXTENTS:
|
||||
printk(KERN_ERR "hfs: only inline data xattr are supported\n");
|
||||
pr_err("only inline data xattr are supported\n");
|
||||
return -EOPNOTSUPP;
|
||||
default:
|
||||
printk(KERN_ERR "hfs: invalid extended attribute record\n");
|
||||
pr_err("invalid extended attribute record\n");
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
@@ -332,7 +332,7 @@ int hfsplus_delete_attr(struct inode *inode, const char *name)
|
||||
name ? name : NULL, inode->i_ino);
|
||||
|
||||
if (!HFSPLUS_SB(sb)->attr_tree) {
|
||||
printk(KERN_ERR "hfs: attributes file doesn't exist\n");
|
||||
pr_err("attributes file doesn't exist\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -346,7 +346,7 @@ int hfsplus_delete_attr(struct inode *inode, const char *name)
|
||||
if (err)
|
||||
goto out;
|
||||
} else {
|
||||
printk(KERN_ERR "hfs: invalid extended attribute name\n");
|
||||
pr_err("invalid extended attribute name\n");
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
@@ -372,7 +372,7 @@ int hfsplus_delete_all_attrs(struct inode *dir, u32 cnid)
|
||||
hfs_dbg(ATTR_MOD, "delete_all_attrs: %d\n", cnid);
|
||||
|
||||
if (!HFSPLUS_SB(dir->i_sb)->attr_tree) {
|
||||
printk(KERN_ERR "hfs: attributes file doesn't exist\n");
|
||||
pr_err("attributes file doesn't exist\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ int hfsplus_delete_all_attrs(struct inode *dir, u32 cnid)
|
||||
err = hfsplus_find_attr(dir->i_sb, cnid, NULL, &fd);
|
||||
if (err) {
|
||||
if (err != -ENOENT)
|
||||
printk(KERN_ERR "hfs: xattr search failed.\n");
|
||||
pr_err("xattr search failed\n");
|
||||
goto end_delete_all;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -208,7 +208,7 @@ int hfs_brec_find(struct hfs_find_data *fd, search_strategy_t do_key_compare)
|
||||
return res;
|
||||
|
||||
invalid:
|
||||
printk(KERN_ERR "hfs: inconsistency in B*Tree (%d,%d,%d,%u,%u)\n",
|
||||
pr_err("inconsistency in B*Tree (%d,%d,%d,%u,%u)\n",
|
||||
height, bnode->height, bnode->type, nidx, parent);
|
||||
res = -EIO;
|
||||
release:
|
||||
|
||||
+1
-1
@@ -238,7 +238,7 @@ out:
|
||||
return 0;
|
||||
|
||||
kaboom:
|
||||
printk(KERN_CRIT "hfsplus: unable to mark blocks free: error %ld\n",
|
||||
pr_crit("hfsplus: unable to mark blocks free: error %ld\n",
|
||||
PTR_ERR(page));
|
||||
mutex_unlock(&sbi->alloc_mutex);
|
||||
|
||||
|
||||
+3
-3
@@ -386,7 +386,7 @@ struct hfs_bnode *hfs_bnode_findhash(struct hfs_btree *tree, u32 cnid)
|
||||
struct hfs_bnode *node;
|
||||
|
||||
if (cnid >= tree->node_count) {
|
||||
printk(KERN_ERR "hfs: request for non-existent node "
|
||||
pr_err("request for non-existent node "
|
||||
"%d in B*Tree\n",
|
||||
cnid);
|
||||
return NULL;
|
||||
@@ -409,7 +409,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hfs_btree *tree, u32 cnid)
|
||||
loff_t off;
|
||||
|
||||
if (cnid >= tree->node_count) {
|
||||
printk(KERN_ERR "hfs: request for non-existent node "
|
||||
pr_err("request for non-existent node "
|
||||
"%d in B*Tree\n",
|
||||
cnid);
|
||||
return NULL;
|
||||
@@ -588,7 +588,7 @@ struct hfs_bnode *hfs_bnode_create(struct hfs_btree *tree, u32 num)
|
||||
node = hfs_bnode_findhash(tree, num);
|
||||
spin_unlock(&tree->hash_lock);
|
||||
if (node) {
|
||||
printk(KERN_CRIT "new node %u already hashed?\n", num);
|
||||
pr_crit("new node %u already hashed?\n", num);
|
||||
WARN_ON(1);
|
||||
return node;
|
||||
}
|
||||
|
||||
+2
-2
@@ -45,13 +45,13 @@ u16 hfs_brec_keylen(struct hfs_bnode *node, u16 rec)
|
||||
if (!recoff)
|
||||
return 0;
|
||||
if (recoff > node->tree->node_size - 2) {
|
||||
printk(KERN_ERR "hfs: recoff %d too large\n", recoff);
|
||||
pr_err("recoff %d too large\n", recoff);
|
||||
return 0;
|
||||
}
|
||||
|
||||
retval = hfs_bnode_read_u16(node, recoff) + 2;
|
||||
if (retval > node->tree->max_key_len + 2) {
|
||||
printk(KERN_ERR "hfs: keylen %d too large\n",
|
||||
pr_err("keylen %d too large\n",
|
||||
retval);
|
||||
retval = 0;
|
||||
}
|
||||
|
||||
+12
-13
@@ -40,8 +40,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id)
|
||||
tree->inode = inode;
|
||||
|
||||
if (!HFSPLUS_I(tree->inode)->first_blocks) {
|
||||
printk(KERN_ERR
|
||||
"hfs: invalid btree extent records (0 size).\n");
|
||||
pr_err("invalid btree extent records (0 size)\n");
|
||||
goto free_inode;
|
||||
}
|
||||
|
||||
@@ -68,12 +67,12 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id)
|
||||
switch (id) {
|
||||
case HFSPLUS_EXT_CNID:
|
||||
if (tree->max_key_len != HFSPLUS_EXT_KEYLEN - sizeof(u16)) {
|
||||
printk(KERN_ERR "hfs: invalid extent max_key_len %d\n",
|
||||
pr_err("invalid extent max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
goto fail_page;
|
||||
}
|
||||
if (tree->attributes & HFS_TREE_VARIDXKEYS) {
|
||||
printk(KERN_ERR "hfs: invalid extent btree flag\n");
|
||||
pr_err("invalid extent btree flag\n");
|
||||
goto fail_page;
|
||||
}
|
||||
|
||||
@@ -81,12 +80,12 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id)
|
||||
break;
|
||||
case HFSPLUS_CAT_CNID:
|
||||
if (tree->max_key_len != HFSPLUS_CAT_KEYLEN - sizeof(u16)) {
|
||||
printk(KERN_ERR "hfs: invalid catalog max_key_len %d\n",
|
||||
pr_err("invalid catalog max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
goto fail_page;
|
||||
}
|
||||
if (!(tree->attributes & HFS_TREE_VARIDXKEYS)) {
|
||||
printk(KERN_ERR "hfs: invalid catalog btree flag\n");
|
||||
pr_err("invalid catalog btree flag\n");
|
||||
goto fail_page;
|
||||
}
|
||||
|
||||
@@ -100,19 +99,19 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id)
|
||||
break;
|
||||
case HFSPLUS_ATTR_CNID:
|
||||
if (tree->max_key_len != HFSPLUS_ATTR_KEYLEN - sizeof(u16)) {
|
||||
printk(KERN_ERR "hfs: invalid attributes max_key_len %d\n",
|
||||
pr_err("invalid attributes max_key_len %d\n",
|
||||
tree->max_key_len);
|
||||
goto fail_page;
|
||||
}
|
||||
tree->keycmp = hfsplus_attr_bin_cmp_key;
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "hfs: unknown B*Tree requested\n");
|
||||
pr_err("unknown B*Tree requested\n");
|
||||
goto fail_page;
|
||||
}
|
||||
|
||||
if (!(tree->attributes & HFS_TREE_BIGKEYS)) {
|
||||
printk(KERN_ERR "hfs: invalid btree flag\n");
|
||||
pr_err("invalid btree flag\n");
|
||||
goto fail_page;
|
||||
}
|
||||
|
||||
@@ -155,7 +154,7 @@ void hfs_btree_close(struct hfs_btree *tree)
|
||||
while ((node = tree->node_hash[i])) {
|
||||
tree->node_hash[i] = node->next_hash;
|
||||
if (atomic_read(&node->refcnt))
|
||||
printk(KERN_CRIT "hfs: node %d:%d "
|
||||
pr_crit("node %d:%d "
|
||||
"still has %d user(s)!\n",
|
||||
node->tree->cnid, node->this,
|
||||
atomic_read(&node->refcnt));
|
||||
@@ -345,7 +344,7 @@ void hfs_bmap_free(struct hfs_bnode *node)
|
||||
hfs_bnode_put(node);
|
||||
if (!i) {
|
||||
/* panic */;
|
||||
printk(KERN_CRIT "hfs: unable to free bnode %u. "
|
||||
pr_crit("unable to free bnode %u. "
|
||||
"bmap not found!\n",
|
||||
node->this);
|
||||
return;
|
||||
@@ -355,7 +354,7 @@ void hfs_bmap_free(struct hfs_bnode *node)
|
||||
return;
|
||||
if (node->type != HFS_NODE_MAP) {
|
||||
/* panic */;
|
||||
printk(KERN_CRIT "hfs: invalid bmap found! "
|
||||
pr_crit("invalid bmap found! "
|
||||
"(%u,%d)\n",
|
||||
node->this, node->type);
|
||||
hfs_bnode_put(node);
|
||||
@@ -370,7 +369,7 @@ void hfs_bmap_free(struct hfs_bnode *node)
|
||||
m = 1 << (~nidx & 7);
|
||||
byte = data[off];
|
||||
if (!(byte & m)) {
|
||||
printk(KERN_CRIT "hfs: trying to free free bnode "
|
||||
pr_crit("trying to free free bnode "
|
||||
"%u(%d)\n",
|
||||
node->this, node->type);
|
||||
kunmap(page);
|
||||
|
||||
@@ -188,12 +188,12 @@ int hfsplus_find_cat(struct super_block *sb, u32 cnid,
|
||||
|
||||
type = be16_to_cpu(tmp.type);
|
||||
if (type != HFSPLUS_FOLDER_THREAD && type != HFSPLUS_FILE_THREAD) {
|
||||
printk(KERN_ERR "hfs: found bad thread record in catalog\n");
|
||||
pr_err("found bad thread record in catalog\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
if (be16_to_cpu(tmp.thread.nodeName.length) > 255) {
|
||||
printk(KERN_ERR "hfs: catalog name length corrupted\n");
|
||||
pr_err("catalog name length corrupted\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -103,7 +103,7 @@ again:
|
||||
} else if (!dentry->d_fsdata)
|
||||
dentry->d_fsdata = (void *)(unsigned long)cnid;
|
||||
} else {
|
||||
printk(KERN_ERR "hfs: invalid catalog entry type in lookup\n");
|
||||
pr_err("invalid catalog entry type in lookup\n");
|
||||
err = -EIO;
|
||||
goto fail;
|
||||
}
|
||||
@@ -159,12 +159,12 @@ static int hfsplus_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
hfs_bnode_read(fd.bnode, &entry, fd.entryoffset,
|
||||
fd.entrylength);
|
||||
if (be16_to_cpu(entry.type) != HFSPLUS_FOLDER_THREAD) {
|
||||
printk(KERN_ERR "hfs: bad catalog folder thread\n");
|
||||
pr_err("bad catalog folder thread\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
if (fd.entrylength < HFSPLUS_MIN_THREAD_SZ) {
|
||||
printk(KERN_ERR "hfs: truncated catalog thread\n");
|
||||
pr_err("truncated catalog thread\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -183,7 +183,7 @@ static int hfsplus_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
|
||||
for (;;) {
|
||||
if (be32_to_cpu(fd.key->cat.parent) != inode->i_ino) {
|
||||
printk(KERN_ERR "hfs: walked past end of dir\n");
|
||||
pr_err("walked past end of dir\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -203,7 +203,7 @@ static int hfsplus_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
if (type == HFSPLUS_FOLDER) {
|
||||
if (fd.entrylength <
|
||||
sizeof(struct hfsplus_cat_folder)) {
|
||||
printk(KERN_ERR "hfs: small dir entry\n");
|
||||
pr_err("small dir entry\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -216,7 +216,7 @@ static int hfsplus_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
break;
|
||||
} else if (type == HFSPLUS_FILE) {
|
||||
if (fd.entrylength < sizeof(struct hfsplus_cat_file)) {
|
||||
printk(KERN_ERR "hfs: small file entry\n");
|
||||
pr_err("small file entry\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
@@ -224,7 +224,7 @@ static int hfsplus_readdir(struct file *filp, void *dirent, filldir_t filldir)
|
||||
be32_to_cpu(entry.file.id), DT_REG))
|
||||
break;
|
||||
} else {
|
||||
printk(KERN_ERR "hfs: bad catalog entry type\n");
|
||||
pr_err("bad catalog entry type\n");
|
||||
err = -EIO;
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -349,7 +349,7 @@ found:
|
||||
if (count <= block_nr) {
|
||||
err = hfsplus_block_free(sb, start, count);
|
||||
if (err) {
|
||||
printk(KERN_ERR "hfs: can't free extent\n");
|
||||
pr_err("can't free extent\n");
|
||||
hfs_dbg(EXTENT, " start: %u count: %u\n",
|
||||
start, count);
|
||||
}
|
||||
@@ -360,7 +360,7 @@ found:
|
||||
count -= block_nr;
|
||||
err = hfsplus_block_free(sb, start + count, block_nr);
|
||||
if (err) {
|
||||
printk(KERN_ERR "hfs: can't free extent\n");
|
||||
pr_err("can't free extent\n");
|
||||
hfs_dbg(EXTENT, " start: %u count: %u\n",
|
||||
start, count);
|
||||
}
|
||||
@@ -433,7 +433,7 @@ int hfsplus_file_extend(struct inode *inode)
|
||||
if (sbi->alloc_file->i_size * 8 <
|
||||
sbi->total_blocks - sbi->free_blocks + 8) {
|
||||
/* extend alloc file */
|
||||
printk(KERN_ERR "hfs: extend alloc file! "
|
||||
pr_err("extend alloc file! "
|
||||
"(%llu,%u,%u)\n",
|
||||
sbi->alloc_file->i_size * 8,
|
||||
sbi->total_blocks, sbi->free_blocks);
|
||||
|
||||
+14
-8
@@ -10,6 +10,12 @@
|
||||
#ifndef _LINUX_HFSPLUS_FS_H
|
||||
#define _LINUX_HFSPLUS_FS_H
|
||||
|
||||
#ifdef pr_fmt
|
||||
#undef pr_fmt
|
||||
#endif
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/buffer_head.h>
|
||||
@@ -32,16 +38,16 @@
|
||||
#endif
|
||||
#define DBG_MASK (0)
|
||||
|
||||
#define hfs_dbg(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
|
||||
#define hfs_dbg(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
#define hfs_dbg_cont(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
printk(KERN_CONT fmt, ##__VA_ARGS__); \
|
||||
#define hfs_dbg_cont(flg, fmt, ...) \
|
||||
do { \
|
||||
if (DBG_##flg & DBG_MASK) \
|
||||
pr_cont(fmt, ##__VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
/* Runtime config options */
|
||||
|
||||
+2
-2
@@ -357,7 +357,7 @@ int hfsplus_file_fsync(struct file *file, loff_t start, loff_t end,
|
||||
if (!error)
|
||||
error = error2;
|
||||
} else {
|
||||
printk(KERN_ERR "hfs: sync non-existent attributes tree\n");
|
||||
pr_err("sync non-existent attributes tree\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -573,7 +573,7 @@ int hfsplus_cat_read_inode(struct inode *inode, struct hfs_find_data *fd)
|
||||
inode->i_ctime = hfsp_mt2ut(file->attribute_mod_date);
|
||||
HFSPLUS_I(inode)->create_date = file->create_date;
|
||||
} else {
|
||||
printk(KERN_ERR "hfs: bad catalog entry used to create inode\n");
|
||||
pr_err("bad catalog entry used to create inode\n");
|
||||
res = -EIO;
|
||||
}
|
||||
return res;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user