From 7e273e3b41e32716dc122b293b5f15635af495ff Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Mon, 10 Oct 2011 01:08:02 -0700 Subject: udf: Promote some debugging messages to udf_error If there is a problem with a scratched disc or loader, it's valuable to know which error occurred. Convert some debug messages to udf_error, neaten those messages too. Add the calculated tag checksum and the read checksum to error message. Make udf_error a public function and move the logging prototypes together. Original-patch-by: NamJae Jeon Reviewed-by: NamJae Jeon Signed-off-by: Joe Perches Signed-off-by: Jan Kara --- fs/udf/udfdecl.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'fs/udf/udfdecl.h') diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index dbd52d4b5eed..81e66afecd42 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h @@ -29,6 +29,13 @@ do { \ #define udf_debug(f, a...) /**/ #endif +__attribute__((format(printf, 3, 4))) +extern void udf_warning(struct super_block *, const char *, const char *, ...); + +__attribute__((format(printf, 3, 4))) +extern void udf_error(struct super_block *sb, const char *function, + const char *fmt, ...); + #define udf_info(f, a...) \ printk(KERN_INFO "UDF-fs INFO " f, ##a); @@ -112,8 +119,6 @@ struct extent_position { /* super.c */ -__attribute__((format(printf, 3, 4))) -extern void udf_warning(struct super_block *, const char *, const char *, ...); static inline void udf_updated_lvid(struct super_block *sb) { struct buffer_head *bh = UDF_SB(sb)->s_lvid_bh; -- cgit From 8076c363da15e7c35a4094974d1b4bcc196b5fa9 Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Mon, 10 Oct 2011 01:08:03 -0700 Subject: udf: Rename udf_error to udf_err Rename udf_error to udf_err for consistency with normal logging uses of pr_err. Rename function udf_err to _udf_err. Remove __func__ from uses and move __func__ to a new udf_err macro that calls _udf_err. Some of the udf_error uses had \n terminations, some did not so standardize \n's to udf_err uses, remove \n from _udf_err function. Coalesce udf_err formats. One message prefixed with udf_read_super is now prefixed with udf_fill_super. Reviewed-by: NamJae Jeon Signed-off-by: Joe Perches Signed-off-by: Jan Kara --- fs/udf/udfdecl.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'fs/udf/udfdecl.h') diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index 81e66afecd42..7bc3ba1415fc 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h @@ -33,13 +33,14 @@ __attribute__((format(printf, 3, 4))) extern void udf_warning(struct super_block *, const char *, const char *, ...); __attribute__((format(printf, 3, 4))) -extern void udf_error(struct super_block *sb, const char *function, - const char *fmt, ...); +extern void _udf_err(struct super_block *sb, const char *function, + const char *fmt, ...); +#define udf_err(sb, fmt, ...) \ + _udf_err(sb, __func__, fmt, ##__VA_ARGS__) #define udf_info(f, a...) \ printk(KERN_INFO "UDF-fs INFO " f, ##a); - #define udf_fixed_to_variable(x) ( ( ( (x) >> 5 ) * 39 ) + ( (x) & 0x0000001F ) ) #define udf_variable_to_fixed(x) ( ( ( (x) / 39 ) << 5 ) + ( (x) % 39 ) ) -- cgit From a40ecd7b3ccf520ff02da93e8d1ba6cd55c2e359 Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Mon, 10 Oct 2011 01:08:04 -0700 Subject: udf: Rename udf_warning to udf_warn Rename udf_warning to udf_warn for consistency with normal logging uses of pr_warn. Rename function udf_warning to _udf_warn. Remove __func__ from uses and move __func__ to a new udf_warn macro that calls _udf_warn. Add \n's to uses of udf_warn, remove \n from _udf_warn. Coalesce formats. Reviewed-by: NamJae Jeon Signed-off-by: Joe Perches Signed-off-by: Jan Kara --- fs/udf/udfdecl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'fs/udf/udfdecl.h') diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index 7bc3ba1415fc..85e15edc080f 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h @@ -30,7 +30,10 @@ do { \ #endif __attribute__((format(printf, 3, 4))) -extern void udf_warning(struct super_block *, const char *, const char *, ...); +extern void _udf_warn(struct super_block *sb, const char *function, + const char *fmt, ...); +#define udf_warn(sb, fmt, ...) \ + _udf_warn(sb, __func__, fmt, ##__VA_ARGS__) __attribute__((format(printf, 3, 4))) extern void _udf_err(struct super_block *sb, const char *function, -- cgit From 78ace70c4186c0d18314eb001637aa97d1585e65 Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Mon, 10 Oct 2011 01:08:05 -0700 Subject: udf: Convert printks to pr_ Use the current logging styles. Convert a few printks that should have been udf_warn and udf_err. Coalesce formats. Add #define pr_fmt. Move an #include "udfdecls.h" above other includes in udftime.c so pr_fmt works correctly. Strip prefixes from conversions as appropriate. Reorder logging definitions in udfdecl.h Signed-off-by: Joe Perches Signed-off-by: Jan Kara --- fs/udf/udfdecl.h | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'fs/udf/udfdecl.h') diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index 85e15edc080f..f3d449867301 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h @@ -1,6 +1,8 @@ #ifndef __UDF_DECL_H #define __UDF_DECL_H +#define pr_fmt(fmt) "UDF-fs: " fmt + #include "ecma_167.h" #include "osta_udf.h" @@ -16,18 +18,11 @@ #define UDF_PREALLOCATE #define UDF_DEFAULT_PREALLOC_BLOCKS 8 -#undef UDFFS_DEBUG - -#ifdef UDFFS_DEBUG -#define udf_debug(f, a...) \ -do { \ - printk(KERN_DEBUG "UDF-fs DEBUG %s:%d:%s: ", \ - __FILE__, __LINE__, __func__); \ - printk(f, ##a); \ -} while (0) -#else -#define udf_debug(f, a...) /**/ -#endif +__attribute__((format(printf, 3, 4))) +extern void _udf_err(struct super_block *sb, const char *function, + const char *fmt, ...); +#define udf_err(sb, fmt, ...) \ + _udf_err(sb, __func__, fmt, ##__VA_ARGS__) __attribute__((format(printf, 3, 4))) extern void _udf_warn(struct super_block *sb, const char *function, @@ -35,14 +30,19 @@ extern void _udf_warn(struct super_block *sb, const char *function, #define udf_warn(sb, fmt, ...) \ _udf_warn(sb, __func__, fmt, ##__VA_ARGS__) -__attribute__((format(printf, 3, 4))) -extern void _udf_err(struct super_block *sb, const char *function, - const char *fmt, ...); -#define udf_err(sb, fmt, ...) \ - _udf_err(sb, __func__, fmt, ##__VA_ARGS__) +#define udf_info(fmt, ...) \ + pr_info("INFO " fmt, ##__VA_ARGS__) -#define udf_info(f, a...) \ - printk(KERN_INFO "UDF-fs INFO " f, ##a); +#undef UDFFS_DEBUG + +#ifdef UDFFS_DEBUG +#define udf_debug(fmt, ...) \ + printk(KERN_DEBUG pr_fmt("%s:%d:%s: " fmt), \ + __FILE__, __LINE__, __func__, ##__VA_ARGS__) +#else +#define udf_debug(fmt, ...) \ + no_printk(fmt, ##__VA_ARGS__) +#endif #define udf_fixed_to_variable(x) ( ( ( (x) >> 5 ) * 39 ) + ( (x) & 0x0000001F ) ) #define udf_variable_to_fixed(x) ( ( ( (x) / 39 ) << 5 ) + ( (x) % 39 ) ) -- cgit From 3080a74ea39eece6ac21aae768c48ab8b1f89ac1 Mon Sep 17 00:00:00 2001 From: Namjae Jeon Date: Sun, 23 Oct 2011 19:28:32 +0900 Subject: udf: Skip mirror metadata FE loading when metadata FE is ok It is not necessary to load mirror metadata FE when metadata FE is OK. So try to read it only the first time udf_get_pblock_meta25() fails to map the block from metadata FE. Signed-off-by: Ashish Sangwan Signed-off-by: Namjae Jeon Signed-off-by: Jan Kara --- fs/udf/udfdecl.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'fs/udf/udfdecl.h') diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index f3d449867301..79aae3fe7b55 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h @@ -135,6 +135,8 @@ static inline void udf_updated_lvid(struct super_block *sb) UDF_SB(sb)->s_lvid_dirty = 1; } extern u64 lvid_get_unique_id(struct super_block *sb); +struct inode *udf_find_metadata_inode_efe(struct super_block *sb, + u32 meta_file_loc, u32 partition_num); /* namei.c */ extern int udf_write_fi(struct inode *inode, struct fileIdentDesc *, -- cgit