aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ocfs2/dir.c')
-rw-r--r--fs/ocfs2/dir.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c
index dbfa6f66291a..a75c340fc689 100644
--- a/fs/ocfs2/dir.c
+++ b/fs/ocfs2/dir.c
@@ -81,10 +81,10 @@ static int ocfs2_do_extend_dir(struct super_block *sb,
81 struct ocfs2_alloc_context *meta_ac, 81 struct ocfs2_alloc_context *meta_ac,
82 struct buffer_head **new_bh); 82 struct buffer_head **new_bh);
83 83
84int ocfs2_check_dir_entry(struct inode * dir, 84static int ocfs2_check_dir_entry(struct inode * dir,
85 struct ocfs2_dir_entry * de, 85 struct ocfs2_dir_entry * de,
86 struct buffer_head * bh, 86 struct buffer_head * bh,
87 unsigned long offset) 87 unsigned long offset)
88{ 88{
89 const char *error_msg = NULL; 89 const char *error_msg = NULL;
90 const int rlen = le16_to_cpu(de->rec_len); 90 const int rlen = le16_to_cpu(de->rec_len);
@@ -532,6 +532,26 @@ out:
532} 532}
533 533
534/* 534/*
535 * This is intended to be called from inside other kernel functions,
536 * so we fake some arguments.
537 */
538int ocfs2_dir_foreach(struct inode *inode, loff_t *f_pos, void *priv,
539 filldir_t filldir)
540{
541 int ret = 0;
542 unsigned long version = inode->i_version;
543
544 while (*f_pos < i_size_read(inode)) {
545 ret = ocfs2_dir_foreach_blk(inode, &version, f_pos, priv,
546 filldir);
547 if (ret)
548 break;
549 }
550
551 return 0;
552}
553
554/*
535 * ocfs2_readdir() 555 * ocfs2_readdir()
536 * 556 *
537 */ 557 */