<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.file-systems.ocfs2.devel">
    <title>gmane.comp.file-systems.ocfs2.devel</title>
    <link>http://blog.gmane.org/gmane.comp.file-systems.ocfs2.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8309"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8308"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8307"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8303"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8302"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8300"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8292"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8290"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8289"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8284"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8281"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8276"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8275"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8261"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8258"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8257"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8256"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8255"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8250"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8249"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8309">
    <title>[PATCH] ocfs2_prep_new_orphaned_file should return ret</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8309</link>
    <description>&lt;pre&gt;From: "Xiaowei.Hu" &amp;lt;xiaowei.hu&amp;lt; at &amp;gt;oracle.com&amp;gt;

---
 fs/ocfs2/namei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 50c93a8..422cbe0 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2216,7 +2216,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; out:
 
 brelse(orphan_dir_bh);
 
-return 0;
+return ret;
 }
 
 int ocfs2_create_inode_in_orphan(struct inode *dir,
&lt;/pre&gt;</description>
    <dc:creator>xiaowei.hu&lt; at &gt;oracle.com</dc:creator>
    <dc:date>2013-05-22T01:43:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8308">
    <title>[PATCH] Remove unecessary ERROR when removingnon-empty directory</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8308</link>
    <description>&lt;pre&gt;While removing a non-empty directory, the kernel dumps a message:
(rmdir,21743,1):ocfs2_unlink:953 ERROR: status = -39

Suppress the error message from being printed in the dmesg so users
don't panic.

Signed-off-by: Goldwyn Rodrigues &amp;lt;rgoldwyn&amp;lt; at &amp;gt;suse.com&amp;gt;

---
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 04ee1b5..33c7b91 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -947,7 +947,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; leave:
  ocfs2_free_dir_lookup_result(&amp;amp;orphan_insert);
  ocfs2_free_dir_lookup_result(&amp;amp;lookup);

- if (status)
+ if (status &amp;amp;&amp;amp; (status != -ENOTEMPTY))
  mlog_errno(status);

  return status;
&lt;/pre&gt;</description>
    <dc:creator>Goldwyn Rodrigues</dc:creator>
    <dc:date>2013-05-20T15:06:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8307">
    <title>[PATCH] clean up duplicate declaration indlmrecovery.c</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8307</link>
    <description>&lt;pre&gt;Below 3 functions have already been declared in dlmcommon.h, so we have
no need to declare them again in dlmrecovery.c.
dlm_complete_recovery_thread
dlm_launch_recovery_thread
dlm_kick_recovery_thread

Signed-off-by: Joseph Qi &amp;lt;joseph.qi&amp;lt; at &amp;gt;huawei.com&amp;gt;

---
 fs/ocfs2/dlm/dlmrecovery.c |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c
index 93de2e0..1741c33 100644
--- a/fs/ocfs2/dlm/dlmrecovery.c
+++ b/fs/ocfs2/dlm/dlmrecovery.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -55,9 +55,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8
dead_node);

 static int dlm_recovery_thread(void *data);
-void dlm_complete_recovery_thread(struct dlm_ctxt *dlm);
-int dlm_launch_recovery_thread(struct dlm_ctxt *dlm);
-void dlm_kick_recovery_thread(struct dlm_ctxt *dlm);
 static int dlm_do_recovery(struct dlm_ctxt *dlm);

 static int dlm_pick_recovery_master(struct dlm_ctxt *dlm);
--
1.7.9.7
&lt;/pre&gt;</description>
    <dc:creator>Joseph Qi</dc:creator>
    <dc:date>2013-05-20T09:36:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8303">
    <title>ocfs2: Question for ocfs2_recovery_thread</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8303</link>
    <description>&lt;pre&gt;Hi,
Once there is node down in the cluster, ocfs2_recovery_thread will be
triggered on each node. These threads then do the down node recovery by
get super lock.
I have several questions on this:
1) Why each node has to run such a thread? We know at last one node can
get the super lock and do the actual recovery.
2) If this thread is running but something error occurred, take
ocfs2_super_lock failed for example, the thread will exit without
clearing recovery map, will it cause other threads still waiting for
recovery in ocfs2_wait_for_recovery?
&lt;/pre&gt;</description>
    <dc:creator>Joseph Qi</dc:creator>
    <dc:date>2013-05-18T06:27:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8302">
    <title>[PATCH v2] ocfs2: goto out_unlock if ocfs2_get_clusters_nocache failed in ocfs2_fiemap</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8302</link>
    <description>&lt;pre&gt;Last time we found there is a lock/unlock bug in ocfs2_file_aio_write,
