<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs-afrv1.git/contrib, branch master</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/'/>
<entry>
<title>contrib/qemu: remove the CONFIG_INT128 host config option</title>
<updated>2013-12-04T19:29:07+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-12-04T17:32:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=866d079c5bfc9b278c654090a9c088fe2131db1d'/>
<id>866d079c5bfc9b278c654090a9c088fe2131db1d</id>
<content type='text'>
These leads to compile failures in 32-bit build environments.

BUG: 986775
Change-Id: I0b702f616e1d0e11eda7e55666fd1a7c67bfaeab
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6427
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
Tested-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These leads to compile failures in 32-bit build environments.

BUG: 986775
Change-Id: I0b702f616e1d0e11eda7e55666fd1a7c67bfaeab
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6427
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
Tested-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/qemu-block: simplify coroutine model to use single synctask, ucontext</title>
<updated>2013-11-11T07:45:46+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-10-18T11:36:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=b06ecde2997b72a41b2f2d25d55e61d30ea46bc2'/>
<id>b06ecde2997b72a41b2f2d25d55e61d30ea46bc2</id>
<content type='text'>
The current coroutine model, mapping synctasks 1-1 with qemu internal
Coroutines, has some unresolved raciness issues. This problem usually
manifests as lifecycle mismatches between top-level (gluster created)
synctasks and the subsequently created internal coroutines from that
context. Qemu's internal queueing (and locking) can cause situations
where the top-level synctask is destroyed before the internal scheduler
has released references to memory, leading to use after free crashes
and asserts.

Simplify the coroutine model to use a single synctask as a coroutine
processor and rely on the existing native ucontext coroutine
implementation. The syncenv thread is donated to qemu and ensures a
single top-level coroutine is processed at a time. Qemu now has
complete control over coroutine scheduling.

BUG: 986775
Change-Id: I38223479a608d80353128e390f243933fc946fd6
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6110
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current coroutine model, mapping synctasks 1-1 with qemu internal
Coroutines, has some unresolved raciness issues. This problem usually
manifests as lifecycle mismatches between top-level (gluster created)
synctasks and the subsequently created internal coroutines from that
context. Qemu's internal queueing (and locking) can cause situations
where the top-level synctask is destroyed before the internal scheduler
has released references to memory, leading to use after free crashes
and asserts.

Simplify the coroutine model to use a single synctask as a coroutine
processor and rely on the existing native ucontext coroutine
implementation. The syncenv thread is donated to qemu and ensures a
single top-level coroutine is processed at a time. Qemu now has
complete control over coroutine scheduling.

BUG: 986775
Change-Id: I38223479a608d80353128e390f243933fc946fd6
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6110
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>contrib/qemu: disable coroutine caching in qemu</title>
<updated>2013-10-10T01:57:53+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-10-02T11:16:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=cecc5b8fc05f071e9556c84153634b6d50c77dbb'/>
<id>cecc5b8fc05f071e9556c84153634b6d50c77dbb</id>
<content type='text'>
Coroutine caching in qemu is dangerous in the manner that the
qemu-block translator embeds the qemu block subsystem code. After
a graph switch, new requests can fork off and pass active graph
data structures (i.e., inodes) down into old syncenvs and old
graphs, leading to failures.

BUG: 986775
Change-Id: I7b7226ff57c7867d0e51a58a7c0e58f4d8424c31
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6022
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Coroutine caching in qemu is dangerous in the manner that the
qemu-block translator embeds the qemu block subsystem code. After
a graph switch, new requests can fork off and pass active graph
data structures (i.e., inodes) down into old syncenvs and old
graphs, leading to failures.

BUG: 986775
Change-Id: I7b7226ff57c7867d0e51a58a7c0e58f4d8424c31
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6022
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/qemu-block: support for QCOW2 and QED formats</title>
<updated>2013-09-03T18:26:26+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-03-05T22:48:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=53e98f11d1f3df30cc013af021464a257949a62d'/>
<id>53e98f11d1f3df30cc013af021464a257949a62d</id>
<content type='text'>
This patch adds support for internals snapshots using QCOW2 and
general framework for external snapshots (next patch) with
QCOW2 and QED.

