Description of problem: This bug is to track the changes required for upcall infrastructure and basic support added to handle cache-invalidation use-case. Feature page - http://www.gluster.org/community/documentation/index.php/Features/Upcall-infrastructure
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events.) posted (#11) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/9536 (gfapi: APIs to store and process upcall notifications received) posted (#9) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events.) posted (#12) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events.) posted (#13) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events) posted (#14) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/9536 (gfapi: APIs to store and process upcall notifications received) posted (#10) for review on master by soumya k (skoduri)
COMMIT: http://review.gluster.org/9535 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 2b97b57cd8c71cb07b7002cf3483e9cfc9403c58 Author: Soumya Koduri <skoduri> Date: Sun Feb 15 23:35:56 2015 +0530 Upcall: New xlator to store various states and send cbk events Framework on the server-side, to handle certain state of the files accessed and send notifications to the clients connected. A generic and extensible framework, used to maintain states in the glusterfsd process for each of the files accessed (including the clients info doing the fops) and send notifications to the respective glusterfs clients incase of any change in that state. This patch handles "Inode Update/Invalidation" upcall event. Feature page: URL: http://www.gluster.org/community/documentation/index.php/Features/Upcall-infrastructure Below link has a writeup which explains the code changes done - URL: https://soumyakoduri.wordpress.com/2015/02/25/glusterfs-understanding-upcall-infrastructure-and-cache-invalidation-support/ Change-Id: Ie3d724be9a3419fcf18901a753e8ec2df2ac802f BUG: 1200262 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/9535 Reviewed-by: Kaleb KEITHLEY <kkeithle> Tested-by: Gluster Build System <jenkins.com>
REVIEW: http://review.gluster.org/9536 (gfapi: APIs to store and process upcall notifications received) posted (#11) for review on master by soumya k (skoduri)
COMMIT: http://review.gluster.org/9536 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 2a4561ef08b8be3b7d79b951252e87ba8f987120 Author: Soumya Koduri <skoduri> Date: Mon Feb 16 11:47:58 2015 +0530 gfapi: APIs to store and process upcall notifications received In case of any upcall cbk events received by the protocol/client, gfapi will be notified which queues them up in a list (<gfapi_cbk_upcall>). Applicatons are responsible to provide APIs to process & notify them in case of any such upcall events queued. Added a new API which will be used by Ganesha to repeatedly poll for any such upcall event notified (<glfs_h_poll_upcall>). A new test-file has been added to test the cache_invalidation upcall events. Below link has a writeup which explains the code changes done - URL: https://soumyakoduri.wordpress.com/2015/02/25/glusterfs-understanding-upcall-infrastructure-and-cache-invalidation-support/ Change-Id: Iafc6880000c865fd4da22d0cfc388ec135b5a1c5 BUG: 1200262 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/9536 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle>
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#1) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#3) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10200 (geo-rep: Added GF_CPPFLAGS to Makefile.am) posted (#4) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#10) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#2) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10232 (gfapi: Fix in glfs_h_create_from_handle) posted (#1) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#4) for review on master by soumya k (skoduri)
COMMIT: http://review.gluster.org/10200 committed in master by Niels de Vos (ndevos) ------ commit 08a1041ca9aaf5300032294ca5c5e19dc8f836eb Author: Soumya Koduri <skoduri> Date: Fri Apr 10 20:12:57 2015 +0530 geo-rep: Added GF_CPPFLAGS to Makefile.am This change is required to include contrib files in glusterfs.h Change-Id: I40ef2c495015a6861fdd9f6a72599f094a89eb2a BUG: 1200262 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/10200 Reviewed-by: Kotresh HR <khiremat> Reviewed-by: Raghavendra Talur <rtalur> Tested-by: Gluster Build System <jenkins.com> Tested-by: NetBSD Build System Reviewed-by: Niels de Vos <ndevos>
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#5) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#3) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10232 (gfapi: Fix in glfs_h_create_from_handle) posted (#2) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#6) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#7) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#11) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#4) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10232 (gfapi: Fix in glfs_h_create_from_handle) posted (#3) for review on master by soumya k (skoduri)
COMMIT: http://review.gluster.org/10232 committed in master by Niels de Vos (ndevos) ------ commit b464723a48c2e35e7f209c3f909c964b6ba7fb47 Author: Soumya Koduri <skoduri> Date: Tue Apr 14 13:08:34 2015 +0530 gfapi: Fix in glfs_h_create_from_handle While constructing glfs_object from the handle given, incase if inode is found in the inode table, we need not do "syncop_lookup" unless we need to return the inode attributes. BUG: 1200262 Change-Id: I4682d9e4420a0bcb1b3e807b801ccb3d8de3d2cd Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/10232 Tested-by: NetBSD Build System Reviewed-by: Niels de Vos <ndevos>
COMMIT: http://review.gluster.org/10225 committed in master by Niels de Vos (ndevos) ------ commit f45779067dbba3077b9c64c930fd4ddd1c51243e Author: Soumya Koduri <skoduri> Date: Tue Apr 14 04:35:09 2015 +0530 gfapi: Modified CACHE_INVALIDATE flags Have prefixed CACHE_INVALIDATE flags exposed via gfapi with 'GFAPI_'. In addition as INODE_UPDATE is asynchronous and may need some support in NFS-Ganesha, have taken it out for now. Will revisit it later. Change-Id: Icbbc2c92a61c9225b6c5bc8c4212e8c4a3a0a10f BUG: 1200262 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/10225 Tested-by: NetBSD Build System Reviewed-by: Niels de Vos <ndevos>
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#8) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#12) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#13) for review on master by Poornima G (pgurusid)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#14) for review on master by Poornima G (pgurusid)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#9) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#15) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#10) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#16) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10452 (rpc: Include stat and parent gfid in 'gfs3_cbk_cache_invalidation_req') posted (#1) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#11) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#17) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#2) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#1) for review on master by soumya k (skoduri)
COMMIT: http://review.gluster.org/10049 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 2bf85951c6c25aa17acc591fabc3b3927b6dc82f Author: Soumya Koduri <skoduri> Date: Mon Mar 30 16:56:59 2015 +0530 Upcall: Process each of the upcall events separately As suggested during the code-review of Bug1200262, have modified GF_CBK_UPCALL to be exlusively GF_CBK_CACHE_INVALIDATION. Thus, for any new upcall event, a new CBK procedure will be added. Also made changes to store upcall data separately based on the upcall event type received. BUG: 1200262 Change-Id: I0f5e53d6f5ece16aecb514a0a426dca40fa1c755 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/10049 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle>
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#12) for review on master by Kaleb KEITHLEY (kkeithle)
COMMIT: http://review.gluster.org/10224 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 664d2d243deb132dd5daad0280ae9fa2406ca26a Author: Soumya Koduri <skoduri> Date: Tue Apr 14 04:03:36 2015 +0530 Upcall: Replaced opaque gfid with string in rpc cbk args For GF_CBK_CACHE_INVALIDATION, have changed the type of gfid to be string (cannonical form) instead of opaque byte format to ensure correctness across platforms supporting different endianness. BUG: 1200262 Change-Id: Iac4372714f4b4ebcd9c4393aaf46ceba3f37f587 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/10224 Reviewed-by: Kaleb KEITHLEY <kkeithle> Tested-by: Gluster Build System <jenkins.com>
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#2) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#3) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#3) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#4) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#5) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#4) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#6) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#7) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#5) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#8) for review on master by soumya k (skoduri)
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#9) for review on master by soumya k (skoduri)
COMMIT: http://review.gluster.org/10460 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 170cc4ea08aa48e69c2df6be5841076c9a119d5a Author: Soumya Koduri <skoduri> Date: Thu Apr 30 13:28:44 2015 +0530 Upcall: Send stat as part of cache_invalidation notifications Have added support to send attributes of both entries and its parent (include oldparent in case of RENAME fop) in the same notification request to avoid multiple rpc requests. Also, made changes in gfapi to send parent object and its attributes changed in a single upcall event. Change-Id: I92833da3bcec38d65216921c2ce4d10367c32ef1 BUG: 1200262 Signed-off-by: Soumya Koduri <skoduri> Reviewed-on: http://review.gluster.org/10460 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle>
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.
Fix for this bug is already made in a GlusterFS release. The cloned BZ has details of the fix and the release. Hence closing this mainline BZ.
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user