]> git.pld-linux.org Git - packages/kernel.git/blob - kernel-small_fixes.patch
- fix oops on mount with quota when mount takes long time
[packages/kernel.git] / kernel-small_fixes.patch
1 --- linux-2.6.32/drivers/infiniband/Kconfig~    2009-12-05 00:26:03.663774916 +0100
2 +++ linux-2.6.32/drivers/infiniband/Kconfig     2009-12-05 00:26:05.914179759 +0100
3 @@ -37,7 +37,6 @@
4  config INFINIBAND_ADDR_TRANS
5         bool
6         depends on INET
7 -       depends on !(INFINIBAND = y && IPV6 = m)
8         default y
9  
10  source "drivers/infiniband/hw/mthca/Kconfig"
11 --- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100
12 +++ linux-2.6.33/scripts/mod/modpost.c  2010-03-07 14:26:47.242168558 +0100
13 @@ -15,7 +15,8 @@
14  #include <stdio.h>
15  #include <ctype.h>
16  #include "modpost.h"
17 -#include "../../include/generated/autoconf.h"
18 +// PLD architectures don't use CONFIG_SYMBOL_PREFIX
19 +//#include "../../include/generated/autoconf.h"
20  #include "../../include/linux/license.h"
21  
22  /* Some toolchains use a `_' prefix for all user symbols. */
23
24 commit 87b09f1f25cd1e01d7c50bf423c7fe33027d7511
25 Author: stephen hemminger <shemminger@vyatta.com>
26 Date:   Fri Feb 12 06:58:00 2010 +0000
27
28     sky2: dont enable PME legacy mode
29     
30     This bit is not changed by vendor driver, and should be left alone.
31     The documentation implies this a debug bit.
32       0 = WAKE# only asserted when VMAIN not available
33       1 = WAKE# is depend on wake events and independent of VMAIN.
34     
35     Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
36     Signed-off-by: David S. Miller <davem@davemloft.net>
37
38 diff --git b/drivers/net/sky2.c a/drivers/net/sky2.c
39 index 2494842..edf37aa 100644
40 --- b/drivers/net/sky2.c
41 +++ a/drivers/net/sky2.c
42 @@ -733,6 +733,7 @@ static void sky2_wol_init(struct sky2_port *sky2)
43         unsigned port = sky2->port;
44         enum flow_control save_mode;
45         u16 ctrl;
46 +       u32 reg1;
47  
48         /* Bring hardware out of reset */
49         sky2_write16(hw, B0_CTST, CS_RST_CLR);
50 @@ -786,6 +787,11 @@ static void sky2_wol_init(struct sky2_port *sky2)
51         /* Disable PiG firmware */
52         sky2_write16(hw, B0_CTST, Y2_HW_WOL_OFF);
53  
54 +       /* Turn on legacy PCI-Express PME mode */
55 +       reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
56 +       reg1 |= PCI_Y2_PME_LEGACY;
57 +       sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
58 +
59         /* block receiver */
60         sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET);
61  }
62 Date: Mon, 11 Jul 2011 09:59:57 -0400
63 From: Christoph Hellwig <hch@infradead.org>
64 To: xfs@oss.sgi.com
65 Cc: arekm@maven.pl
66 Subject: [PATCH] xfs: start periodic workers later
67 Message-ID: <20110711135957.GA23737@infradead.org>
68 MIME-Version: 1.0
69 Content-Type: text/plain;
70   charset=us-ascii
71 Content-Disposition: inline
72 User-Agent: Mutt/1.5.21 (2010-09-15)
73
74 Start the periodic sync workers only after we have finished xfs_mountfs
75 and thus fully set up the filesystem structures.  Without this we can
76 call into xfs_qm_sync before the quotainfo strucute is set up if the
77 mount takes unusually long, and probably hit other incomplete states
78 as well.
79
80 Also clean up the xfs_fs_fill_super error path by using consistent
81 label names, and removing an impossible to reach case.
82
83 Reported-by: Arkadiusz Miskiewicz <arekm@maven.pl>
84 Signed-off-by: Christoph Hellwig <hch@lst.de>
85
86 Index: xfs/fs/xfs/linux-2.6/xfs_super.c
87 ===================================================================
88 --- xfs.orig/fs/xfs/linux-2.6/xfs_super.c       2011-07-11 12:02:56.762758869 +0200
89 +++ xfs/fs/xfs/linux-2.6/xfs_super.c    2011-07-11 12:09:20.817344934 +0200
90 @@ -1411,37 +1411,35 @@ xfs_fs_fill_super(
91         sb->s_time_gran = 1;
92         set_posix_acl_flag(sb);
93  
94 -       error = xfs_syncd_init(mp);
95 -       if (error)
96 -               goto out_filestream_unmount;
97 -
98         xfs_inode_shrinker_register(mp);
99  
100         error = xfs_mountfs(mp);
101         if (error)
102 -               goto out_syncd_stop;
103 +               goto out_filestream_unmount;
104 +
105 +       error = xfs_syncd_init(mp);
106 +       if (error)
107 +               goto out_unmount;
108  
109         root = igrab(VFS_I(mp->m_rootip));
110         if (!root) {
111                 error = ENOENT;
112 -               goto fail_unmount;
113 +               goto out_syncd_stop;
114         }
115         if (is_bad_inode(root)) {
116                 error = EINVAL;
117 -               goto fail_vnrele;
118 +               goto out_syncd_stop;
119         }
120         sb->s_root = d_alloc_root(root);
121         if (!sb->s_root) {
122                 error = ENOMEM;
123 -               goto fail_vnrele;
124 +               goto out_iput;
125         }
126  
127         return 0;
128  
129 - out_syncd_stop:
130 -       xfs_inode_shrinker_unregister(mp);
131 -       xfs_syncd_stop(mp);
132   out_filestream_unmount:
133 +       xfs_inode_shrinker_unregister(mp);
134         xfs_filestream_unmount(mp);
135   out_free_sb:
136         xfs_freesb(mp);
137 @@ -1455,17 +1453,12 @@ xfs_fs_fill_super(
138   out:
139         return -error;
140  
141 - fail_vnrele:
142 -       if (sb->s_root) {
143 -               dput(sb->s_root);
144 -               sb->s_root = NULL;
145 -       } else {
146 -               iput(root);
147 -       }
148 -
149 - fail_unmount:
150 -       xfs_inode_shrinker_unregister(mp);
151 + out_iput:
152 +       iput(root);
153 + out_syncd_stop:
154         xfs_syncd_stop(mp);
155 + out_unmount:
156 +       xfs_inode_shrinker_unregister(mp);
157  
158         /*
159          * Blow away any referenced inode in the filestreams cache.
160
This page took 0.466237 seconds and 4 git commands to generate.