aboutsummaryrefslogtreecommitdiffstats
path: root/fs/logfs/logfs.h
diff options
context:
space:
mode:
authorJoern Engel <joern@logfs.org>2010-05-03 14:54:34 -0400
committerJoern Engel <joern@logfs.org>2010-05-04 13:37:04 -0400
commit20503664b008e17976bff1fdbc693c77ebd6f6c9 (patch)
tree7cff886995e42d0b90dd3ebe86993f0277e9345c /fs/logfs/logfs.h
parentccc0197b02178f7e1707e659cbc5242fc94b499a (diff)
logfs: survive logfs_buf_recover read errors
Refusing to mount beats a kernel crash. Signed-off-by: Joern Engel <joern@logfs.org>
Diffstat (limited to 'fs/logfs/logfs.h')
-rw-r--r--fs/logfs/logfs.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/logfs/logfs.h b/fs/logfs/logfs.h
index 0a3df1a0c936..32bf55616e56 100644
--- a/fs/logfs/logfs.h
+++ b/fs/logfs/logfs.h
@@ -598,19 +598,19 @@ void freeseg(struct super_block *sb, u32 segno);
598int logfs_init_areas(struct super_block *sb); 598int logfs_init_areas(struct super_block *sb);
599void logfs_cleanup_areas(struct super_block *sb); 599void logfs_cleanup_areas(struct super_block *sb);
600int logfs_open_area(struct logfs_area *area, size_t bytes); 600int logfs_open_area(struct logfs_area *area, size_t bytes);
601void __logfs_buf_write(struct logfs_area *area, u64 ofs, void *buf, size_t len, 601int __logfs_buf_write(struct logfs_area *area, u64 ofs, void *buf, size_t len,
602 int use_filler); 602 int use_filler);
603 603
604static inline void logfs_buf_write(struct logfs_area *area, u64 ofs, 604static inline int logfs_buf_write(struct logfs_area *area, u64 ofs,
605 void *buf, size_t len) 605 void *buf, size_t len)
606{ 606{
607 __logfs_buf_write(area, ofs, buf, len, 0); 607 return __logfs_buf_write(area, ofs, buf, len, 0);
608} 608}
609 609
610static inline void logfs_buf_recover(struct logfs_area *area, u64 ofs, 610static inline int logfs_buf_recover(struct logfs_area *area, u64 ofs,
611 void *buf, size_t len) 611 void *buf, size_t len)
612{ 612{
613 __logfs_buf_write(area, ofs, buf, len, 1); 613 return __logfs_buf_write(area, ofs, buf, len, 1);
614} 614}
615 615
616/* super.c */ 616/* super.c */