ocfs2: use actual name length when find entry in ocfs2_orphan_del()
authorJoseph Qi <joseph.qi@huawei.com>
Tue, 14 Apr 2015 22:43:22 +0000 (15:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2015 23:48:58 +0000 (16:48 -0700)
If the namelen is 20 and name only has actual length 16, it will fail in
ocfs2_find_entry because of mismatch.  So use actual name length when find
entry.

Signed-off-by: Joseph Qi <joseph.qi@huawei.com>
Signed-off-by: Yiwen Jiang <jiangyiwen@huawei.com>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ocfs2/namei.c

index b5c3a5e..4983740 100644 (file)
@@ -2322,10 +2322,10 @@ int ocfs2_orphan_del(struct ocfs2_super *osb,
 
        trace_ocfs2_orphan_del(
             (unsigned long long)OCFS2_I(orphan_dir_inode)->ip_blkno,
-            name, namelen);
+            name, strlen(name));
 
        /* find it's spot in the orphan directory */
-       status = ocfs2_find_entry(name, namelen, orphan_dir_inode,
+       status = ocfs2_find_entry(name, strlen(name), orphan_dir_inode,
                                  &lookup);
        if (status) {
                mlog_errno(status);