readdir.c (1ed7d32763857fbdc8e406352404538e41050d22) readdir.c (61b674710cd9afa2a8b17bdd1ac80670c9b79f1d)
1/*
2 *
3 * Copyright (C) 2011 Novell Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 */

--- 689 unchanged lines hidden (view full) ---

698 if (p->len == 2 && p->name[1] == '.')
699 continue;
700 }
701 index = lookup_one_len(p->name, dentry, p->len);
702 if (IS_ERR(index)) {
703 err = PTR_ERR(index);
704 break;
705 }
1/*
2 *
3 * Copyright (C) 2011 Novell Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 */

--- 689 unchanged lines hidden (view full) ---

698 if (p->len == 2 && p->name[1] == '.')
699 continue;
700 }
701 index = lookup_one_len(p->name, dentry, p->len);
702 if (IS_ERR(index)) {
703 err = PTR_ERR(index);
704 break;
705 }
706 if (ovl_verify_index(index, lowerstack, numlower)) {
706 err = ovl_verify_index(index, lowerstack, numlower);
707 if (err) {
708 if (err == -EROFS)
709 break;
707 err = ovl_cleanup(dir, index);
708 if (err)
709 break;
710 }
711 dput(index);
712 }
713 inode_unlock(dir);
714out:
715 ovl_cache_free(&list);
716 if (err)
717 pr_err("overlayfs: failed index dir cleanup (%i)\n", err);
718 return err;
719}
710 err = ovl_cleanup(dir, index);
711 if (err)
712 break;
713 }
714 dput(index);
715 }
716 inode_unlock(dir);
717out:
718 ovl_cache_free(&list);
719 if (err)
720 pr_err("overlayfs: failed index dir cleanup (%i)\n", err);
721 return err;
722}