For internal snapshots, the file must be "initialized" or
"formatted" into QCOW2 format, and specify a file size.

Snapshots can be created, deleted, and applied ("goto").

e.g:

 // Format and Initialize

sh# setfattr -n trusted.glusterfs.block-format -v qcow2:10GB /mnt/imgfile
sh# ls -l /mnt/imgfile
-rw-r--r-- 1 root root 10G Jul 18 21:20 imgfile

 // Create a snapshot

sh# setfattr -n trusted.glusterfs.block-snapshot-create -v name1 imgfile

 // Apply a snapshot

sh# setfattr -n trusted.gluterfs.block-snapshot-goto -v name1 imgfile

Change-Id: If993e057a9455967ba3fa9dcabb7f74b8b2cf4c3
BUG: 986775
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5367
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support for internals snapshots using QCOW2 and
general framework for external snapshots (next patch) with
QCOW2 and QED.

For internal snapshots, the file must be "initialized" or
"formatted" into QCOW2 format, and specify a file size.

Snapshots can be created, deleted, and applied ("goto").

e.g:

 // Format and Initialize

sh# setfattr -n trusted.glusterfs.block-format -v qcow2:10GB /mnt/imgfile
sh# ls -l /mnt/imgfile
-rw-r--r-- 1 root root 10G Jul 18 21:20 imgfile

 // Create a snapshot

sh# setfattr -n trusted.glusterfs.block-snapshot-create -v name1 imgfile

 // Apply a snapshot

sh# setfattr -n trusted.gluterfs.block-snapshot-goto -v name1 imgfile

Change-Id: If993e057a9455967ba3fa9dcabb7f74b8b2cf4c3
BUG: 986775
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5367
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>contrib/qemu: Import qemu block source code</title>
<updated>2013-09-03T18:25:33+00:00</updated>
<author>
<name>Anand Avati</name>
<email>avati@redhat.com</email>
</author>
<published>2013-03-06T09:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=0d60175bd684cf6a14f750579d82dbd1ba97fcbc'/>
<id>0d60175bd684cf6a14f750579d82dbd1ba97fcbc</id>
<content type='text'>
This qemu block format source code and its minimal
dependency files will be used in the next patch to implement
a qemu-block format translator.

Change-Id: Ic87638972f7ea9b3df84d7a0539512a250c11c1c
BUG: 986775
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5366
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This qemu block format source code and its minimal
dependency files will be used in the next patch to implement
a qemu-block format translator.

Change-Id: Ic87638972f7ea9b3df84d7a0539512a250c11c1c
BUG: 986775
Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5366
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Brian Foster &lt;bfoster@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fuse: sync fuse_kernel.h from linux 3.11.0(-rc3) header</title>
<updated>2013-08-03T12:50:11+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-08-02T17:07:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=fbc543633525865b33ff0a156090006c5fdd1ab3'/>
<id>fbc543633525865b33ff0a156090006c5fdd1ab3</id>
<content type='text'>
The linux 3.11 fuse kernel header supports up through version 7.22.
Gluster has incrementally supported versions up to 7.22. This is a
hard sync of the most recent kernel header to resolve various,
minor descrepencies and facilitate updates going forward. The
following changes are included:

- Re-typed data structure definitions.
- Missing comments and init flag definitions (i.e., splice).
- Code format and whitespace differences.

No functional changes are included.

BUG: 990744
Change-Id: I86921ef7be56d31bab332cf8589262c2b9348221
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5490
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The linux 3.11 fuse kernel header supports up through version 7.22.
Gluster has incrementally supported versions up to 7.22. This is a
hard sync of the most recent kernel header to resolve various,
minor descrepencies and facilitate updates going forward. The
following changes are included:

