diff options
-rw-r--r-- | doc/release-notes/3.12.0.md | 423 |
1 files changed, 408 insertions, 15 deletions
diff --git a/doc/release-notes/3.12.0.md b/doc/release-notes/3.12.0.md index 52fa0850de7..5dd753fd34a 100644 --- a/doc/release-notes/3.12.0.md +++ b/doc/release-notes/3.12.0.md @@ -1,41 +1,434 @@ # Release notes for Gluster 3.12.0 -This is a major Gluster release that includes <TBD> ... +This is a major Gluster release that includes, ability to mount sub-directories, +further brick multiplexing enhancements, enhancements to gluster get-state CLI, +ability to resolve GFID split-brain using existing CLI, easier GFID to real path +mapping, among other changes. The most notable features and changes are documented on this page. A full list of bugs that have been addressed is included further below. ## Major changes and features -**NOTE to contributors: Copy the section below and add details regarding the -feature that you want to describe, and submit the work for review. See, -[older release notes](https://github.com/gluster/glusterfs/blob/release-3.11/doc/release-notes/3.11.0.md) for inspiration :)** +### Ability to mount sub-directories using the Gluster FUSE protocol +**Notes for users:** -**NOTE: Submit the note with the commit message referencing the github issue # -for the respective feature, as "Updates: gluster/glusterfs#N"*** +Gluster FUSE mounts, till now, mounted the entire volume on the client. With +this feature, it is now possible to define which sub-directories can be mounted, +by which client, and further for the clients to mount only that portion of the +volume for access. -### Feature one liner -Add option to use localtime timestamps in log entries +This helps sharing a volume among multiple consumers and also restricting their +access to the sub-directory of choice. + +Option controlling sub-directory allow/deny rules can be set as follows: +``` +# gluster volume set <volname> auth.allow "/subdir1(192.168.1.*),/(192.168.10.*),/subdir2(192.168.8.*)" +``` + +How to mount from the client: +``` +# mount -t glusterfs <hostname>:/<volname>/<subdir> /<mount_point> +``` +Or, +``` +# mount -t glusterfs <hostname>:/<volname> -osubdir_mount=<subdir> /<mount_point> +``` + +**Limitations:** + +TBD + +**Known Issues:** + +TBD + +### GFID to path conversion is enabled by default +**Notes for users:** + +Prior to this feature, only when quota was enabled, did the on disk data have +pointers back from GFID to their respective filenames. As a result, if there +were a need to locate the path given a GFID, quota had to be enabled. + +The change brought in by this feature, is to enable this on disk data to be +present, for all cases, than just quota. Further, enhancements here have been +to improve the manner of storing this information on disk as extended +attributes. + +The internal on disk xattr that is now stored to reference the filename and +parent for a GFID is, `trusted.gfid2path.<xxhash>` + +Currently with RC0 this feature is not enabled by default. To enable this +feature use, +``` +#gluster volume <volname> set storage.gfid2path +``` **Limitations:** +TBD + +**Known Issues:** + +TBD + +### Various enhancements have been made to the output of get-state CLI command +**Notes for users:** + +The command `#gluster get-state` has been enhanced to output more information +as below, +- Arbiter bricks are marked more clearly in a volume that has the feature +enabled +- Ability to get all volume options (both set and defaults) in the get-state +output +- Rebalance time estimates, for ongoing rebalance, is captured in the get-state +output +- If geo-replication is configured, then get-state now captures the session +details of the same + +**Limitations:** + +TBD + +**Known Issues:** + +TBD + +### Provided an option to set a limit on number of bricks multiplexed in a processes +**Notes for users:** + +This feature introduces a new global option that can be set to limit the number +of multiplexed bricks in one process. + +With the current brick multiplexing feature, all bricks are multiplexed into the +same process. The option, introduced with this feature, lets the user control +the number of bricks that are multiplexed in a process, on a node. + +More processes are spawned to hold bricks, if the limit set by this option is +insufficient for a single process. IOW, with this option set, number fo brick +processes(P) are, P = N/<value>, where (N) is the number of bricks in the node, +and <value> is the what is set by the *cluster.max-bricks-per-process* option. + +This option is used only if brick multiplexing is enabled for the cluster. + +Usage: +``` +#gluster volume set all cluster.max-bricks-per-process <value> +``` + +**Limitations:** + +TBD + +**Known Issues:** + +TBD + +### Provided an option to use localtime timestamps in log entries +**Limitations:** + Gluster defaults to UTC timestamps. glusterd, glusterfsd, and server-side -glusterfs daemons will use UTC until one of a) command line option is -processed, b) gluster config (/var/lib/glusterd/options) is loaded, -c) admin manually sets localtime-logging (cluster.localtime-logging, e.g. -`gluster volume set all cluster.localtime-logging enable`). +glusterfs daemons will use UTC until one of, +1. command line option is processed, +2. gluster config (/var/lib/glusterd/options) is loaded, +3. admin manually sets localtime-logging (cluster.localtime-logging, e.g. +`#gluster volume set all cluster.localtime-logging enable`). There is no mount option to make the FUSE client enable localtime logging. There is no option in gfapi to enable localtime logging. +### Enhanced the option to export statfs data for bricks sharing the same backend filesystem + +**Notes for users:** +In the past 'storage/posix' xlator had an option called option +`export-statfs-size`, which, when set to 'no', exports zero as values for few +fields in `struct statvfs`. These are typically reflected in an output of `df` +command, from a user perspective. + +When backend bricks are shared between multiple brick processes, the values +of these variables have been corrected to reflect +`field_value / number-of-bricks-at-node`. Thus enabling better usage reporting +and also enhancing the ability for file placement in the distribute translator +when used with the option `min-free-disk`. + +**Limitations:** + +TBD + **Known Issues:** -None +TBD -## Major issues +### Provided a means to resolve GFID split-brain using the gluster CLI +**Notes for users:** + +The existing CLI commands to heal files under split-brain did not handle cases +where there was a GFID mismatch between the files. With the provided enhancement +the same CLI commands can now address GFID split-brain situations based on the +choices provided. + +The CLI options that are enhanced to help with this situation are, +``` +volume heal <VOLNAME> split-brain {bigger-file <FILE> | + latest-mtime <FILE> | + source-brick <HOSTNAME:BRICKNAME> [<FILE>]} +``` + +**Limitations:** + +TBD + +**Known Issues:** + +TBD + +### Developer related: Added a 'site.h' for more vendor/company specific defaults +**Notes for developers:** + +**NOTE**: Also for users building from sources and needing different defaults +for some options + +Most people consume Gluster in one of two ways: +* From packages provided by their OS/distribution vendor +* By building themselves from source + +For the first group it doesn't matter whether configuration is done in a +configure script, via command-line options to that configure script, or in a +header file. All of these end up as edits to some file under the packager's +control, which is then run through their tools and process (e.g. rpmbuild) to +create the packages that users will install. + +For the second group, convenience matters. Such users might not even have a +script wrapped around the configure process, and editing one line in a header +file is a lot easier than editing several in the configure script. This also +prevents a messy profusion of configure options, dozens of which might need to +be added to support a single such user's preferences. This comes back around as +greater simplicity for packagers as well. This patch defines site.h as the +header file for options and parameters that someone building the code for +themselves might want to tweak. + +The project ships one version to reflect the developers' guess at the best +defaults for most users, and sophisticated users with unusual needs can +override many options at once just by maintaining their own version of that +file. Further guidelines for how to determine whether an option should go in +configure.ac or site.h are explained within site.h itself. + +### Developer related: Added xxhash library to libglusterfs for required use +**Notes for developers:** -None +Function gf_xxh64_wrapper has been added as a wrapper into libglusterfs for +consumption by interested developers. + +Reference to code can be found [here](https://github.com/gluster/glusterfs/blob/v3.12.0alpha1/libglusterfs/src/common-utils.h#L835) + +### Developer related: glfs_ipc API in libgfapi is removed as a public interface +**Notes for users:** + +glfs_ipc API was maintained as a public API in the GFAPI libraries. This has +been removed as a public interface, from this release onwards. + +Any application, written directly to consume gfapi as a means of interfacing +with Gluster, using the mentioned API, would need to be modified to adapt to +this change. + +**NOTE:** As of this release there are no known public consumers of this +API + +## Major issues +1. Expanding a gluster volume that is sharded may cause file corruption + - Sharded volumes are typically used for VM images, if such volumes are + expanded or possibly contracted (i.e add/remove bricks and rebalance) there + are reports of VM images getting corrupted. + - The last known cause for corruption (Bug #1465123) has a fix with this + release. As further testing is still in progress, the issue is retained as + a major issue. + - Status of this bug can be tracked here, #1465123 ## Bugs addressed +Bugs addressed since release-3.11.0 are listed below. + +- [#1047975](https://bugzilla.redhat.com/1047975): glusterfs/extras: add a convenience script to label (selinux) gluster bricks +- [#1254002](https://bugzilla.redhat.com/1254002): [RFE] Have named pthreads for easier debugging +- [#1318100](https://bugzilla.redhat.com/1318100): RFE : SELinux translator to support setting SELinux contexts on files in a glusterfs volume +- [#1318895](https://bugzilla.redhat.com/1318895): Heal info shows incorrect status +- [#1326219](https://bugzilla.redhat.com/1326219): Make Gluster/NFS an optional component +- [#1356453](https://bugzilla.redhat.com/1356453): DHT: slow readdirp performance +- [#1366817](https://bugzilla.redhat.com/1366817): AFR returns the node uuid of the same node for every file in the replica +- [#1381970](https://bugzilla.redhat.com/1381970): GlusterFS Daemon stops working after a longer runtime and higher file workload due to design flaws? +- [#1400924](https://bugzilla.redhat.com/1400924): [RFE] Rsync flags for performance improvements +- [#1402406](https://bugzilla.redhat.com/1402406): Client stale file handle error in dht-linkfile.c under SPEC SFS 2014 VDA workload +- [#1414242](https://bugzilla.redhat.com/1414242): [whql][virtio-block+glusterfs]"Disk Stress" and "Disk Verification" job always failed on win7-32/win2012/win2k8R2 guest +- [#1421938](https://bugzilla.redhat.com/1421938): systemic testing: seeing lot of ping time outs which would lead to splitbrains +- [#1424817](https://bugzilla.redhat.com/1424817): Fix wrong operators, found by coverty +- [#1428061](https://bugzilla.redhat.com/1428061): Halo Replication feature for AFR translator +- [#1428673](https://bugzilla.redhat.com/1428673): possible repeatedly recursive healing of same file with background heal not happening when IO is going on +- [#1430608](https://bugzilla.redhat.com/1430608): [RFE] Pass slave volume in geo-rep as read-only +- [#1431908](https://bugzilla.redhat.com/1431908): Enabling parallel-readdir causes dht linkto files to be visible on the mount, +- [#1433906](https://bugzilla.redhat.com/1433906): quota: limit-usage command failed with error " Failed to start aux mount" +- [#1437748](https://bugzilla.redhat.com/1437748): Spacing issue in fix-layout status output +- [#1438966](https://bugzilla.redhat.com/1438966): Multiple bricks WILL crash after TCP port probing +- [#1439068](https://bugzilla.redhat.com/1439068): Segmentation fault when creating a qcow2 with qemu-img +- [#1442569](https://bugzilla.redhat.com/1442569): Implement Negative lookup cache feature to improve create performance +- [#1442788](https://bugzilla.redhat.com/1442788): Cleanup timer wheel in glfs_fini() +- [#1442950](https://bugzilla.redhat.com/1442950): RFE: Enhance handleops readdirplus operation to return handles along with dirents +- [#1444596](https://bugzilla.redhat.com/1444596): [Brick Multiplexing] : Bricks for multiple volumes going down after glusterd restart and not coming back up after volume start force +- [#1445609](https://bugzilla.redhat.com/1445609): [perf-xlators/write-behind] write-behind-window-size could be set greater than its allowed MAX value 1073741824 +- [#1446172](https://bugzilla.redhat.com/1446172): Brick Multiplexing :- resetting a brick bring down other bricks with same PID +- [#1446362](https://bugzilla.redhat.com/1446362): cli xml status of detach tier broken +- [#1446412](https://bugzilla.redhat.com/1446412): error-gen don't need to convert error string to int in every fop +- [#1446516](https://bugzilla.redhat.com/1446516): [Parallel Readdir] : Mounts fail when performance.parallel-readdir is set to "off" +- [#1447116](https://bugzilla.redhat.com/1447116): gfapi exports non-existing glfs_upcall_inode_get_event symbol +- [#1447266](https://bugzilla.redhat.com/1447266): [snapshot cifs]ls on .snaps directory is throwing input/output error over cifs mount +- [#1447389](https://bugzilla.redhat.com/1447389): Brick Multiplexing: seeing Input/Output Error for .trashcan +- [#1447609](https://bugzilla.redhat.com/1447609): server: fd should be refed before put into fdtable +- [#1447630](https://bugzilla.redhat.com/1447630): Don't allow rebalance/fix-layout operation on sharding enabled volumes till dht+sharding bugs are fixed +- [#1447826](https://bugzilla.redhat.com/1447826): potential endless loop in function glusterfs_graph_validate_options +- [#1447828](https://bugzilla.redhat.com/1447828): Should use dict_set_uint64 to set fd->pid when dump fd's info to dict +- [#1447953](https://bugzilla.redhat.com/1447953): Remove inadvertently merged IPv6 code +- [#1447960](https://bugzilla.redhat.com/1447960): [Tiering]: High and low watermark values when set to the same level, is allowed +- [#1447966](https://bugzilla.redhat.com/1447966): 'make cscope' fails on a clean tree due to missing generated XDR files +- [#1448150](https://bugzilla.redhat.com/1448150): USS: stale snap entries are seen when activation/deactivation performed during one of the glusterd's unavailability +- [#1448265](https://bugzilla.redhat.com/1448265): use common function iov_length to instead of duplicate code +- [#1448293](https://bugzilla.redhat.com/1448293): Implement FALLOCATE FOP for EC +- [#1448299](https://bugzilla.redhat.com/1448299): Mismatch in checksum of the image file after copying to a new image file +- [#1448364](https://bugzilla.redhat.com/1448364): limited throughput with disperse volume over small number of bricks +- [#1448640](https://bugzilla.redhat.com/1448640): Seeing error "Failed to get the total number of files. Unable to estimate time to complete rebalance" in rebalance logs +- [#1448692](https://bugzilla.redhat.com/1448692): use GF_ATOMIC to generate callid +- [#1448804](https://bugzilla.redhat.com/1448804): afr: include quorum type and count when dumping afr priv +- [#1448914](https://bugzilla.redhat.com/1448914): [geo-rep]: extended attributes are not synced if the entry and extended attributes are done within changelog roleover/or entry sync +- [#1449008](https://bugzilla.redhat.com/1449008): remove useless options from glusterd's volume set table +- [#1449232](https://bugzilla.redhat.com/1449232): race condition between client_ctx_get and client_ctx_set +- [#1449329](https://bugzilla.redhat.com/1449329): When either killing or restarting a brick with performance.stat-prefetch on, stat sometimes returns a bad st_size value. +- [#1449348](https://bugzilla.redhat.com/1449348): disperse seek does not correctly handle the end of file +- [#1449495](https://bugzilla.redhat.com/1449495): glfsheal: crashed(segfault) with disperse volume in RDMA +- [#1449610](https://bugzilla.redhat.com/1449610): [New] - Replacing an arbiter brick while I/O happens causes vm pause +- [#1450010](https://bugzilla.redhat.com/1450010): [gluster-block]:Need a volume group profile option for gluster-block volume to add necessary options to be added. +- [#1450559](https://bugzilla.redhat.com/1450559): Error 0-socket.management: socket_poller XX.XX.XX.XX:YYY failed (Input/output error) during any volume operation +- [#1450630](https://bugzilla.redhat.com/1450630): [brick multiplexing] detach a brick if posix health check thread complaints about underlying brick +- [#1450730](https://bugzilla.redhat.com/1450730): Add tests/basic/afr/gfid-mismatch-resolution-with-fav-child-policy.t to bad tests +- [#1450975](https://bugzilla.redhat.com/1450975): Fix on demand file migration from client +- [#1451083](https://bugzilla.redhat.com/1451083): crash in dht_rmdir_do +- [#1451162](https://bugzilla.redhat.com/1451162): dht: Make throttle option "normal" value uniform across dht_init and dht_reconfigure +- [#1451248](https://bugzilla.redhat.com/1451248): Brick Multiplexing: On reboot of a node Brick multiplexing feature lost on that node as multiple brick processes get spawned +- [#1451588](https://bugzilla.redhat.com/1451588): [geo-rep + nl]: Multiple crashes observed on slave with "nlc_lookup_cbk" +- [#1451724](https://bugzilla.redhat.com/1451724): glusterfind pre crashes with "UnicodeDecodeError: 'utf8' codec can't decode" error when the `--no-encode` is used +- [#1452006](https://bugzilla.redhat.com/1452006): tierd listens to a port. +- [#1452084](https://bugzilla.redhat.com/1452084): [Ganesha] : Stale linkto files after unsuccessfuly hardlinks +- [#1452102](https://bugzilla.redhat.com/1452102): [DHt] : segfault in dht_selfheal_dir_setattr while running regressions +- [#1452378](https://bugzilla.redhat.com/1452378): Cleanup unnecessary logs in fix_quorum_options +- [#1452527](https://bugzilla.redhat.com/1452527): Shared volume doesn't get mounted on few nodes after rebooting all nodes in cluster. +- [#1452956](https://bugzilla.redhat.com/1452956): glusterd on a node crashed after running volume profile command +- [#1453151](https://bugzilla.redhat.com/1453151): [RFE] glusterfind: add --end-time and --field-separator options +- [#1453977](https://bugzilla.redhat.com/1453977): Brick Multiplexing: Deleting brick directories of the base volume must gracefully detach from glusterfsd without impacting other volumes IO(currently seeing transport end point error) +- [#1454317](https://bugzilla.redhat.com/1454317): [Bitrot]: Brick process crash observed while trying to recover a bad file in disperse volume +- [#1454375](https://bugzilla.redhat.com/1454375): ignore incorrect uuid validation in gd_validate_mgmt_hndsk_req +- [#1454418](https://bugzilla.redhat.com/1454418): Glusterd segmentation fault in ' _Unwind_Backtrace' while running peer probe +- [#1454701](https://bugzilla.redhat.com/1454701): DHT: Pass errno as an argument to gf_msg +- [#1454865](https://bugzilla.redhat.com/1454865): [Brick Multiplexing] heal info shows the status of the bricks as "Transport endpoint is not connected" though bricks are up +- [#1454872](https://bugzilla.redhat.com/1454872): [Geo-rep]: Make changelog batch size configurable +- [#1455049](https://bugzilla.redhat.com/1455049): [GNFS+EC] Unable to release the lock when the other client tries to acquire the lock on the same file +- [#1455104](https://bugzilla.redhat.com/1455104): dht: dht self heal fails with no hashed subvol error +- [#1455179](https://bugzilla.redhat.com/1455179): [Geo-rep]: Log time taken to sync entry ops, metadata ops and data ops for each batch +- [#1455301](https://bugzilla.redhat.com/1455301): gluster-block is not working as expected when shard is enabled +- [#1455559](https://bugzilla.redhat.com/1455559): [Geo-rep]: METADATA errors are seen even though everything is in sync +- [#1455831](https://bugzilla.redhat.com/1455831): libglusterfs: updates old comment for 'arena_size' +- [#1456361](https://bugzilla.redhat.com/1456361): DHT : for many operation directory/file path is '(null)' in brick log +- [#1456385](https://bugzilla.redhat.com/1456385): glusterfs client crash on io-cache.so(__ioc_page_wakeup+0x44) +- [#1456405](https://bugzilla.redhat.com/1456405): Brick Multiplexing:dmesg shows request_sock_TCP: Possible SYN flooding on port 49152 and memory related backtraces +- [#1456582](https://bugzilla.redhat.com/1456582): "split-brain observed [Input/output error]" error messages in samba logs during parallel rm -rf +- [#1456653](https://bugzilla.redhat.com/1456653): nlc_lookup_cbk floods logs +- [#1456898](https://bugzilla.redhat.com/1456898): Regression test for add-brick failing with brick multiplexing enabled +- [#1457202](https://bugzilla.redhat.com/1457202): Use of force with volume start, creates brick directory even it is not present +- [#1457808](https://bugzilla.redhat.com/1457808): all: spelling errors (debian package maintainer) +- [#1457812](https://bugzilla.redhat.com/1457812): extras/hook-scripts: non-portable shell syntax (debian package maintainer) +- [#1457981](https://bugzilla.redhat.com/1457981): client fails to connect to the brick due to an incorrect port reported back by glusterd +- [#1457985](https://bugzilla.redhat.com/1457985): Rebalance estimate time sometimes shows negative values +- [#1458127](https://bugzilla.redhat.com/1458127): Upcall missing invalidations +- [#1458193](https://bugzilla.redhat.com/1458193): Implement seek() fop in trace translator +- [#1458197](https://bugzilla.redhat.com/1458197): io-stats usability/performance statistics enhancements +- [#1458539](https://bugzilla.redhat.com/1458539): [Negative Lookup]: negative lookup features doesn't seem to work on restart of volume +- [#1458582](https://bugzilla.redhat.com/1458582): add all as volume option in gluster volume get usage +- [#1458768](https://bugzilla.redhat.com/1458768): [Perf] 35% drop in small file creates on smbv3 on *2 +- [#1459402](https://bugzilla.redhat.com/1459402): brick process crashes while running bug-1432542-mpx-restart-crash.t in a loop +- [#1459530](https://bugzilla.redhat.com/1459530): [RFE] Need a way to resolve gfid split brains +- [#1459620](https://bugzilla.redhat.com/1459620): [geo-rep]: Worker crashed with TypeError: expected string or buffer +- [#1459781](https://bugzilla.redhat.com/1459781): Brick Multiplexing:Even clean Deleting of the brick directories of base volume is resulting in posix health check errors(just as we see in ungraceful delete methods) +- [#1459971](https://bugzilla.redhat.com/1459971): posix-acl: Whitelist virtual ACL xattrs +- [#1460225](https://bugzilla.redhat.com/1460225): Not cleaning up stale socket file is resulting in spamming glusterd logs with warnings of "got disconnect from stale rpc" +- [#1460514](https://bugzilla.redhat.com/1460514): [Ganesha] : Ganesha crashes while cluster enters failover/failback mode +- [#1460585](https://bugzilla.redhat.com/1460585): Revert CLI restrictions on running rebalance in VM store use case +- [#1460638](https://bugzilla.redhat.com/1460638): ec-data-heal.t fails with brick mux enabled +- [#1460659](https://bugzilla.redhat.com/1460659): Avoid one extra call of l(get|list)xattr system call after use buffer in posix_getxattr +- [#1461129](https://bugzilla.redhat.com/1461129): malformed cluster.server-quorum-ratio setting can lead to split brain +- [#1461648](https://bugzilla.redhat.com/1461648): Update GlusterFS README +- [#1461655](https://bugzilla.redhat.com/1461655): glusterd crashes when statedump is taken +- [#1461792](https://bugzilla.redhat.com/1461792): lk fop succeeds even when lock is not acquired on at least quorum number of bricks +- [#1461845](https://bugzilla.redhat.com/1461845): [Bitrot]: Inconsistency seen with 'scrub ondemand' - fails to trigger scrub +- [#1462200](https://bugzilla.redhat.com/1462200): glusterd status showing failed when it's stopped in RHEL7 +- [#1462241](https://bugzilla.redhat.com/1462241): glusterfind: syntax error due to uninitialized variable 'end' +- [#1462790](https://bugzilla.redhat.com/1462790): with AFR now making both nodes to return UUID for a file will result in georep consuming more resources +- [#1463178](https://bugzilla.redhat.com/1463178): [Ganesha]Bricks got crashed while running posix compliance test suit on V4 mount +- [#1463365](https://bugzilla.redhat.com/1463365): Changes for Maintainers 2.0 +- [#1463648](https://bugzilla.redhat.com/1463648): Use GF_XATTR_LIST_NODE_UUIDS_KEY to figure out local subvols +- [#1464072](https://bugzilla.redhat.com/1464072): cns-brick-multiplexing: brick process fails to restart after gluster pod failure +- [#1464091](https://bugzilla.redhat.com/1464091): Regression: Heal info takes longer time when a brick is down +- [#1464110](https://bugzilla.redhat.com/1464110): [Scale] : Rebalance ETA (towards the end) may be inaccurate,even on a moderately large data set. +- [#1464327](https://bugzilla.redhat.com/1464327): glusterfs client crashes when reading large directory +- [#1464359](https://bugzilla.redhat.com/1464359): selfheal deamon cpu consumption not reducing when IOs are going on and all redundant bricks are brought down one after another +- [#1465024](https://bugzilla.redhat.com/1465024): glusterfind: DELETE path needs to be unquoted before further processing +- [#1465075](https://bugzilla.redhat.com/1465075): Fd based fops fail with EBADF on file migration +- [#1465214](https://bugzilla.redhat.com/1465214): build failed with GF_DISABLE_MEMPOOL +- [#1465559](https://bugzilla.redhat.com/1465559): multiple brick processes seen on gluster(fs)d restart in brick multiplexing +- [#1466037](https://bugzilla.redhat.com/1466037): Fuse mount crashed with continuous dd on a file and reading the file in parallel +- [#1466110](https://bugzilla.redhat.com/1466110): dht_rename_lock_cbk crashes in upstream regression test +- [#1466188](https://bugzilla.redhat.com/1466188): Add scripts to analyze quota xattr in backend and identify accounting issues +- [#1466785](https://bugzilla.redhat.com/1466785): assorted typos and spelling mistakes from Debian lintian +- [#1467209](https://bugzilla.redhat.com/1467209): [Scale] : Rebalance ETA shows the initial estimate to be ~140 days,finishes within 18 hours though. +- [#1467277](https://bugzilla.redhat.com/1467277): [GSS] [RFE] add documentation on --xml and --mode=script options to gluster interactive help and man pages +- [#1467313](https://bugzilla.redhat.com/1467313): cthon04 can cause segfault in gNFS/NLM +- [#1467513](https://bugzilla.redhat.com/1467513): CIFS:[USS]: .snaps is not accessible from the CIFS client after volume stop/start +- [#1467718](https://bugzilla.redhat.com/1467718): [Geo-rep]: entry failed to sync to slave with ENOENT errror +- [#1467841](https://bugzilla.redhat.com/1467841): gluster volume status --xml fails when there are 100 volumes +- [#1467986](https://bugzilla.redhat.com/1467986): possible memory leak in glusterfsd with multiplexing +- [#1468191](https://bugzilla.redhat.com/1468191): Enable stat-prefetch in group virt +- [#1468261](https://bugzilla.redhat.com/1468261): Regression: non-disruptive(in-service) upgrade on EC volume fails +- [#1468279](https://bugzilla.redhat.com/1468279): metadata heal not happening despite having an active sink +- [#1468291](https://bugzilla.redhat.com/1468291): NFS Sub directory is getting mounted on solaris 10 even when the permission is restricted in nfs.export-dir volume option +- [#1468432](https://bugzilla.redhat.com/1468432): tests: fix stats-dump.t failure +- [#1468433](https://bugzilla.redhat.com/1468433): rpc: include current second in timed out frame cleanup on client +- [#1468863](https://bugzilla.redhat.com/1468863): Assert in mem_pools_fini during libgfapi-fini-hang.t on NetBSD +- [#1469029](https://bugzilla.redhat.com/1469029): Rebalance hangs on remove-brick if the target volume changes +- [#1469179](https://bugzilla.redhat.com/1469179): invoke checkpatch.pl with strict +- [#1469964](https://bugzilla.redhat.com/1469964): cluster/dht: Fix hardlink migration failures +- [#1470170](https://bugzilla.redhat.com/1470170): mem-pool: mem_pool_fini() doesn't release entire memory allocated +- [#1470220](https://bugzilla.redhat.com/1470220): glusterfs process leaking memory when error occurs +- [#1470489](https://bugzilla.redhat.com/1470489): bulk removexattr shouldn't allow removal of trusted.gfid/trusted.glusterfs.volume-id +- [#1470533](https://bugzilla.redhat.com/1470533): Brick Mux Setup: brick processes(glusterfsd) crash after a restart of volume which was preceded with some actions +- [#1470768](https://bugzilla.redhat.com/1470768): file /usr/lib64/glusterfs/3.12dev/xlator is not owned by any package +- [#1471790](https://bugzilla.redhat.com/1471790): [Brick Multiplexing] : cluster.brick-multiplex has no description. +- [#1472094](https://bugzilla.redhat.com/1472094): Test script failing with brick multiplexing enabled +- [#1472250](https://bugzilla.redhat.com/1472250): Remove fop_enum_to_string, get_fop_int usage in libglusterfs +- [#1472417](https://bugzilla.redhat.com/1472417): No clear method to multiplex all bricks to one process(glusterfsd) with cluster.max-bricks-per-process option +- [#1472949](https://bugzilla.redhat.com/1472949): [distribute] crashes seen upon rmdirs +- [#1475181](https://bugzilla.redhat.com/1475181): dht remove-brick status does not indicate failures files not migrated because of a lack of space +- [#1475192](https://bugzilla.redhat.com/1475192): [Scale] : Rebalance ETA shows the initial estimate to be ~140 days,finishes within 18 hours though. +- [#1475258](https://bugzilla.redhat.com/1475258): [Geo-rep]: Geo-rep hangs in changelog mode +- [#1475399](https://bugzilla.redhat.com/1475399): Rebalance estimate time sometimes shows negative values +- [#1475635](https://bugzilla.redhat.com/1475635): [Scale] : Client logs flooded with "inode context is NULL" error messages +- [#1475641](https://bugzilla.redhat.com/1475641): gluster core dump due to assert failed GF_ASSERT (brick_index < wordcount); +- [#1475662](https://bugzilla.redhat.com/1475662): [Scale] : Rebalance Logs are bulky. +- [#1476109](https://bugzilla.redhat.com/1476109): Brick Multiplexing: Brick process crashed at changetimerecorder(ctr) translator when restarting volumes +- [#1476208](https://bugzilla.redhat.com/1476208): [geo-rep]: few of the self healed hardlinks on master did not sync to slave +- [#1476653](https://bugzilla.redhat.com/1476653): cassandra fails on gluster-block with both replicate and ec volumes +- [#1476654](https://bugzilla.redhat.com/1476654): gluster-block default shard-size should be 64MB +- [#1476819](https://bugzilla.redhat.com/1476819): scripts: invalid test in S32gluster_enable_shared_storage.sh +- [#1476863](https://bugzilla.redhat.com/1476863): packaging: /var/lib/glusterd/options should be %config(noreplace) +- [#1476868](https://bugzilla.redhat.com/1476868): [EC]: md5sum mismatches every time for a file from the fuse client on EC volume +- [#1477152](https://bugzilla.redhat.com/1477152): [Remove-brick] Few files are getting migrated eventhough the bricks crossed cluster.min-free-disk value +- [#1477190](https://bugzilla.redhat.com/1477190): [GNFS] GNFS got crashed while mounting volume on solaris client +- [#1477381](https://bugzilla.redhat.com/1477381): Revert experimental and 4.0 features to prepare for 3.12 release +- [#1477405](https://bugzilla.redhat.com/1477405): eager-lock should be off for cassandra to work at the moment +- [#1477994](https://bugzilla.redhat.com/1477994): [Ganesha] : Ganesha crashes while cluster enters failover/failback mode +- [#1478276](https://bugzilla.redhat.com/1478276): separating attach tier and add brick |