and then we did a thoroughly search for all lock resources in
ocfs2_inode_info, including rw, inode and open lockres and found this
bug.
My kernel version is 3.0.13, and it is also in the lastest version 3.9.
In ocfs2_fiemap, once ocfs2_get_clusters_nocache failed, it should goto
out_unlock instead of out, because we need release buffer head, up read
alloc sem and unlock inode.

Cc: stable&amp;lt; at &amp;gt;vger.kernel.org
Signed-off-by: Joseph Qi &amp;lt;joseph.qi&amp;lt; at &amp;gt;huawei.com&amp;gt;
Reviewed-by: Jie Liu &amp;lt;jeff.liu&amp;lt; at &amp;gt;oracle.com&amp;gt;

---
 fs/ocfs2/extent_map.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c
index 1c39efb..2487116 100644
--- a/fs/ocfs2/extent_map.c
+++ b/fs/ocfs2/extent_map.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -790,7 +790,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int ocfs2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
  &amp;amp;hole_size, &amp;amp;rec, &amp;amp;is_last);
 if (ret) {
 mlog_errno(ret);
-goto out;
+goto out_unlock;
 }
 
 if (rec.e_&lt;/pre&gt;</description>
    <dc:creator>Joseph Qi</dc:creator>
    <dc:date>2013-05-14T07:08:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8300">
    <title>[PATCH] ocfs2: goto out_unlock if ocfs2_get_clusters_nocache failed in ocfs2_fiemap</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8300</link>
    <description>&lt;pre&gt;Last time we found there is lock/unlock bug in ocfs2_file_aio_write, and
then we did a thorough search for all lock resources in
ocfs2_inode_info, including rw, inode and open lockres and found this
bug. My kernel version is 3.0.13, and it is also in the lastest version 3.9.
In ocfs2_fiemap, once ocfs2_get_clusters_nocache failed, it should goto
out_unlock instead of out, because we need release buffer head, up read
alloc sem and unlock inode.

Cc: stable&amp;lt; at &amp;gt;vger.kernel.org
Signed-off-by: Joseph Qi &amp;lt;joseph.qi&amp;lt; at &amp;gt;huawei.com&amp;gt;

---
 fs/ocfs2/extent_map.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c
index 1c39efb..2487116 100644
--- a/fs/ocfs2/extent_map.c
+++ b/fs/ocfs2/extent_map.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -790,7 +790,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int ocfs2_fiemap(struct inode *inode, struct
fiemap_extent_info *fieinfo,
  &amp;amp;hole_size, &amp;amp;rec, &amp;amp;is_last);
 if (ret) {
 mlog_errno(ret);
-goto out;
+goto out_unlock;
 }

 if (rec.e_blkno == 0ULL) {
&lt;/pre&gt;</description>
    <dc:creator>Joseph Qi</dc:creator>
    <dc:date>2013-05-14T06:02:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8292">
    <title>Patch request reviews, for node reconnecting with other nodes whose node number is little than local, thanks a lot.</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8292</link>
    <description>&lt;pre&gt;
Hi, everyone,
I had have a test with eight nodes and find one issue.

The Linux kernel version is 3.2.40.

As I migrate processes from one node to another, those processes is open the files on the OCFS2 storage. Sometime one node shutdown TCP connection with that node whose node number is larger because long time without any message from it.
As the TCP connection shutdown, the node whose number larger did not restart connection to the node, whose number is little and shutdown the TCP connection.
So I review the code of the cluster and find it may be a bug.

I changed it and have a test.

Is there anybody having time to view and make sure that those changes is correct?
Thanks a lot.

The diff file is as below, of the file is /cluster/tcp.c:

root&amp;lt; at &amp;gt;gzh-dev:/home/dev/test_replace/ocfs2_ko# diff -pu ocfs2-ko-3.2-compare/cluster/tcp.c ocfs2-ko-3.2/cluster/tcp.c
--- ocfs2-ko-3.2-compare/cluster/tcp.c  2012-10-29 19:33:19.534200000 +0800
+++ ocfs2-ko-3.2/cluster/tcp.c        2013-05-08 09:33:16.386277310 +0800
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -&lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-05-08T02:43:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8290">
    <title>[PATCH] ocfs2: unlock rw lock if inode lock failed</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8290</link>
    <description>&lt;pre&gt;In ocfs2_file_aio_write, it does ocfs2_rw_lock first and then
ocfs2_inode_lock. But if ocfs2_inode_lock failed, it goes to out_sems
without unlocking rw lock. This will cause a bug in ocfs2_lock_res_free
when testing res-&amp;gt;l_ex_holders, which is increased in
__ocfs2_cluster_lock and decreased in __ocfs2_cluster_unlock.

Signed-off-by: Joseph Qi &amp;lt;joseph.qi&amp;lt; at &amp;gt;huawei.com&amp;gt;

---
 fs/ocfs2/file.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 6474cb4..e2cd7a8 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2290,7 +2290,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; relock:
 ret = ocfs2_inode_lock(inode, NULL, 1);
 if (ret &amp;lt; 0) {
 mlog_errno(ret);
-goto out_sems;
+goto out;
 }

 ocfs2_inode_unlock(inode, 1);
&lt;/pre&gt;</description>
    <dc:creator>Joseph Qi</dc:creator>
    <dc:date>2013-05-06T14:43:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8289">
    <title>ocfs2 patches are now in patchwork</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8289</link>
    <description>&lt;pre&gt;FYI, folks,

There is now support for ocfs2 patches in the kernel.org patchwork:
https://patchwork.kernel.org/project/ocfs2-devel/list/.  The goal is to
keep track of outstanding patches that need to be reviewed, etc.  If you
want to poke at patch state, please add yourself to the project.

Joel

&lt;/pre&gt;</description>
    <dc:creator>Joel Becker</dc:creator>
    <dc:date>2013-05-06T12:03:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8284">
    <title>[PATCH v2] ocfs2: fix possible memory leak indlm_process_recovery_data</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8284</link>
    <description>&lt;pre&gt;We found a possible memory leak in dlm_process_recovery_data when doing
code review. In dlm_process_recovery_data, it creates newlock each time,
but don't free when it is bad, and then it will lead to memory leak.

Cc: stable&amp;lt; at &amp;gt;vger.kernel.org
Signed-off-by: Joseph Qi &amp;lt;joseph.qi&amp;lt; at &amp;gt;huawei.com&amp;gt;
Reviewed-by: Jie Liu &amp;lt;jeff.liu&amp;lt; at &amp;gt;oracle.com&amp;gt;

---
 fs/ocfs2/dlm/dlmrecovery.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c
index eeac97b..9f08523 100644
--- a/fs/ocfs2/dlm/dlmrecovery.c
+++ b/fs/ocfs2/dlm/dlmrecovery.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1974,6 +1974,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; skip_lvb:
      res-&amp;gt;lockname.len, res-&amp;gt;lockname.name, ml-&amp;gt;node);
 dlm_lockres_set_refmap_bit(dlm, res, ml-&amp;gt;node);
 added++;
+} else {
+/* Free the new lock if it is bad */
+dlm_lock_put(newlock);
+newlock = NULL;
 }
 spin_unlock(&amp;amp;res-&amp;gt;spinlock);
 }
