<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/fs/ceph/file.c, branch v3.14</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>ceph: add missing init_acl() for mkdir() and atomic_open()</title>
<updated>2014-02-17T20:37:11+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zheng.z.yan@intel.com</email>
</author>
<published>2014-02-11T04:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b20a95a0dd47c56c5d20e1c9e260293d0b87abe0'/>
<id>b20a95a0dd47c56c5d20e1c9e260293d0b87abe0</id>
<content type='text'>
Signed-off-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: cast PAGE_SIZE to size_t in ceph_sync_write()</title>
<updated>2014-01-28T17:57:21+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>ilya.dryomov@inktank.com</email>
</author>
<published>2014-01-28T17:16:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=125d725c923527a85876c031028c7f55c28b74b3'/>
<id>125d725c923527a85876c031028c7f55c28b74b3</id>
<content type='text'>
Use min_t(size_t, ...) instead of plain min(), which does strict type
checking, to avoid compile warning on i386.

Cc: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Signed-off-by: Ilya Dryomov &lt;ilya.dryomov@inktank.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use min_t(size_t, ...) instead of plain min(), which does strict type
checking, to avoid compile warning on i386.

Cc: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Signed-off-by: Ilya Dryomov &lt;ilya.dryomov@inktank.com&gt;
Reviewed-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: ceph: new helper: file_inode(file)</title>
<updated>2013-12-13T17:13:29+00:00</updated>
<author>
<name>Libo Chen</name>
<email>clbchenlibo.chen@huawei.com</email>
</author>
<published>2013-12-11T05:49:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=aa8b60e077fa2a4383e79b092b65cd5455ea5ab2'/>
<id>aa8b60e077fa2a4383e79b092b65cd5455ea5ab2</id>
<content type='text'>
Signed-off-by: Libo Chen &lt;clbchenlibo.chen@huawei.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Libo Chen &lt;clbchenlibo.chen@huawei.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: implement readv/preadv for sync operation</title>
<updated>2013-12-13T17:13:17+00:00</updated>
<author>
<name>majianpeng</name>
<email>majianpeng@gmail.com</email>
</author>
<published>2013-09-26T06:42:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8eb4efb091c8d8f70a0e6822288b043f8691ec51'/>
<id>8eb4efb091c8d8f70a0e6822288b043f8691ec51</id>
<content type='text'>
For readv/preadv sync-operatoin, ceph only do the first iov.
Now implement this.

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For readv/preadv sync-operatoin, ceph only do the first iov.
Now implement this.

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: Implement writev/pwritev for sync operation.</title>
<updated>2013-12-13T17:13:17+00:00</updated>
<author>
<name>majianpeng</name>
<email>majianpeng@gmail.com</email>
</author>
<published>2013-09-12T05:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e8344e668915a7488def414f016dbf7d9fce84b5'/>
<id>e8344e668915a7488def414f016dbf7d9fce84b5</id>
<content type='text'>
For writev/pwritev sync-operatoin, ceph only do the first iov.

I divided the write-sync-operation into two functions. One for
direct-write, other for none-direct-sync-write. This is because for
none-direct-sync-write we can merge iovs to one. But for direct-write,
we can't merge iovs.

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For writev/pwritev sync-operatoin, ceph only do the first iov.

I divided the write-sync-operation into two functions. One for
direct-write, other for none-direct-sync-write. This is because for
none-direct-sync-write we can merge iovs to one. But for direct-write,
we can't merge iovs.

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: use fscache as a local presisent cache</title>
<updated>2013-09-06T16:50:11+00:00</updated>
<author>
<name>Milosz Tanski</name>
<email>milosz@adfin.com</email>
</author>
<published>2013-08-21T21:29:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=99ccbd229cf7453206bc858e795ec1f0345ff258'/>
<id>99ccbd229cf7453206bc858e795ec1f0345ff258</id>
<content type='text'>
Adding support for fscache to the Ceph filesystem. This would bring it to on
par with some of the other network filesystems in Linux (like NFS, AFS, etc...)

In order to mount the filesystem with fscache the 'fsc' mount option must be
passed.

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding support for fscache to the Ceph filesystem. This would bring it to on
par with some of the other network filesystems in Linux (like NFS, AFS, etc...)

In order to mount the filesystem with fscache the 'fsc' mount option must be
passed.

Signed-off-by: Milosz Tanski &lt;milosz@adfin.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: allow sync_read/write return partial successed size of read/write.</title>
<updated>2013-08-27T19:28:46+00:00</updated>
<author>
<name>majianpeng</name>
<email>majianpeng@gmail.com</email>
</author>
<published>2013-08-21T07:02:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ee7289bfadda5f4ef60884547ebc9989c8fb314a'/>
<id>ee7289bfadda5f4ef60884547ebc9989c8fb314a</id>
<content type='text'>
For sync_read/write, it may do multi stripe operations.If one of those
met erro, we return the former successed size rather than a error value.
There is a exception for write-operation met -EOLDSNAPC.If this occur,we
retry the whole write again.

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For sync_read/write, it may do multi stripe operations.If one of those
met erro, we return the former successed size rather than a error value.
There is a exception for write-operation met -EOLDSNAPC.If this occur,we
retry the whole write again.

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: fix bugs about handling short-read for sync read mode.</title>
<updated>2013-08-27T19:28:45+00:00</updated>
<author>
<name>majianpeng</name>
<email>majianpeng@gmail.com</email>
</author>
<published>2013-08-06T08:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=02ae66d8b229708fd94b764f6c17ead1c7741fcf'/>
<id>02ae66d8b229708fd94b764f6c17ead1c7741fcf</id>
<content type='text'>
cephfs . show_layout
&gt;layyout.data_pool:     0
&gt;layout.object_size:   4194304
&gt;layout.stripe_unit:   4194304
&gt;layout.stripe_count:  1