- Re-typed data structure definitions.
- Missing comments and init flag definitions (i.e., splice).
- Code format and whitespace differences.

No functional changes are included.

BUG: 990744
Change-Id: I86921ef7be56d31bab332cf8589262c2b9348221
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5490
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fuse-bridge: update to protocol minor version 22</title>
<updated>2013-08-03T12:48:44+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-08-02T17:07:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=dc72dd5a7637c778f345df962f63aaee509d0e12'/>
<id>dc72dd5a7637c778f345df962f63aaee509d0e12</id>
<content type='text'>
7.17
- Distinguishes between POSIX and BSD locking support via a
  separate BSD locking support init flag. Older protocol versions
  (since BSD support was added) export both types of locking
  requests if FUSE_POSIX_LOCKS is specified. Gluster sets this
  flag, so set FUSE_FLOCK_LOCKS as well on kernels that support
  version 17 or newer.

7.18
- Adds ioctl() support for directories (and the associated
  FUSE_IOCTL_DIR flag). Gluster does not support the ioctl
  request, so no changes are required. Update the header.
- Adds support for the delete notification to allow a filesystem
  to inform the kernel of a deleted inode. No gluster changes
  required.

7.19
- Adds support for the fallocate request. Gluster already supports
  fallocate and includes the request opcode definition and data
  structure. Update the header version number.

7.20
- Adds the FUSE_AUTO_INVAL_DATA init flag to enable attribute
  updates on reads and automatic cache invalidation on mtime
  changes. Behavior does not change unless the init flag is
  specified, no gluster changes required. Update header.

7.21
- Adds readdirplus support and updates the poll request to include
  events. Gluster already supports readdirplus and includes the
  relevant data structures. Poll is not supported, so no changes
  are required. Update the header with some missing
  READDIRPLUS_AUTO bits.

7.22
- Adds real asynchronous direct I/O support. Gluster already
  supports/enables the associated bit (FUSE_ASYNC_DIO), no further
  changes are required. Update the header.

BUG: 990744
Change-Id: Idf6fd75bbd48189587e548f7624626f9a75309e8
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5489
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7.17
- Distinguishes between POSIX and BSD locking support via a
  separate BSD locking support init flag. Older protocol versions
  (since BSD support was added) export both types of locking
  requests if FUSE_POSIX_LOCKS is specified. Gluster sets this
  flag, so set FUSE_FLOCK_LOCKS as well on kernels that support
  version 17 or newer.

7.18
- Adds ioctl() support for directories (and the associated
  FUSE_IOCTL_DIR flag). Gluster does not support the ioctl
  request, so no changes are required. Update the header.
- Adds support for the delete notification to allow a filesystem
  to inform the kernel of a deleted inode. No gluster changes
  required.

7.19
- Adds support for the fallocate request. Gluster already supports
  fallocate and includes the request opcode definition and data
  structure. Update the header version number.

7.20
- Adds the FUSE_AUTO_INVAL_DATA init flag to enable attribute
  updates on reads and automatic cache invalidation on mtime
  changes. Behavior does not change unless the init flag is
  specified, no gluster changes required. Update header.

7.21
- Adds readdirplus support and updates the poll request to include
  events. Gluster already supports readdirplus and includes the
  relevant data structures. Poll is not supported, so no changes
  are required. Update the header with some missing
  READDIRPLUS_AUTO bits.

7.22
- Adds real asynchronous direct I/O support. Gluster already
  supports/enables the associated bit (FUSE_ASYNC_DIO), no further
  changes are required. Update the header.

BUG: 990744
Change-Id: Idf6fd75bbd48189587e548f7624626f9a75309e8
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5489
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fuse-bridge: update to fuse protocol minor version 16 (Linux)</title>
<updated>2013-08-02T04:02:26+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-07-31T21:55:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=bc9cf5ba83dffbc2fb5a6821a6f40e6acff59897'/>
<id>bc9cf5ba83dffbc2fb5a6821a6f40e6acff59897</id>
<content type='text'>
7.14
- Splice write support to fuse device node. No gluster changes
  required besides header update.