&lt;/pre&gt;</description>
    <dc:creator>Joseph Qi</dc:creator>
    <dc:date>2013-05-02T12:56:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8281">
    <title>Is it one issue. Do you have some good ideas,thanks a lot.</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8281</link>
    <description>&lt;pre&gt;Hi, everyone

I have some questions with the OCFS2 when using it as vm-store.

With Ubuntu 1204, kernel version is 3.2.40, and ocfs2-tools version is 1.6.4.

As the network configure change, there are some issues as the log below.

Why is there the information of "Node 255 (he) is the Recovery Master for the dead node 255" in the syslog?
Why the host ZHJD-VM6 is blocked until it reboot one day time later, and what is it wait for still?

Thanks a lot.


Apr 27 17:35:59 ZHJD-VM6 kernel: [ 3734.057330] o2net: Connection to node ZHJD-VM5 (num 5) at 185.200.1.16:7100 has been idle for 30.100 secs, shutting it down.
Apr 27 17:35:59 ZHJD-VM6 kernel: [ 3734.057359] o2net: No longer connected to node ZHJD-VM5 (num 5) at 185.200.1.16:7100
Apr 27 17:35:59 ZHJD-VM6 kernel: [ 3734.058212] o2net: Connected to node ZHJD-VM5 (num 5) at 185.200.1.16:7100
Apr 27 17:36:01 ZHJD-VM6 CRON[17869]: (root) CMD (   /opt/bin/ocfs2_iscsi_conf_chg_timer.sh)
Apr 27 17:36:01 ZHJD-VM6 CRON[17868]: (root) CMD (   /opt/bin/libvirtd_check.sh)&lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-04-28T10:54:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8276">
    <title>[PATCH 2/2] ocfs2: Fix NULL dereference for movingextents</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8276</link>
    <description>&lt;pre&gt;From: Dan Carpenter &amp;lt;dan.carpenter&amp;lt; at &amp;gt;oracle.com&amp;gt;