TestA:
&gt;dd if=/dev/urandom of=test bs=1M count=2 oflag=direct
&gt;dd if=/dev/urandom of=test bs=1M count=2 seek=4  oflag=direct
&gt;dd if=test of=/dev/null bs=6M count=1 iflag=direct
The messages from func striped_read are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 2097152 HITSTRIPE SHORT
ceph:           file.c:350  : striped_read 2097152~4194304 (read 2097152) got 0 HITSTRIPE SHORT
ceph:           file.c:381  : zero tail 4194304
ceph:           file.c:390  : striped_read returns 6291456
The hole of file is from 2M--4M.But actualy it zero the last 4M include
the last 2M area which isn't a hole.
Using this patch, the messages are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 2097152 HITSTRIPE SHORT
ceph:           file.c:358  :  zero gap 2097152 to 4194304
ceph:           file.c:350  : striped_read 4194304~2097152 (read 4194304) got 2097152
ceph:           file.c:384  : striped_read returns 6291456

TestB:
&gt;echo majianpeng &gt; test
&gt;dd if=test of=/dev/null bs=2M count=1 iflag=direct
The messages are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 11 HITSTRIPE SHORT
ceph:           file.c:350  : striped_read 11~6291445 (read 11) got 0 HITSTRIPE SHORT
ceph:           file.c:390  : striped_read returns 11
For this case,it did once more striped_read.It's no meaningless.
Using this patch, the message are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 11 HITSTRIPE SHORT
ceph:           file.c:384  : striped_read returns 11

Big thanks to Yan Zheng for the patch.

Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cephfs . show_layout
&gt;layyout.data_pool:     0
&gt;layout.object_size:   4194304
&gt;layout.stripe_unit:   4194304
&gt;layout.stripe_count:  1

TestA:
&gt;dd if=/dev/urandom of=test bs=1M count=2 oflag=direct
&gt;dd if=/dev/urandom of=test bs=1M count=2 seek=4  oflag=direct
&gt;dd if=test of=/dev/null bs=6M count=1 iflag=direct
The messages from func striped_read are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 2097152 HITSTRIPE SHORT
ceph:           file.c:350  : striped_read 2097152~4194304 (read 2097152) got 0 HITSTRIPE SHORT
ceph:           file.c:381  : zero tail 4194304
ceph:           file.c:390  : striped_read returns 6291456
The hole of file is from 2M--4M.But actualy it zero the last 4M include
the last 2M area which isn't a hole.
Using this patch, the messages are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 2097152 HITSTRIPE SHORT
ceph:           file.c:358  :  zero gap 2097152 to 4194304
ceph:           file.c:350  : striped_read 4194304~2097152 (read 4194304) got 2097152
ceph:           file.c:384  : striped_read returns 6291456

TestB:
&gt;echo majianpeng &gt; test
&gt;dd if=test of=/dev/null bs=2M count=1 iflag=direct
The messages are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 11 HITSTRIPE SHORT
ceph:           file.c:350  : striped_read 11~6291445 (read 11) got 0 HITSTRIPE SHORT
ceph:           file.c:390  : striped_read returns 11
For this case,it did once more striped_read.It's no meaningless.
Using this patch, the message are:
ceph:           file.c:350  : striped_read 0~6291456 (read 0) got 11 HITSTRIPE SHORT
ceph:           file.c:384  : striped_read returns 11

Big thanks to Yan Zheng for the patch.

Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: fix fallocate division</title>
<updated>2013-08-27T19:26:29+00:00</updated>
<author>
<name>Sage Weil</name>
<email>sage@inktank.com</email>
</author>
<published>2013-08-27T19:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b314a90d8f3f1d16ec45744e5e2141ea6e14e034'/>
<id>b314a90d8f3f1d16ec45744e5e2141ea6e14e034</id>
<content type='text'>
We need to use do_div to divide by a 64-bit value.

Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
Reviewed-by: Josh Durgin &lt;josh.durgin@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to use do_div to divide by a 64-bit value.

Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
Reviewed-by: Josh Durgin &lt;josh.durgin@inktank.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: punch hole support</title>
<updated>2013-08-15T18:12:17+00:00</updated>
<author>
<name>Li Wang</name>
<email>liwang@ubuntukylin.com</email>
</author>
<published>2013-08-15T03:51:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ad7a60de882aca31afb58721db166f7e77afcd92'/>
<id>ad7a60de882aca31afb58721db166f7e77afcd92</id>
<content type='text'>
This patch implements fallocate and punch hole support for Ceph kernel client.

Signed-off-by: Li Wang &lt;liwang@ubuntukylin.com&gt;
Signed-off-by: Yunchuan Wen &lt;yunchuanwen@ubuntukylin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements fallocate and punch hole support for Ceph kernel client.

Signed-off-by: Li Wang &lt;liwang@ubuntukylin.com&gt;
Signed-off-by: Yunchuan Wen &lt;yunchuanwen@ubuntukylin.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
