Want more features on Pastebin? Sign Up, it's FREE!
Guest

2.6.37_plus_v16_zcache_linux-next_fixes.patch

By: a guest on Feb 19th, 2011  |  syntax: None  |  size: 2.92 KB  |  views: 165  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. diff -Nrupad linux-2.6.37_plus_v16_clean//drivers/staging/zcache/zcache.c linux-2.6.37_plus_v16_fix//drivers/staging/zcache/zcache.c
  2. --- linux-2.6.37_plus_v16_clean//drivers/staging/zcache/zcache.c        2011-02-20 02:43:47.398811587 +0100
  3. +++ linux-2.6.37_plus_v16_fix//drivers/staging/zcache/zcache.c  2011-02-20 02:16:11.780812923 +0100
  4. @@ -1591,9 +1591,9 @@ __setup("nofrontswap", no_frontswap);
  5.  
  6.  static int __init zcache_init(void)
  7.  {
  8. +#ifdef CONFIG_SYSFS
  9.         int ret = 0;
  10.  
  11. -#ifdef CONFIG_SYSFS
  12.         ret = sysfs_create_group(mm_kobj, &zcache_attr_group);
  13.         if (ret) {
  14.                 pr_err("zcache: can't create sysfs\n");
  15. diff -Nrupad linux-2.6.37_plus_v16_clean//fs/super.c linux-2.6.37_plus_v16_fix//fs/super.c
  16. --- linux-2.6.37_plus_v16_clean//fs/super.c     2011-02-20 02:43:47.544811587 +0100
  17. +++ linux-2.6.37_plus_v16_fix//fs/super.c       2011-02-20 02:16:55.200812888 +0100
  18. @@ -177,8 +177,8 @@ void deactivate_locked_super(struct supe
  19.  {
  20.         struct file_system_type *fs = s->s_type;
  21.         if (atomic_dec_and_test(&s->s_active)) {
  22. -               fs->kill_sb(s);
  23.                 cleancache_flush_fs(s);
  24. +               fs->kill_sb(s);
  25.                 put_filesystem(fs);
  26.                 put_super(s);
  27.         } else {
  28. diff -Nrupad linux-2.6.37_plus_v16_clean//mm/cleancache.c linux-2.6.37_plus_v16_fix//mm/cleancache.c
  29. --- linux-2.6.37_plus_v16_clean//mm/cleancache.c        2011-02-20 02:43:47.595811587 +0100
  30. +++ linux-2.6.37_plus_v16_fix//mm/cleancache.c  2011-02-20 02:17:24.430812865 +0100
  31. @@ -73,25 +73,27 @@ EXPORT_SYMBOL(__cleancache_init_shared_f
  32.   * the key, else use the inode number.
  33.   */
  34.  static int cleancache_get_key(struct inode *inode,
  35. -                             struct cleancache_filekey *key)
  36. +                             struct cleancache_filekey *key)
  37.  {
  38. -       int (*fhfn)(struct dentry *, __u32 *fh, int *, int);
  39. -       int maxlen = CLEANCACHE_KEY_MAX;
  40. -       struct super_block *sb = inode->i_sb;
  41. -       struct dentry *d;
  42. +       int (*fhfn)(struct dentry *, __u32 *fh, int *, int);
  43. +       int len = 0, maxlen = CLEANCACHE_KEY_MAX;
  44. +       struct super_block *sb = inode->i_sb;
  45. +       struct dentry *d;
  46.  
  47. -       key->u.ino = inode->i_ino;
  48. -       if (sb->s_export_op != NULL) {
  49. -               fhfn = sb->s_export_op->encode_fh;
  50. -               if  (fhfn) {
  51. -                       d = list_first_entry(&inode->i_dentry,
  52. -                                               struct dentry, d_alias);
  53. -                       (void)(*fhfn)(d, &key->u.fh[0], &maxlen, 0);
  54. -                       if (maxlen > CLEANCACHE_KEY_MAX)
  55. -                               return -1;
  56. -               }
  57. -       }
  58. -       return 0;
  59. +       key->u.ino = inode->i_ino;
  60. +       if (sb->s_export_op != NULL) {
  61. +               fhfn = sb->s_export_op->encode_fh;
  62. +               if  (fhfn) {
  63. +                       d = list_first_entry(&inode->i_dentry,
  64. +                                               struct dentry, d_alias);
  65. +                       len = (*fhfn)(d, &key->u.fh[0], &maxlen, 0);
  66. +                       if (len <= 0 || len == 255)
  67. +                               return -1;
  68. +                       if (maxlen > CLEANCACHE_KEY_MAX)
  69. +                               return -1;
  70. +               }
  71. +       }
  72. +       return 0;
  73.  }
  74.  
  75.  /*
clone this paste RAW Paste Data