We can't dereference "bg" before it has been assigned.
GCC should have warned about this but "bg" was initialized to NULL.
I've fixed that as well.

Signed-off-by: Dan Carpenter &amp;lt;dan.carpenter&amp;lt; at &amp;gt;oracle.com&amp;gt;
Reviewed-by: Jie Liu &amp;lt;jeff.liu&amp;lt; at &amp;gt;oracle.com&amp;gt;
---
 fs/ocfs2/move_extents.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/ocfs2/move_extents.c b/fs/ocfs2/move_extents.c
index ce1ce76..0b974b5 100644
--- a/fs/ocfs2/move_extents.c
+++ b/fs/ocfs2/move_extents.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -473,7 +473,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ocfs2_validate_and_adjust_move_goal(struct inode *inode,
 int ret, goal_bit = 0;
 
 struct buffer_head *gd_bh = NULL;
-struct ocfs2_group_desc *bg = NULL;
+struct ocfs2_group_desc *bg;
 struct ocfs2_super *osb = OCFS2_SB(inode-&amp;gt;i_sb);
 int c_to_b = 1 &amp;lt;&amp;lt; (osb-&amp;gt;s_clustersize_bits -
 inode-&amp;gt;i_sb-&amp;gt;s_blocksize_bits);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -484,13 +484,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ocfs2_validate_and_adjust_move_goal(struct inode *inode,
 range-&amp;gt;me_goal = ocfs2_b&lt;/pre&gt;</description>
    <dc:creator>Jeff Liu</dc:creator>
    <dc:date>2013-04-09T03:17:45</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8275">
    <title>[PATCH 1/2] ocfs2: fix error handling inocfs2_ioctl_move_extents()</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8275</link>
    <description>&lt;pre&gt;From: Dan Carpenter &amp;lt;dan.carpenter&amp;lt; at &amp;gt;oracle.com&amp;gt;

Smatch complains that if we hit an error (for example if the file is
immutable) then "range" has uninitialized stack data and we copy it to
the user.

I've re-written the error handling to avoid this problem and make it a
little cleaner as well.

Signed-off-by: Dan Carpenter &amp;lt;dan.carpenter&amp;lt; at &amp;gt;oracle.com&amp;gt;
Reviewed-by: Jie Liu &amp;lt;jeff.liu&amp;lt; at &amp;gt;oracle.com&amp;gt;
---
v2: check for argp earlier

diff --git a/fs/ocfs2/move_extents.c b/fs/ocfs2/move_extents.c
index 9f8dcad..8f3d3cb 100644
--- a/fs/ocfs2/move_extents.c
+++ b/fs/ocfs2/move_extents.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1057,42 +1057,40 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int ocfs2_ioctl_move_extents(struct file *filp, void __user *argp)
 
 struct inode *inode = file_inode(filp);
 struct ocfs2_move_extents range;
-struct ocfs2_move_extents_context *context = NULL;
+struct ocfs2_move_extents_context *context;
+
+if (!argp)
+return -EINVAL;
 
 status = mnt_want_write_file(filp);
 if (status)
 return status;
 
 if ((!S_ISREG(inode-&amp;gt;i_mode)) || !(filp-&amp;gt;f_mode &amp;amp; FMODE_WRITE))
-&lt;/pre&gt;</description>
    <dc:creator>Jeff Liu</dc:creator>
    <dc:date>2013-04-09T03:17:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8261">
    <title>OCFS2 issues reports, any ideads or patches, Thanks</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8261</link>
    <description>&lt;pre&gt;
Mar 27 10:54:08 cvk-7 kernel: [  361.374376] INFO: task kworker/u:1:73 blocked for more than 120 seconds.
Mar 27 10:54:08 cvk-7 kernel: [  361.374383] "echo 0 &amp;gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Mar 27 10:54:08 cvk-7 kernel: [  361.374389] kworker/u:1     D ffffffff81806240     0    73      2 0x00000000
Mar 27 10:54:08 cvk-7 kernel: [  361.374395]  ffff880405883ba0 0000000000000046 0000000000000600 ffff880404839548
Mar 27 10:54:08 cvk-7 kernel: [  361.374401]  ffff880405883fd8 ffff880405883fd8 ffff880405883fd8 0000000000013780
Mar 27 10:54:08 cvk-7 kernel: [  361.374406]  ffff880405f316f0 ffff880405888000 ffff880405883bb0 ffff880405b59000
Mar 27 10:54:08 cvk-7 kernel: [  361.374412] Call Trace:
Mar 27 10:54:08 cvk-7 kernel: [  361.374420]  [&amp;lt;ffffffff8165a55f&amp;gt;] schedule+0x3f/0x60
Mar 27 10:54:08 cvk-7 kernel: [  361.374457]  [&amp;lt;ffffffffa056bd9d&amp;gt;] ocfs2_wait_for_recovery+0x5d/0x90 [ocfs2]
Mar 27 10:54:08 cvk-7 kernel: [  361.374464]  [&amp;lt;ffffffff8108aec0&amp;gt;] ? add_wait_queue+0x60/0x60&lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-03-27T03:30:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8258">
    <title>OEL 6.4 + OCFS 1.8 - This same bugs like in old 1.6and Vanilla kernels [ 3.2.40 including ]</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8258</link>
    <description>&lt;pre&gt;Hello
I just install fresh OEL 6.4 to check how working OCFS 1.8 and i saw there is still bug with spam error messages in dmesg like in 1.6.

[root&amp;lt; at &amp;gt;OCFS2-1 ~]# uname -a
Linux OCFS2-1.tktelekom.pl 2.6.39-400.17.2.el6uek.x86_64 #1 SMP Wed Mar 13 12:31:05 PDT 2013 x86_64 x86_64 x86_64 GNU/Linux

[root&amp;lt; at &amp;gt;OCFS2-1 ~]# dmesg
[cut]
(rm,2362,0):ocfs2_unlink:951 ERROR: status = -2
(rm,2527,1):ocfs2_unlink:951 ERROR: status = –39

Thanks
_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel&amp;lt; at &amp;gt;oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel&lt;/pre&gt;</description>
    <dc:creator>admin&lt; at &gt;wset.edu.pl</dc:creator>
    <dc:date>2013-03-19T09:02:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8257">
    <title>Any advices with these exceptions, Thanks.</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8257</link>
    <description>&lt;pre&gt;Hi, I have a test with ocfs2 as virtual machine stores, using Ubuntu12.04, precise version, with kernel 3.2.X.

205643:Feb 26 10:35:22 ckvmain kernel: [774929.093922] o2net: No longer connected to node cvkslave (num 1) at 192.168.100.12:7100
205644:Feb 26 10:35:22 ckvmain kernel: [774929.094017] o2cb: o2dlm has evicted node 1 from domain 8AAEFC21BC6B4CE0A02DF3C10737AB14
205645:Feb 26 10:35:23 ckvmain kernel: [774930.342401] o2dlm: Begin recovery on domain 8AAEFC21BC6B4CE0A02DF3C10737AB14 for node 1
205646:Feb 26 10:35:23 ckvmain kernel: [774930.344087] o2dlm: Node 2 (me) is the Recovery Master for the dead node 1 in domain 8AAEFC21BC6B4CE0A02DF3C10737AB14
205647:Feb 26 10:35:24 ckvmain kernel: [774931.093949] o2net: Connected to node cvkslave (num 1) at 192.168.100.12:7100
205648:Feb 26 10:35:28 ckvmain kernel: [774935.332139] o2dlm: End recovery on domain 8AAEFC21BC6B4CE0A02DF3C10737AB14
205649:Feb 26 10:35:28 ckvmain kernel: [774935.343294] ocfs2: Begin replay journal (node 1, slot 0) on device (8,16)
2057&lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-03-18T07:20:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8256">
    <title>It may be an ocfs2 bug.</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8256</link>
    <description>&lt;pre&gt;Hi, every one:

In the function:
static long ocfs2_fallocate(struct file *file, int mode, loff_t offset,
                            loff_t len)
{
...
        return __ocfs2_change_file_space(NULL, inode, offset, cmd, &amp;amp;sr,
                                        change_size);
}


The NULL should be file, such as below, one of our coworker found it.
static long ocfs2_fallocate(struct file *file, int mode, loff_t offset,
                            loff_t len)
{
...
        return __ocfs2_change_file_space(file, inode, offset, cmd, &amp;amp;sr,
                                        change_size);
}

-------------------------------------------------------------------------------------------------------------------------------------
????????????????????????????????????????
????????????????????????????????????????
????????????????????????????????????????
???
This e-mail and its attachments contain confidential information from H3C, which is
intended only for the person or entity whose address is listed above. Any use of&lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-03-15T07:22:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8255">
    <title>OCFS2 bug reports</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8255</link>
    <description>&lt;pre&gt;Hi, I have a test with ocfs2 as virtual machine stores, using Ubuntu12.04, precise version.

Sometimes, there are some exception and the cluster blocked, may be all the nodes in the cluster will be restart to avoid it.


Feb 26 10:37:31 ckvmain kernel: [775057.583863] ------------[ cut here ]------------
Feb 26 10:37:31 ckvmain kernel: [775057.584119] kernel BUG at fs/ocfs2/dlm/dlmast.c:357!
Feb 26 10:37:31 ckvmain kernel: [775057.584390] invalid opcode: 0000 [#1] SMP
Feb 26 10:37:31 ckvmain kernel: [775057.584611] CPU 14
Feb 26 10:37:31 ckvmain kernel: [775057.584722] Modules linked in: ip6table_filter ip6_tables iptable_filter ip_tables ebtable_nat ebtables x_tables ocfs2(O) quota_tree nls_utf8 cifs 8021q garp stp kvm_intel kvm ocfs2_dlmfs(O) ocfs2_stack_o2cb(O) ocfs2_dlm(O) ocfs2_nodemanager(O) ocfs2_stackglue(O) configfs openvswitch_mod(O) vesafb ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi nfsd nfs lockd fscache auth_rpcgss nfs_acl sunrpc &lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-03-15T02:41:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8250">
    <title>[PATCH 1/2] ocfs2: Delay inode update transactions after verifying the input flags</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8250</link>
    <description>&lt;pre&gt;There is no need to start the inode update transactions before/while verifying
the input flags.  As a refinement, this patch delay the transactions utill the
pre-check up is ok.

Signed-off-by: Jie Liu &amp;lt;jeff.liu&amp;lt; at &amp;gt;oracle.com&amp;gt;
Cc: Joel Becker &amp;lt;jlbec&amp;lt; at &amp;gt;evilplan.org&amp;gt;
Cc: Mark Fasheh &amp;lt;mfasheh&amp;lt; at &amp;gt;suse.com&amp;gt;
---
 fs/ocfs2/ioctl.c |   18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c
index f20edcb..c739c24 100644
--- a/fs/ocfs2/ioctl.c
+++ b/fs/ocfs2/ioctl.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -101,13 +101,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
 if (!S_ISDIR(inode-&amp;gt;i_mode))
 flags &amp;amp;= ~OCFS2_DIRSYNC_FL;
 
-handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
-if (IS_ERR(handle)) {
-status = PTR_ERR(handle);
-mlog_errno(status);
-goto bail_unlock;
-}
-
 oldflags = ocfs2_inode-&amp;gt;ip_attr;
 flags = flags &amp;amp; mask;
 flags |= oldflags &amp;amp; ~mask;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -120,7 +113,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
 if (&lt;/pre&gt;</description>
    <dc:creator>Jeff Liu</dc:creator>
    <dc:date>2013-03-11T05:29:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8249">
    <title>[PATCH 2/2] ocfs2: Add trace point forocfs2_set_inode_attr()</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8249</link>
    <description>&lt;pre&gt;Add trace point for ocfs2_set_inode_attr().

# cat /debug/tracing/available_events |grep ocfs2_set_inode_attr
ocfs2:ocfs2_set_inode_attr

Signed-off-by: Jie Liu &amp;lt;jeff.liu&amp;lt; at &amp;gt;oracle.com&amp;gt;
Cc: Joel Becker &amp;lt;jlbec&amp;lt; at &amp;gt;evilplan.org&amp;gt;
Cc: Mark Fasheh &amp;lt;mfasheh&amp;lt; at &amp;gt;suse.com&amp;gt;
---
 fs/ocfs2/ioctl.c       |    3 +++
 fs/ocfs2/ocfs2_trace.h |    6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c
index c739c24..764bf5c 100644
--- a/fs/ocfs2/ioctl.c
+++ b/fs/ocfs2/ioctl.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,6 +27,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "buffer_head_io.h"
 #include "suballoc.h"
 #include "move_extents.h"
+#include "ocfs2_trace.h"
 
 #define o2info_from_user(a, b)\
 copy_from_user(&amp;amp;(a), (b), sizeof(a))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -86,6 +87,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
 unsigned oldflags;
 int status;
 
+trace_ocfs2_set_inode_attr(OCFS2_I(inode)-&amp;gt;ip_blkno, flags);
+
 mutex_lock(&amp;amp;inode-&amp;gt;i_mutex);
 
 status = ocfs2_inode_lock(inode, &amp;amp;bh, 1);
diff --git a/fs/ocfs2/ocfs2_trace.h b/fs/ocfs2/ocfs2_trace.h
index&lt;/pre&gt;</description>
    <dc:creator>Jeff Liu</dc:creator>
    <dc:date>2013-03-11T05:29:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8233">
    <title>ocfs2 bug reports, any advices? thanks</title>
    <link>http://comments.gmane.org/gmane.comp.file-systems.ocfs2.devel/8233</link>
    <description>&lt;pre&gt;Hi,

I setup two nodes, 192.168.20.20, and 192.168.20.21,

The os is Ubuntu1204 with Kernel version 3.0:

root&amp;lt; at &amp;gt;Server21:~# uname -a
Linux Server21 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


Server20 reboot for the disconnection with iSCSI SAN, so Server20 recovery resource locks for Server21.
Server20:
Feb 27 09:29:31 Server20 kernel: [424826.197532] o2net: No longer connected to node Server21 (num 2) at 192.168.20.21:7100
Feb 27 09:29:31 Server20 kernel: [424826.197633] o2cb: o2dlm has evicted node 2 from domain C5FDF4DB054B49B587DF8D4848443259
Feb 27 09:29:35 Server20 kernel: [424830.079130] o2dlm: Begin recovery on domain C5FDF4DB054B49B587DF8D4848443259 for node 2
Feb 27 09:29:35 Server20 kernel: [424830.079156] o2dlm: Node 1 (me) is the Recovery Master for the dead node 2 in domain C5FDF4DB054B49B587DF8D4848443259
Feb 27 09:29:35 Server20 kernel: [424830.079262] o2dlm: End recovery on domain C5FDF4DB054B49B587DF8D4848443259

But the Server21 can't remou&lt;/pre&gt;</description>
    <dc:creator>Guozhonghua</dc:creator>
    <dc:date>2013-02-27T03:43:42</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.file-systems.ocfs2.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.file-systems.ocfs2.devel</link>
  </textinput>
</rdf:RDF>