7.15
- Store/retrieve notification support. No gluster changes
  required besides header update.

7.16
- BATCH_FORGET request support. Implement a handler for
  BATCH_FORGET requests and update the header.
- Updated ioctl() ABI. No gluster changes required besides
  header update.

BUG: 990744
Change-Id: If3061a720ba566ee6731ad8b77cdc665d8fbf781
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5449
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7.14
- Splice write support to fuse device node. No gluster changes
  required besides header update.

7.15
- Store/retrieve notification support. No gluster changes
  required besides header update.

7.16
- BATCH_FORGET request support. Implement a handler for
  BATCH_FORGET requests and update the header.
- Updated ioctl() ABI. No gluster changes required besides
  header update.

BUG: 990744
Change-Id: If3061a720ba566ee6731ad8b77cdc665d8fbf781
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5449
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fuse: pass the mountflags to older (&lt; 2.6.21) kernels</title>
<updated>2013-07-04T05:33:30+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2013-07-03T07:45:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=37d2c255e46eea98df473fbc693931462882392e'/>
<id>37d2c255e46eea98df473fbc693931462882392e</id>
<content type='text'>
The change for Bug 853895 fixed mounting volumes read-only for recent
kernels. Older kernels fail the first mount() syscall, and the second
mount() did not add the 'mountflags'.

Full analysis and a description for reproducing is in the bugreport. The
test included in http://review.gluster.org/4163 would have caught this
problem when the tests are executed on RHEL-5 or similar systems.

Change-Id: I440591344a6a5af7b2018e37a2a1fda9de8b5ab2
Bug: 980770
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5278
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The change for Bug 853895 fixed mounting volumes read-only for recent
kernels. Older kernels fail the first mount() syscall, and the second
mount() did not add the 'mountflags'.

Full analysis and a description for reproducing is in the bugreport. The
test included in http://review.gluster.org/4163 would have caught this
problem when the tests are executed on RHEL-5 or similar systems.

Change-Id: I440591344a6a5af7b2018e37a2a1fda9de8b5ab2
Bug: 980770
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5278
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gluster: add fallocate fop support</title>
<updated>2013-06-13T21:37:21+00:00</updated>
<author>
<name>Brian Foster</name>
<email>bfoster@redhat.com</email>
</author>
<published>2013-05-08T12:54:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs-afrv1.git/commit/?id=d1ccc4e400728d90f2ef7904661f53deb7199123'/>
<id>d1ccc4e400728d90f2ef7904661f53deb7199123</id>
<content type='text'>
Implement support for the fallocate file operation. fallocate
allocates blocks for a particular inode such that future writes
to the associated region of the file are guaranteed not to fail
with ENOSPC.

This patch adds fallocate support to the following areas:

	- libglusterfs
	- mount/fuse
	- io-stats
	- performance/md-cache,open-behind
	- quota
	- cluster/afr,dht,stripe
	- rpc/xdr
	- protocol/client,server
	- io-threads
	- marker
	- storage/posix
	- libgfapi

BUG: 949242
Change-Id: Ice8e61351f9d6115c5df68768bc844abbf0ce8bd
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4969
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement support for the fallocate file operation. fallocate
allocates blocks for a particular inode such that future writes
to the associated region of the file are guaranteed not to fail
with ENOSPC.

This patch adds fallocate support to the following areas:

	- libglusterfs
	- mount/fuse
	- io-stats
	- performance/md-cache,open-behind
	- quota
	- cluster/afr,dht,stripe
	- rpc/xdr
	- protocol/client,server
	- io-threads
	- marker
	- storage/posix
	- libgfapi

BUG: 949242
Change-Id: Ice8e61351f9d6115c5df68768bc844abbf0ce8bd
Signed-off-by: Brian Foster &lt;bfoster@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4969
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
