<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 27, 2016 at 5:34 PM, Niels de Vos <span dir="ltr">&lt;<a href="mailto:ndevos@redhat.com" target="_blank">ndevos@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi all,<br>
<br>
yesterday I have posted the latest version of a series that implements<br>
support for lseek() with SEEK_DATA/SEEK_HOLE. This functionality can<br>
improve the handling of sparse files immensely.<br>
<br>
Please review the changes that involve components if your interest:<br>
<br>
  <a href="http://review.gluster.org/#/q/status:open+project:glusterfs+branch:master+topic:bug-1220173" rel="noreferrer" target="_blank">http://review.gluster.org/#/q/status:open+project:glusterfs+branch:master+topic:bug-1220173</a><br>
<br>
Once these changes made it in, we can detect holes with glfs_lseek() and<br>
can improve NFS-Ganesha, QEMU, Samba and glusterfs-coreutils. There are<br>
probably other projects where we should contribute improvements for<br>
SEEK_DATA/SEEK_HOLE (like &#39;cp&#39; from coreutils?).<br>
<br>
Ravi already got his Linux kernel FUSE patch merged, kernel-4.5 will<br>
support lseek() through FUSE as well:<br>
<br>
  <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/fuse?id=0b5da8db145bfd44266ac964a2636a0cf8d7c286" rel="noreferrer" target="_blank">http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/fuse?id=0b5da8db145bfd44266ac964a2636a0cf8d7c286</a><br>
<br>
Eventhough this is a fairly basic (though relatively new) filesystem<br>
functionality, I want to document it in a feature page in our<br>
glusterfs-specs repository:<br>
<br>
  <a href="https://github.com/gluster/glusterfs-specs" rel="noreferrer" target="_blank">https://github.com/gluster/glusterfs-specs</a><br>
<br>
Once the document is posted in Gerrit, I&#39;ll send a reply to this email<br>
to get some more reviews.<br>
<br>
Thanks,<br>
Niels<br>
<br>
<br>
Note to other maintainers:<br>
<br>
There is some order of merging changes needed. A new FOP has been<br>
added, and some patches depend on the new GF_FOP_SEEK or other core<br>
bits.<br>
<br>
    Change-Id: I4b74fce8b0bad2f45291fd2c2b9e243c4f4a1aa9<br>
           core: add seek() FOP<br>
<br>
    Change-Id: I0c15153beb27de73d5844b6f692175750fc28f60<br>
           syncop: add seek() FOP<br>
<br>
    Change-Id: I060768a8a4b9b1c80f4a24c0f17d630f7f028690<br>
           protocol: implement seek() FOP<br>
<br>
    Change-Id: I100b741d9bfacb799df318bb081f2497c0664927<br>
           afr: add seek() FOP<br>
<br>
    Change-Id: Iaa23ba81df4ee78ddaab1f96b3d926a563b4bb3d<br>
           cluster/ec: add seek() FOP<br>
<br>
    Change-Id: I5c272855a21501ac31e1a5f4b68ed7245582c17c<br>
           shard: add seek() FOP as not supported<br>
<br>
    Change-Id: I5d15533c53fd710497f97c3cb4a8ea29fba47271<br>
           posix: implement seek() FOP<br>
<br>
    Change-Id: Ic86919d28cf639b561114dc1440c6ea4bc6f7307<br>
           upcall: add seek() FOP<br>
<br>
    Change-Id: I142dde11923244809b03fcca8cd4c2f7d5ff3929<br>
           gfapi: add support for SEEK_HOLE and SEEK_DATA in<br>
<br>
    Change-Id: I8d0573ed8b2ea5ce976ad140a24be7974dbad0e3<br>
           gfapi: add test for glfs_lseek() SEEK_DATA/SEEK_HOLE<br>
<br>
    Change-Id: I58c74e161638b2d4ce12fc91a206fdc1b96de14d<br>
           fuse: update fuse_kernel.h to version 23<br>
<br>
    Change-Id: I12496d788e59461a3023ddd30e0ea3179007f77e<br>
           fuse: add support for SEEK_HOLE and SEEK_DATA through lseek()<br>
<br>
    Change-Id: Ifdee3c793e33f9d763940130e8d01a61eae5498a<br>
           tests: add seek program for testing SEEK_DATA/SEEK_HOLE over<br>
<br>
    Change-Id: I9cfed795737609120eafe86f9287d79057b14fe2<br>
           stripe: add seek() FOP as not supported<br></blockquote><div><br></div><div><br></div><div>Thanks for the order.</div><div><br></div><div>Today, shard patch[1] for seek() had got merged before we could look at this mail.</div><div>The revert patch for that is merged now[2]. I request you to send another patch for the same.</div><div><br></div><div><br></div><div>[1] <a href="http://review.gluster.org/#/c/13290/">http://review.gluster.org/#/c/13290/</a></div><div>[2] <a href="http://review.gluster.org/#/c/13301/">http://review.gluster.org/#/c/13301/</a></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>_______________________________________________<br>
maintainers mailing list<br>
<a href="mailto:maintainers@gluster.org">maintainers@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/maintainers" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/maintainers</a><br>
<br></blockquote></div><br></div></div>