[Gluster-devel] Patches for supporting lseek() with SEEK_DATA/SEEK_HOLE available for review
Niels de Vos
ndevos at redhat.com
Wed Jan 27 12:04:17 UTC 2016
Hi all,
yesterday I have posted the latest version of a series that implements
support for lseek() with SEEK_DATA/SEEK_HOLE. This functionality can
improve the handling of sparse files immensely.
Please review the changes that involve components if your interest:
http://review.gluster.org/#/q/status:open+project:glusterfs+branch:master+topic:bug-1220173
Once these changes made it in, we can detect holes with glfs_lseek() and
can improve NFS-Ganesha, QEMU, Samba and glusterfs-coreutils. There are
probably other projects where we should contribute improvements for
SEEK_DATA/SEEK_HOLE (like 'cp' from coreutils?).
Ravi already got his Linux kernel FUSE patch merged, kernel-4.5 will
support lseek() through FUSE as well:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/fuse?id=0b5da8db145bfd44266ac964a2636a0cf8d7c286
Eventhough this is a fairly basic (though relatively new) filesystem
functionality, I want to document it in a feature page in our
glusterfs-specs repository:
https://github.com/gluster/glusterfs-specs
Once the document is posted in Gerrit, I'll send a reply to this email
to get some more reviews.
Thanks,
Niels
Note to other maintainers:
There is some order of merging changes needed. A new FOP has been
added, and some patches depend on the new GF_FOP_SEEK or other core
bits.
Change-Id: I4b74fce8b0bad2f45291fd2c2b9e243c4f4a1aa9
core: add seek() FOP
Change-Id: I0c15153beb27de73d5844b6f692175750fc28f60
syncop: add seek() FOP
Change-Id: I060768a8a4b9b1c80f4a24c0f17d630f7f028690
protocol: implement seek() FOP
Change-Id: I100b741d9bfacb799df318bb081f2497c0664927
afr: add seek() FOP
Change-Id: Iaa23ba81df4ee78ddaab1f96b3d926a563b4bb3d
cluster/ec: add seek() FOP
Change-Id: I5c272855a21501ac31e1a5f4b68ed7245582c17c
shard: add seek() FOP as not supported
Change-Id: I5d15533c53fd710497f97c3cb4a8ea29fba47271
posix: implement seek() FOP
Change-Id: Ic86919d28cf639b561114dc1440c6ea4bc6f7307
upcall: add seek() FOP
Change-Id: I142dde11923244809b03fcca8cd4c2f7d5ff3929
gfapi: add support for SEEK_HOLE and SEEK_DATA in
Change-Id: I8d0573ed8b2ea5ce976ad140a24be7974dbad0e3
gfapi: add test for glfs_lseek() SEEK_DATA/SEEK_HOLE
Change-Id: I58c74e161638b2d4ce12fc91a206fdc1b96de14d
fuse: update fuse_kernel.h to version 23
Change-Id: I12496d788e59461a3023ddd30e0ea3179007f77e
fuse: add support for SEEK_HOLE and SEEK_DATA through lseek()
Change-Id: Ifdee3c793e33f9d763940130e8d01a61eae5498a
tests: add seek program for testing SEEK_DATA/SEEK_HOLE over
Change-Id: I9cfed795737609120eafe86f9287d79057b14fe2
stripe: add seek() FOP as not supported
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20160127/bf7155ea/attachment.sig>
More information about the Gluster-devel
mailing list