218-mini_fo_dentry_check.patch 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --- a/fs/mini_fo/meta.c
  2. +++ b/fs/mini_fo/meta.c
  3. @@ -48,6 +48,9 @@ int meta_build_lists(dentry_t *dentry)
  4. dtohd2(dentry),
  5. strlen(META_FILENAME));
  6. mutex_unlock(&dtohd2(dentry)->d_inode->i_mutex);
  7. + if (IS_ERR(meta_dentry))
  8. + goto out_ok;
  9. +
  10. if(!meta_dentry->d_inode) {
  11. dput(meta_dentry);
  12. goto out_ok;
  13. @@ -433,6 +436,8 @@ int meta_write_d_entry(dentry_t *dentry,
  14. meta_dentry = lookup_one_len(META_FILENAME,
  15. dtohd2(dentry), strlen (META_FILENAME));
  16. mutex_unlock(&dtohd2(dentry)->d_inode->i_mutex);
  17. + if (IS_ERR(meta_dentry))
  18. + return PTR_ERR(meta_dentry);
  19. /* We need to create a META-file */
  20. if(!meta_dentry->d_inode) {
  21. @@ -538,6 +543,8 @@ int meta_write_r_entry(dentry_t *dentry,
  22. dtohd2(dentry),
  23. strlen (META_FILENAME));
  24. mutex_unlock(&dtohd2(dentry)->d_inode->i_mutex);
  25. + if (IS_ERR(meta_dentry))
  26. + return PTR_ERR(meta_dentry);
  27. if(!meta_dentry->d_inode) {
  28. /* We need to create a META-file */
  29. @@ -656,6 +663,8 @@ int meta_sync_d_list(dentry_t *dentry, i
  30. dtohd2(dentry),
  31. strlen(META_FILENAME));
  32. mutex_unlock(&dtohd2(dentry)->d_inode->i_mutex);
  33. + if (IS_ERR(meta_dentry))
  34. + return PTR_ERR(meta_dentry);
  35. if(!meta_dentry->d_inode) {
  36. /* We need to create a META-file */
  37. @@ -803,6 +812,8 @@ int meta_sync_r_list(dentry_t *dentry, i
  38. dtohd2(dentry),
  39. strlen(META_FILENAME));
  40. mutex_unlock(&dtohd2(dentry)->d_inode->i_mutex);
  41. + if (IS_ERR(meta_dentry))
  42. + return PTR_ERR(meta_dentry);
  43. if(!meta_dentry->d_inode) {
  44. /* We need to create a META-file */