<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flib</title>
	<atom:link href="http://blog.flib.me/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.flib.me</link>
	<description>flex&#039;s library</description>
	<lastBuildDate>Thu, 15 Dec 2011 11:05:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>LSI MegaSAS RAID 驱动 BUG</title>
		<link>http://blog.flib.me/2011/03/19/lsi-megasas-raid-%e9%a9%b1%e5%8a%a8-bug/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lsi-megasas-raid-%25e9%25a9%25b1%25e5%258a%25a8-bug</link>
		<comments>http://blog.flib.me/2011/03/19/lsi-megasas-raid-%e9%a9%b1%e5%8a%a8-bug/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 09:23:32 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[运维]]></category>
		<category><![CDATA[lsi]]></category>
		<category><![CDATA[megacli]]></category>
		<category><![CDATA[megaraid_sas]]></category>
		<category><![CDATA[raid]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38254</guid>
		<description><![CDATA[表现为使用MegaCli工具在线创建或者移除VD时不更新linux的设备文件，只有重启后才能更新。 已知在内核驱动/drivers/scsi/megaraid/megaraid_sas.c的00.00.04.17.1-rc1版本修复。 另外，DELL、IBM等某些服务器上，不使用RAID卡会出现硬盘的slot编号和linux的设备文件顺序不一致的情况，据说创建单盘RAID0能够解决。]]></description>
			<content:encoded><![CDATA[<p>表现为使用MegaCli工具在线创建或者移除VD时不更新linux的设备文件，只有重启后才能更新。</p>
<p>已知在内核驱动/drivers/scsi/megaraid/megaraid_sas.c的00.00.04.17.1-rc1版本修复。</p>
<p>另外，DELL、IBM等某些服务器上，不使用RAID卡会出现硬盘的slot编号和linux的设备文件顺序不一致的情况，据说创建单盘RAID0能够解决。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2011/03/19/lsi-megasas-raid-%e9%a9%b1%e5%8a%a8-bug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>关于moosefs的changelog</title>
		<link>http://blog.flib.me/2010/11/25/%e5%85%b3%e4%ba%8emoosefs%e7%9a%84changelog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e5%2585%25b3%25e4%25ba%258emoosefs%25e7%259a%2584changelog</link>
		<comments>http://blog.flib.me/2010/11/25/%e5%85%b3%e4%ba%8emoosefs%e7%9a%84changelog/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 04:12:00 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[moosefs]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[metalogger]]></category>
		<category><![CDATA[mfs]]></category>
		<category><![CDATA[mfsmetarestore]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38248</guid>
		<description><![CDATA[如果metalogger和master的连接中断过，那么moosefs metalogger的changelog可能会丢失部分log，导致使用mfsmetarestore的时候失败。所以mfs迁移master不推荐使用metalogger进行restore。可以考虑rsync或者共享存储，如drbd。]]></description>
			<content:encoded><![CDATA[<p>如果metalogger和master的连接中断过，那么moosefs metalogger的changelog可能会丢失部分log，导致使用mfsmetarestore的时候失败。所以mfs迁移master不推荐使用metalogger进行restore。可以考虑rsync或者共享存储，如drbd。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/11/25/%e5%85%b3%e4%ba%8emoosefs%e7%9a%84changelog/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>puppet的generate函数</title>
		<link>http://blog.flib.me/2010/07/08/puppet%e7%9a%84generate%e5%87%bd%e6%95%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=puppet%25e7%259a%2584generate%25e5%2587%25bd%25e6%2595%25b0</link>
		<comments>http://blog.flib.me/2010/07/08/puppet%e7%9a%84generate%e5%87%bd%e6%95%b0/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 11:30:10 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[puppet]]></category>
		<category><![CDATA[运维]]></category>
		<category><![CDATA[generate]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38235</guid>
		<description><![CDATA[这个函数不能直接执行shell脚本，需要/usr/bin/env等做为第一个参数，如： $hostalias = generate("/usr/bin/env", "/tmp/genhname.sh", "172.16.0.133") 其次，这个函数的执行的是master上的脚本，它仅仅是将client上的变量拿回来，在本地执行；也就是说/tmp/genhname.sh要位于master的相应路径上，且有执行权限，不需要将脚本文件分发到client。]]></description>
			<content:encoded><![CDATA[<p>这个函数不能直接执行shell脚本，需要/usr/bin/env等做为第一个参数，如：</p>
<pre>$hostalias = generate("/usr/bin/env", "/tmp/genhname.sh", "172.16.0.133")</pre>
<p>其次，这个函数的执行的是<strong>master上的脚本</strong>，它仅仅是将client上的变量拿回来，在本地执行；也就是说/tmp/genhname.sh要位于master的相应路径上，且有执行权限，不需要将脚本文件分发到client。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/07/08/puppet%e7%9a%84generate%e5%87%bd%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>puppet dashboard的安装</title>
		<link>http://blog.flib.me/2010/07/07/puppet-dashboard%e7%9a%84%e5%ae%89%e8%a3%85/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=puppet-dashboard%25e7%259a%2584%25e5%25ae%2589%25e8%25a3%2585</link>
		<comments>http://blog.flib.me/2010/07/07/puppet-dashboard%e7%9a%84%e5%ae%89%e8%a3%85/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 02:51:32 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[puppet]]></category>
		<category><![CDATA[运维]]></category>
		<category><![CDATA[dashboard]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38206</guid>
		<description><![CDATA[以下过程基于debian: 系统要求： ruby &#62;= 1.8.1 rake &#62;= 0.8.3 （在lenny里版本不够，需要squeeze，不过我觉得使用gem应该也能装） mysql ruby mysql bindings（我个人觉得对应的包为libmysql-ruby，不过网上的另一个deb包依赖的是dbconfig-common libdbd-mysql-ruby） 安装过程： 1. 获得最新源码： git clone git://github.com/reductivelabs/puppet-dashboard.git 2. 设置数据库： cd puppet_dashboard/config cp database.yml.example database.yml 编辑database.yml，在development域中加入数据库用户名、密码，然后进行数据库初始化（确保mysql服务已经启动）： rake install （中间可能需要运行rake gem:install） 3.设置puppetmaster： 部署lib文件：（在puppet 2.6版本中不再需要） cp puppet_dashboard/lib/puppet/puppet_dashboard.rb /usr/lib/ruby/1.8/puppet/reports/ 这点和readme中描述不符，不过作者的方法怎么实验都不成功。:( 然后在/etc/puppet/puppet.conf的puppetmasterd域中加入： &#8230; <a href="http://blog.flib.me/2010/07/07/puppet-dashboard%e7%9a%84%e5%ae%89%e8%a3%85/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>以下过程基于debian:</p>
<p><strong>系统要求：</strong><br />
ruby &gt;= 1.8.1<br />
rake &gt;= 0.8.3 （在lenny里版本不够，需要squeeze，不过我觉得使用gem应该也能装）<br />
mysql<br />
ruby mysql bindings（我个人觉得对应的包为libmysql-ruby，不过网上的另一个deb包依赖的是dbconfig-common libdbd-mysql-ruby）</p>
<p><strong>安装过程：</strong></p>
<p>1. 获得最新源码：</p>
<pre>git clone git://github.com/reductivelabs/puppet-dashboard.git</pre>
<p>2. 设置数据库：</p>
<pre>
cd puppet_dashboard/config
cp database.yml.example database.yml
</pre>
<p>编辑database.yml，在development域中加入数据库用户名、密码，然后进行数据库初始化（确保mysql服务已经启动）：</p>
<pre>rake install</pre>
<p>（中间可能需要运行rake gem:install）</p>
<p>3.设置puppetmaster：</p>
<p>部署lib文件：（在puppet 2.6版本中不再需要）</p>
<pre>cp  puppet_dashboard/lib/puppet/puppet_dashboard.rb  /usr/lib/ruby/1.8/puppet/reports/</pre>
<p>这点和readme中描述不符，不过作者的方法怎么实验都不成功。:(</p>
<p>然后在/etc/puppet/puppet.conf的puppetmasterd域中加入：</p>
<pre>reports = puppet_dashboard</pre>
<p>Puppet 2.6版本是：</p>
<pre>reports = http</pre>
<p>可以写多种方法，用逗号分隔，比如：</p>
<pre>reports = puppet_dashboard, log, store</pre>
<p>最后重启服务端</p>
<p>4.运行dashboard server</p>
<pre>script/server</pre>
<p>5.设置puppet client：</p>
<p>在/etc/puppet/puppet.conf的puppetd域加入：</p>
<pre>report = true</pre>
<p>重启客户端</p>
<p>如果没有意外，dashboard将会接收到新的report，访问http://localhost:3000/进入web界面。</p>
<p>如果想将以前的report导入，在dashboard目录运行：</p>
<pre>rake reports:import</pre>
<p>如果reportdir不是/var/lib/puppet/reports则运行：</p>
<pre>rake reports:import REPORT_DIR=/path/to/your/reports</pre>
<p>如果时区显示有问题，在config/enviroment.rb文件中修改：</p>
<pre>config.time_zone = 'Beijing'</pre>
<p><em>参考：</em></p>
<p><em>1. <a href="http://docs.puppetlabs.com/guides/installing_dashboard.html" target="_blank">http://docs.puppetlabs.com/guides/installing_dashboard.html</a></em></p>
<p><em>2.<a href="http://zcentric.com/2010/03/11/install-puppet-dashboard-on-redhatcentos-5/" target="_blank">http://zcentric.com/2010/03/11/install-puppet-dashboard-on-redhatcentos-5/</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/07/07/puppet-dashboard%e7%9a%84%e5%ae%89%e8%a3%85/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>关于puppet的import</title>
		<link>http://blog.flib.me/2010/06/29/%e5%85%b3%e4%ba%8epuppet%e7%9a%84import/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e5%2585%25b3%25e4%25ba%258epuppet%25e7%259a%2584import</link>
		<comments>http://blog.flib.me/2010/06/29/%e5%85%b3%e4%ba%8epuppet%e7%9a%84import/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 14:49:26 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[puppet]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[module]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38201</guid>
		<description><![CDATA[import "autofs" import "autofs/init.pp" import "autofs/util/stuff.pp" 第一句与第二句会在模块路径中寻找autofs/manifests/init.pp并载入。 第三句只载入autofs/util/stuff.pp文件。 puppet 0.23.1之后的版本，位于modulepath下（默认是/etc/puppet/modules）的模块会被自动载入，所以不需要手动载入此目录下的各个模块了。 当你引用autofs模块中的craziness类时，puppet会自动在autofs模块下寻找craziness.pp文件中的这个类。使用这个技巧就可以不在模块的init.pp中写入额外的import了。]]></description>
			<content:encoded><![CDATA[<pre>import "autofs"
import "autofs/init.pp"
import "autofs/util/stuff.pp"
</pre>
<p>第一句与第二句会在模块路径中寻找autofs/manifests/init.pp并载入。<br />
第三句只载入autofs/util/stuff.pp文件。</p>
<p>puppet 0.23.1之后的版本，位于modulepath下（默认是/etc/puppet/modules）的模块会被自动载入，所以不需要手动载入此目录下的各个模块了。</p>
<p>当你引用autofs模块中的craziness类时，puppet会自动在autofs模块下寻找craziness.pp文件中的这个类。使用这个技巧就可以不在模块的init.pp中写入额外的import了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/06/29/%e5%85%b3%e4%ba%8epuppet%e7%9a%84import/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>python全局变量与命名空间</title>
		<link>http://blog.flib.me/2010/06/10/python%e5%85%a8%e5%b1%80%e5%8f%98%e9%87%8f%e4%b8%8e%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python%25e5%2585%25a8%25e5%25b1%2580%25e5%258f%2598%25e9%2587%258f%25e4%25b8%258e%25e5%2591%25bd%25e5%2590%258d%25e7%25a9%25ba%25e9%2597%25b4</link>
		<comments>http://blog.flib.me/2010/06/10/python%e5%85%a8%e5%b1%80%e5%8f%98%e9%87%8f%e4%b8%8e%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:22:58 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[global]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[全局变量]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38191</guid>
		<description><![CDATA[[python] KEY_WORD = &#34;A&#34; def temp(): print KEY_WORD KEY_WORD = &#34;B&#34; [/python] 这段代码运行会提示变量KEY_WORD在定义前使用。原因是因为一旦在函数中修改全局变量，则python会将全局变量认成局部变量，在函数的命名空间内寻找其定义。如果要修改全局变量，要在函数内使用global关键字进行声明。如下： [python] KEY_WORD = &#34;A&#34; def temp(): global KEY_WORD print KEY_WORD KEY_WORD = &#34;B&#34; [/python] 当然，我个人更倾向将全局变量只作为常量。]]></description>
			<content:encoded><![CDATA[<p>[python]<br />
KEY_WORD = &quot;A&quot;</p>
<p>def temp():<br />
    print KEY_WORD<br />
    KEY_WORD = &quot;B&quot;<br />
[/python]</p>
<p>这段代码运行会提示变量KEY_WORD在定义前使用。原因是因为一旦在函数中修改全局变量，则python会将全局变量认成局部变量，在函数的命名空间内寻找其定义。如果要修改全局变量，要在函数内使用global关键字进行声明。如下：</p>
<p>[python]<br />
KEY_WORD = &quot;A&quot;</p>
<p>def temp():<br />
    global KEY_WORD<br />
    print KEY_WORD<br />
    KEY_WORD = &quot;B&quot;<br />
[/python]</p>
<p>当然，我个人更倾向将全局变量只作为常量。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/06/10/python%e5%85%a8%e5%b1%80%e5%8f%98%e9%87%8f%e4%b8%8e%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>shell中的$@与通配符</title>
		<link>http://blog.flib.me/2010/05/20/shell%e4%b8%ad%e7%9a%84%e4%b8%8e%e9%80%9a%e9%85%8d%e7%ac%a6/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shell%25e4%25b8%25ad%25e7%259a%2584%25e4%25b8%258e%25e9%2580%259a%25e9%2585%258d%25e7%25ac%25a6</link>
		<comments>http://blog.flib.me/2010/05/20/shell%e4%b8%ad%e7%9a%84%e4%b8%8e%e9%80%9a%e9%85%8d%e7%ac%a6/#comments</comments>
		<pubDate>Thu, 20 May 2010 11:22:00 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[$@]]></category>
		<category><![CDATA[引号]]></category>
		<category><![CDATA[通配符]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38185</guid>
		<description><![CDATA[$@在shell中表示所有参数，与$*不同的是，$@中的每个参数都相当于被双引号包含的独立字符串。 然而如果使用通配符传递文件名的时候，如果文件名中包含空格，$@会将包含空格的文件名理解成数个文件，这时只要使用引号将通配符引起再传递或者使用”$@”就可以了。]]></description>
			<content:encoded><![CDATA[<p>$@在shell中表示所有参数，与$*不同的是，$@中的每个参数都相当于被双引号包含的独立字符串。</p>
<p>然而如果使用通配符传递文件名的时候，如果文件名中包含空格，$@会将包含空格的文件名理解成数个文件，这时只要使用引号将通配符引起再传递或者使用”$@”就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/05/20/shell%e4%b8%ad%e7%9a%84%e4%b8%8e%e9%80%9a%e9%85%8d%e7%ac%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache在子目录取消访问控制</title>
		<link>http://blog.flib.me/2010/04/24/apache%e5%9c%a8%e5%ad%90%e7%9b%ae%e5%bd%95%e5%8f%96%e6%b6%88%e8%ae%bf%e9%97%ae%e6%8e%a7%e5%88%b6/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apache%25e5%259c%25a8%25e5%25ad%2590%25e7%259b%25ae%25e5%25bd%2595%25e5%258f%2596%25e6%25b6%2588%25e8%25ae%25bf%25e9%2597%25ae%25e6%258e%25a7%25e5%2588%25b6</link>
		<comments>http://blog.flib.me/2010/04/24/apache%e5%9c%a8%e5%ad%90%e7%9b%ae%e5%bd%95%e5%8f%96%e6%b6%88%e8%ae%bf%e9%97%ae%e6%8e%a7%e5%88%b6/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 08:09:23 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[运维]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[satisfy]]></category>
		<category><![CDATA[访问控制]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38175</guid>
		<description><![CDATA[Removing controls in subdirectories The following example shows how to use the Satisfy directive to disable access controls in a subdirectory of a protected directory. This technique should be used with caution, because it will also disable any access controls &#8230; <a href="http://blog.flib.me/2010/04/24/apache%e5%9c%a8%e5%ad%90%e7%9b%ae%e5%bd%95%e5%8f%96%e6%b6%88%e8%ae%bf%e9%97%ae%e6%8e%a7%e5%88%b6/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>Removing controls in subdirectories</p>
<p>The following example shows how to use the Satisfy directive to disable access controls in a subdirectory of a protected directory. This technique should be used with caution, because it will also disable any access controls imposed by mod_authz_host.<br />
[code gutter="false" highlight="7"]<br />
&lt;Directory /path/to/protected/&gt;<br />
Require user david<br />
&lt;/Directory&gt;<br />
&lt;Directory /path/to/protected/unprotected&gt;<br />
# All access controls and authentication are disabled<br />
# in this directory<br />
Satisfy Any<br />
Allow from all<br />
&lt;/Directory&gt;﻿</p>
<p>[/code]</p></blockquote>
<p>截取自apache 2.2手册<a href="http://httpd.apache.org/docs/2.2/mod/core.html#require">http://httpd.apache.org/docs/2.2/mod/core.html#require</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/04/24/apache%e5%9c%a8%e5%ad%90%e7%9b%ae%e5%bd%95%e5%8f%96%e6%b6%88%e8%ae%bf%e9%97%ae%e6%8e%a7%e5%88%b6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Marvell 88E8056 网卡驱动</title>
		<link>http://blog.flib.me/2010/04/16/marvell-88e8056-%e7%bd%91%e5%8d%a1%e9%a9%b1%e5%8a%a8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=marvell-88e8056-%25e7%25bd%2591%25e5%258d%25a1%25e9%25a9%25b1%25e5%258a%25a8</link>
		<comments>http://blog.flib.me/2010/04/16/marvell-88e8056-%e7%bd%91%e5%8d%a1%e9%a9%b1%e5%8a%a8/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 10:57:40 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[应用]]></category>
		<category><![CDATA[88e8056]]></category>
		<category><![CDATA[marvell]]></category>
		<category><![CDATA[驱动]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38171</guid>
		<description><![CDATA[在Marvell官网有linux 2.6内核驱动下载，然而在2.6.32内核上以模块形式编译安装时总是出错 /tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c: In function ‘SkGeTestIsr’: /tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1750: error: ‘TASK_NORMAL’ undeclared (first use in this function) /tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1750: error: (Each undeclared identifier is reported only once /tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1750: error: for each function it appears in.) /tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c: In function ‘SkGeTestMsi’: /tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1780: warning: passing argument &#8230; <a href="http://blog.flib.me/2010/04/16/marvell-88e8056-%e7%bd%91%e5%8d%a1%e9%a9%b1%e5%8a%a8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>在Marvell官网有linux 2.6内核驱动下载，然而在2.6.32内核上以模块形式编译安装时总是出错</p>
<blockquote><p>/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c: In function ‘SkGeTestIsr’:<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1750: error: ‘TASK_NORMAL’ undeclared (first use in this function)<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1750: error: (Each undeclared identifier is reported only once<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1750: error: for each function it appears in.)<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c: In function ‘SkGeTestMsi’:<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1780: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1790: error: ‘TASK_UNINTERRUPTIBLE’ undeclared (first use in this function)<br />
/tmp/Sk98IAfiDEcqKrUTbOYRkXjlT/all/skge.c:1790: error: implicit declaration of function ‘schedule_timeout’</p></blockquote>
<p>根据readme的步骤，以patch的方式打到内核里就没有问题了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/04/16/marvell-88e8056-%e7%bd%91%e5%8d%a1%e9%a9%b1%e5%8a%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>find的exec参数</title>
		<link>http://blog.flib.me/2010/04/14/find%e7%9a%84exec%e5%8f%82%e6%95%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=find%25e7%259a%2584exec%25e5%258f%2582%25e6%2595%25b0</link>
		<comments>http://blog.flib.me/2010/04/14/find%e7%9a%84exec%e5%8f%82%e6%95%b0/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 15:08:31 +0000</pubDate>
		<dc:creator>flex</dc:creator>
				<category><![CDATA[应用]]></category>
		<category><![CDATA[exec]]></category>
		<category><![CDATA[execdir]]></category>
		<category><![CDATA[find]]></category>

		<guid isPermaLink="false">http://blog.flib.me/?p=38169</guid>
		<description><![CDATA[find的-exec参数执行命令时，当前目录是执行者运行find程序时所在的目录。如果需要在执行命令时进入匹配项所在目录，使用-execdir参数。两者均不能识别命令中的通配符，可以通过间接调用一个单行脚本来解决。]]></description>
			<content:encoded><![CDATA[<p>find的-exec参数执行命令时，当前目录是执行者运行find程序时所在的目录。如果需要在执行命令时进入匹配项所在目录，使用-execdir参数。两者均不能识别命令中的通配符，可以通过间接调用一个单行脚本来解决。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flib.me/2010/04/14/find%e7%9a%84exec%e5%8f%82%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

