"Fossies" - the Fresh Open Source Software Archive

Member "glusterfs-7.6/ChangeLog" (18 May 2020, 9808711 Bytes) of package /linux/misc/glusterfs-7.6.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 ===== git log ====
    2 commit bef7c8e54e89413ee419fcc369adaf74399c39b8
    3 Author: Rinku Kothiya <rkothiya@redhat.com>
    4 Date:   Sun May 17 12:05:49 2020 +0000
    5 
    6     doc: Added release 7.6 notes
    7     
    8     Fixes: #1247
    9     
   10     Change-Id: Ic9571066aa83fc2142e3583ddf1f1b885e83470c
   11     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
   12 
   13 commit b53ba17dbfd2d18c10e2c308b8899d36726ab440
   14 Author: Xavi Hernandez <xhernandez@redhat.com>
   15 Date:   Fri Apr 17 12:10:05 2020 +0200
   16 
   17     md-cache: fix several NULL dereferences
   18     
   19     This patch includes the following CID from Coverity Scan:
   20     
   21       * 1425196
   22       * 1425197
   23       * 1425198
   24       * 1425199
   25       * 1525200
   26     
   27     Change-Id: Iddcfea449d3dd56d4dfcc39f4c3c608518e611e4
   28     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
   29     Updates: #1060
   30 
   31 commit 4d3a249418ef6b391c93943ff29f58145448cf7b
   32 Author: Ravishankar N <ravishankar@redhat.com>
   33 Date:   Fri Apr 10 14:30:57 2020 +0530
   34 
   35     afr: event gen changes
   36     
   37     The general idea of the changes is to prevent resetting event generation
   38     to zero in the inode ctx, since event gen is something that should
   39     follow 'causal order'.
   40     
   41     Change #1:
   42     For a read txn, in inode refresh cbk, if event_generation is
   43     found zero, we are failing the read fop. This is not needed
   44     because change in event gen is only a marker for the next inode refresh to
   45     happen and should not be taken into account by the current read txn.
   46     
   47     Change #2:
   48     The event gen being zero above can happen if there is a racing lookup,
   49     which resets even get (in afr_lookup_done) if there are non zero afr
   50     xattrs. The resetting is done only to trigger an inode refresh and a
   51     possible client side heal on the next lookup. That can be acheived by
   52     setting the need_refresh flag in the inode ctx. So replaced all
   53     occurences of resetting even gen to zero with a call to
   54     afr_inode_need_refresh_set().
   55     
   56     Change #3:
   57     In both lookup and discover path, we are doing an inode refresh which is
   58     not required since all 3 essentially do the same thing- update the inode
   59     ctx with the good/bad copies from the brick replies. Inode refresh also
   60     triggers background heals, but I think it is okay to do it when we call
   61     refresh during the read and write txns and not in the lookup path.
   62     
   63     The .ts which relied on inode refresh in lookup path to trigger heals are
   64     now changed to do read txn so that inode refresh and the heal happens.
   65     
   66     Change-Id: Iebf39a9be6ffd7ffd6e4046c96b0fa78ade6c5ec
   67     Fixes: #1179
   68     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
   69     Reported-by: Erik Jacobson <erik.jacobson at hpe.com>
   70     (cherry picked from commit f0fcd909ad4535b60c9208d4804ebe6afe421a09)
   71 
   72 commit 75154550c5a3acda1a93b8304f0e393709a88530
   73 Author: Xavi Hernandez <xhernandez@redhat.com>
   74 Date:   Mon Mar 30 11:09:39 2020 +0200
   75 
   76     md-cache: avoid clearing cache when not necessary
   77     
   78     mdc_inode_xatt_set() blindly cleared current cache when dict was not
   79     NULL, even if there was no xattr requested.
   80     
   81     This patch fixes this by only calling mdc_inode_xatt_set() when we have
   82     explicitly requested something to cache.
   83     
   84     Change-Id: Idc91a4693f1ff39f7059acde26682ccc361b947d
   85     Fixes: #1140
   86     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
   87 
   88 commit d48de09adaffdf6b75f30d78f8a1cd287e6fa8ae
   89 Author: Soumya Koduri <skoduri@redhat.com>
   90 Date:   Mon Apr 6 12:36:44 2020 +0530
   91 
   92     gfapi: Suspend synctasks instead of blocking them
   93     
   94     There are certain conditions which blocks the current
   95     execution thread (like waiting on mutex lock or condition
   96     variable or I/O response). In such cases, if it is a
   97     synctask thread, we should suspend the task instead
   98     of blocking it (like done in SYNCOP using synctask_yield)
   99     
  100     This is to avoid deadlock like the one mentioned below -
  101     
  102     1) synctaskA sets fs->migration_in_progress to 1 and
  103        does I/O (LOOKUP)
  104     2) Other synctask threads wait for fs->migration_in_progress
  105       to be reset to 0 by synctaskA and hence blocked
  106     3) but synctaskA cannot resume as all synctask threads are blocked
  107        on (2).
  108     
  109     Note: this same approach is already used by few other components
  110     like syncbarrier etc.
  111     
  112     Change-Id: If90f870d663bb242c702a5b86ac52eeda67c6f0d
  113     Fixes: #1146
  114     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
  115     (cherry picked from commit 55914f968d907ed747774da15285b42653afda61)
  116 
  117 commit 41f0dbd6d9176bc65b5a39287ba490f734f39035
  118 Author: Csaba Henk <csaba@redhat.com>
  119 Date:   Tue Jan 7 19:43:05 2020 +0100
  120 
  121     fuse: degrade logging of write failure to fuse device
  122     
  123     Problem:
  124     
  125     FUSE uses failures of communicating with /dev/fuse with various
  126     errnos to indicate in-kernel conditions to userspace. Some of these
  127     shouldn't be handled as an application error. Also the standard
  128     POSIX errno description should not be shown as they are misleading
  129     in this context.
  130     
  131     Solution:
  132     
  133     When writing to the fuse device, the caller of the respective
  134     convenience routine can mask those errnos which don't qualify to
  135     be an error for the application in that context, so then those
  136     shall be reported at DEBUG level.
  137     
  138     The possible non-standard errnos are reported with their
  139     POSIX name instead of their description to avoid confusion.
  140     (Eg. for ENOENT we don't log "no such file or directory",
  141     we log indeed literal "ENOENT".)
  142     
  143     Change-Id: I510158843e4b1d482bdc496c2e97b1860dc1ba93
  144     >updates: bz#1193929
  145     updates: #1000
  146     Signed-off-by: Csaba Henk <csaba@redhat.com>
  147     (cherry picked from commit 1166df1920dd9b2bd5fce53ab49d27117db40238)
  148 
  149 commit df0a3c99dce0255bb39009684ed16f08cb685f1f
  150 Author: Rinku Kothiya <rkothiya@redhat.com>
  151 Date:   Thu Apr 16 05:46:33 2020 +0000
  152 
  153     doc: Added release 7.5 notes
  154     
  155     Fixes: #1174
  156     
  157     Change-Id: Idca6d5dd2d069435df9a6882a6bef32fb6916bb9
  158     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
  159 
  160 commit 608d824408898bfd299e84e1aa263201dc06b9cb
  161 Author: Mohit Agrawal <moagrawal@redhat.com>
  162 Date:   Thu Aug 22 15:51:43 2019 +0530
  163 
  164     posix: log aio_error return codes in posix_fs_health_check
  165     
  166     Problem: Sometime brick is going down to health check thread is
  167              failed without logging error codes return by aio system calls.
  168              As per aio_error man page it returns a positive error number
  169              if the asynchronous I/O operation failed.
  170     
  171     Solution: log aio_error return codes in error message
  172     
  173     > Change-Id: I2496b1bc16e602b0fd3ad53e211de11ec8c641ef
  174     > (Cherry picked from commit 032862fa3944fc7152140aaa13cdc474ae594a51)
  175     > (Reviwed on upstream link https://review.gluster.org/#/c/glusterfs/+/23284/
  176     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
  177     
  178     Change-Id: I2496b1bc16e602b0fd3ad53e211de11ec8c641ef
  179     Fixes: #1168
  180     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
  181 
  182 commit 03f6c600b201d672a251df95cd8a11decf94e7ef
  183 Author: Pranith Kumar K <pkarampu@redhat.com>
  184 Date:   Tue Apr 7 16:05:16 2020 +0530
  185 
  186     mount/fuse: Wait for 'mount' child to exit before dying
  187     
  188     Problem:
  189     tests/bugs/protocol/bug-1433815-auth-allow.t fails
  190     sometimes because of stale mount. This stale mount
  191     comes into picture when parent process dies without
  192     waiting for the child process which mounts fuse fs
  193     to die
  194     
  195     Fix:
  196     Wait for mounting child process to die before dying.
  197     
  198     Fixes: #1152
  199     Change-Id: I8baee8720e88614fdb762ea822d5877973eef8dc
  200     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
  201 
  202 commit 6ec035a26bb1101d0ec8c8664b5dd0fa6313fa48
  203 Author: Sunny Kumar <sunkumar@redhat.com>
  204 Date:   Thu Mar 26 10:46:16 2020 +0000
  205 
  206     snap_scheduler: python3 compatibility and new test case
  207     
  208     Problem:
  209     "snap_scheduler.py init" command failing with the below traceback:
  210     
  211     [root@dhcp43-104 ~]# snap_scheduler.py init
  212     Traceback (most recent call last):
  213       File "/usr/sbin/snap_scheduler.py", line 941, in <module>
  214         sys.exit(main(sys.argv[1:]))
  215       File "/usr/sbin/snap_scheduler.py", line 851, in main
  216         initLogger()
  217       File "/usr/sbin/snap_scheduler.py", line 153, in initLogger
  218         logfile = os.path.join(process.stdout.read()[:-1], SCRIPT_NAME + ".log")
  219       File "/usr/lib64/python3.6/posixpath.py", line 94, in join
  220         genericpath._check_arg_types('join', a, *p)
  221       File "/usr/lib64/python3.6/genericpath.py", line 151, in _check_arg_types
  222         raise TypeError("Can't mix strings and bytes in path components") from None
  223     TypeError: Can't mix strings and bytes in path components
  224     
  225     Solution:
  226     
  227     Added the 'universal_newlines' flag to Popen to support backward compatibility.
  228     
  229     Added a basic test for snapshot scheduler.
  230     
  231     Backport of:
  232     
  233        >Upstream patch:
  234        >https://review.gluster.org/#/c/glusterfs/+/24257/
  235        >Change-Id: I78e8fabd866fd96638747ecd21d292f5ca074a4e
  236        >Fixes: #1134
  237        >Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
  238        >(cherry picked from commit a7d7ec066e56ac03bf252c26beb20fdc2c3b6772)
  239     
  240     Change-Id: I78e8fabd866fd96638747ecd21d292f5ca074a4e
  241     Fixes: #1134
  242     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
  243 
  244 commit b0e61d5a15e61c7defd47781bf05a859b0145124
  245 Author: Pranith Kumar K <pkarampu@redhat.com>
  246 Date:   Thu Apr 2 15:30:28 2020 +0530
  247 
  248     features/utime: Don't access frame after stack-wind
  249     
  250     Problem:
  251     frame is accessed after stack-wind. This can lead to crash
  252     if the cbk frees the frame.
  253     
  254     Fix:
  255     Use new frame for the wind instead.
  256     
  257     Fixes: #832
  258     Change-Id: I64754609f1114b0bbd4d1336fa81a56f2cca6e03
  259     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
  260 
  261 commit 4fa2236fe0caa6f2ba0f2d9e3cbfa3655c324f2a
  262 Author: Xavi Hernandez <xhernandez@redhat.com>
  263 Date:   Fri Mar 27 23:56:15 2020 +0100
  264 
  265     write-behind: fix data corruption
  266     
  267     There was a bug in write-behind that allowed a previous completed write
  268     to overwrite the overlapping region of data from a future write.
  269     
  270     Suppose we want to send three writes (W1, W2 and W3). W1 and W2 are
  271     sequential, and W3 writes at the same offset of W2:
  272     
  273         W2.offset = W3.offset = W1.offset + W1.size
  274     
  275     Both W1 and W2 are sent in parallel. W3 is only sent after W2 completes.
  276     So W3 should *always* overwrite the overlapping part of W2.
  277     
  278     Suppose write-behind processes the requests from 2 concurrent threads:
  279     
  280         Thread 1                    Thread 2
  281     
  282         <received W1>
  283                                     <received W2>
  284         wb_enqueue_tempted(W1)
  285         /* W1 is assigned gen X */
  286                                     wb_enqueue_tempted(W2)
  287                                     /* W2 is assigned gen X */
  288     
  289                                     wb_process_queue()
  290                                       __wb_preprocess_winds()
  291                                         /* W1 and W2 are sequential and all
  292                                          * other requisites are met to merge
  293                                          * both requests. */
  294                                         __wb_collapse_small_writes(W1, W2)
  295                                         __wb_fulfill_request(W2)
  296     
  297                                       __wb_pick_unwinds() -> W2
  298                                       /* In this case, since the request is
  299                                        * already fulfilled, wb_inode->gen
  300                                        * is not updated. */
  301     
  302                                     wb_do_unwinds()
  303                                       STACK_UNWIND(W2)
  304     
  305                                     /* The application has received the
  306                                      * result of W2, so it can send W3. */
  307                                     <received W3>
  308     
  309                                     wb_enqueue_tempted(W3)
  310                                     /* W3 is assigned gen X */
  311     
  312                                     wb_process_queue()
  313                                       /* Here we have W1 (which contains
  314                                        * the conflicting W2) and W3 with
  315                                        * same gen, so they are interpreted
  316                                        * as concurrent writes that do not
  317                                        * conflict. */
  318                                       __wb_pick_winds() -> W3
  319     
  320                                     wb_do_winds()
  321                                       STACK_WIND(W3)
  322     
  323         wb_process_queue()
  324           /* Eventually W1 will be
  325            * ready to be sent */
  326           __wb_pick_winds() -> W1
  327           __wb_pick_unwinds() -> W1
  328             /* Here wb_inode->gen is
  329              * incremented. */
  330     
  331         wb_do_unwinds()
  332           STACK_UNWIND(W1)
  333     
  334         wb_do_winds()
  335           STACK_WIND(W1)
  336     
  337     So, as we can see, W3 is sent before W1, which shouldn't happen.
  338     
  339     The problem is that wb_inode->gen is only incremented for requests that
  340     have not been fulfilled but, after a merge, the request is marked as
  341     fulfilled even though it has not been sent to the brick. This allows
  342     that future requests are assigned to the same generation, which could
  343     be internally reordered.
  344     
  345     Solution:
  346     
  347     Increment wb_inode->gen before any unwind, even if it's for a fulfilled
  348     request.
  349     
  350     Special thanks to Stefan Ring for writing a reproducer that has been
  351     crucial to identify the issue.
  352     
  353     Change-Id: Id4ab0f294a09aca9a863ecaeef8856474662ab45
  354     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  355     Fixes: #884
  356 
  357 commit 0a67613d683cd07aea8d91243db7ef2298f25921
  358 Author: Amar Tumballi <amar@kadalu.io>
  359 Date:   Wed Mar 4 00:46:08 2020 +0530
  360 
  361     utime: resolve an issue of permission denied logs
  362     
  363     In case where uid is not set to be 0, there are possible errors
  364     from acl xlator. So, set `uid = 0;` with pid indicating this is
  365     set from UTIME activity.
  366     
  367     The message "E [MSGID: 148002] [utime.c:146:gf_utime_set_mdata_setxattr_cbk] 0-dev_SNIP_data-utime: dict set of key for set-ctime-mdata failed [Permission denied]" repeated 2 times between [2019-12-19 21:27:55.042634] and [2019-12-19 21:27:55.047887]
  368     
  369     Change-Id: Ieadf329835a40a13ac0bf908dac776e66954466c
  370     Updates: #832
  371     Signed-off-by: Amar Tumballi <amar@kadalu.io>
  372     (cherry picked from commit eb916c057036db8289b41265797e5dce066d1512)
  373 
  374 commit 6909b249139679acc2ffb04486b5743b7bef8a10
  375 Author: Krutika Dhananjay <kdhananj@redhat.com>
  376 Date:   Mon Mar 23 11:47:10 2020 +0530
  377 
  378     features/shard: Fix crash during shards cleanup in error cases
  379     
  380     A crash is seen during a reattempt to clean up shards in background
  381     upon remount. And this happens even on remount (which means a remount
  382     is no workaround for the crash).
  383     
  384     In such a situation, the in-memory base inode object will not be
  385     existent (new process, non-existent base shard).
  386     So local->resolver_base_inode will be NULL.
  387     
  388     In the event of an error (in this case, of space running out), the
  389     process would crash at the time of logging the error in the following line -
  390     
  391             gf_msg(this->name, GF_LOG_ERROR, local->op_errno, SHARD_MSG_FOP_FAILED,
  392                    "failed to delete shards of %s",
  393                    uuid_utoa(local->resolver_base_inode->gfid));
  394     
  395     Fixed that by using local->base_gfid as the source of gfid when
  396     local->resolver_base_inode is NULL.
  397     
  398     Change-Id: I0b49f2b58becd0d8874b3d4b14ff8d92a89d02d5
  399     Fixes: #1127
  400     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
  401     (cherry picked from commit cc43ac8651de9aa508b01cb259b43c02d89b2afc)
  402 
  403 commit b1071f4257f139ed2a01ffb881e05d1ac00a4d37
  404 Author: Ravishankar N <ravishankar@redhat.com>
  405 Date:   Mon Dec 24 13:00:19 2018 +0530
  406 
  407     afr: mark pending xattrs as a part of metadata heal
  408     
  409     ...if pending xattrs are zero for all children.
  410     
  411     Problem:
  412     If there are no pending xattrs and a metadata heal needs to be
  413     performed, it can be possible that we end up with xattrs inadvertendly
  414     deleted from all bricks, as explained in the  BZ.
  415     
  416     Fix:
  417     After picking one among the sources as the good copy, mark pending xattrs on
  418     all sources to blame the sinks. Now even if this metadata heal fails midway,
  419     a subsequent heal will still choose one of the valid sources that it
  420     picked previously.
  421     
  422     Updates: #1067
  423     Change-Id: If1b050b70b0ad911e162c04db4d89b263e2b8d7b
  424     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
  425     (cherry picked from commit 2d5ba449e9200b16184b1e7fc84cabd015f1f779)
  426 
  427 commit e9a9ef482cdcff4017590ec86a7c3f20dda6e459
  428 Author: Xavi Hernandez <xhernandez@redhat.com>
  429 Date:   Sun Mar 8 18:36:45 2020 +0100
  430 
  431     open-behind: fix missing fd reference
  432     
  433     Open behind was not keeping any reference on fd's pending to be
  434     opened. This makes it possible that a concurrent close and an entry
  435     fop (unlink, rename, ...) caused destruction of the fd while it
  436     was still being used.
  437     
  438     Change-Id: Ie9e992902cf2cd7be4af1f8b4e57af9bd6afd8e9
  439     Fixes: #1028
  440     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  441 
  442 commit 87742bdeeb6ed4cd39533d19a6254f336a3fd52e
  443 Author: Rinku Kothiya <rkothiya@redhat.com>
  444 Date:   Wed Mar 18 12:29:52 2020 +0000
  445 
  446     doc: Added release 7.4 notes
  447     
  448     Fixes: #1124
  449     
  450     Change-Id: I02fbb97ea7ab7617086ebcece07213e67cb1aa67
  451     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
  452 
  453 commit 5b9e4bbeb115d39e1a5e929b4ffbe981e4597ae7
  454 Author: Ashish Pandey <aspandey@redhat.com>
  455 Date:   Thu Jul 11 16:52:49 2019 +0530
  456 
  457     cluster/ec: Change handling of heal failure to avoid crash
  458     
  459     Problem:
  460     ec_getxattr_heal_cbk was called with NULL as second argument
  461     in case heal was failing.
  462     This function was dereferencing "cookie" argument which caused crash.
  463     
  464     Solution:
  465     Cookie is changed to carry the value that was supposed to be
  466     stored in fop->data, so even in the case when fop is NULL in error
  467     case, there won't be any NULL dereference.
  468     
  469     Thanks to Xavi for the suggestion about the fix.
  470     
  471     Change-Id: I0798000d5cadb17c3c2fbfa1baf77033ffc2bb8c
  472     updates: #1061
  473 
  474 commit 4bb9b30b4d7f49d17e57fad2540d9398c83d427a
  475 Author: Vishal Pandey <vpandey@redhat.com>
  476 Date:   Tue Nov 19 11:39:22 2019 +0530
  477 
  478     glusterd: Brick process fails to come up with brickmux on
  479     
  480     Issue:
  481     1- In a cluster of 3 Nodes N1, N2, N3. Create 3 volumes vol1,
  482     vol2, vol3 with 3 bricks (one from each node)
  483     2- Set cluster.brick-multiplex on
  484     3- Start all 3 volumes
  485     4- Check if all bricks on a node are running on same port
  486     5- Kill N1
  487     6- Set performance.readdir-ahead for volumes vol1, vol2, vol3
  488     7- Bring N1 up and check volume status
  489     8- All bricks processes not running on N1.
  490     
  491     Root Cause -
  492     Since, There is a diff in volfile versions in N1 as compared
  493     to N2 and N3 therefore glusterd_import_friend_volume() is called.
  494     glusterd_import_friend_volume() copies the new_volinfo and deletes
  495     old_volinfo and then calls glusterd_start_bricks().
  496     glusterd_start_bricks() looks for the volfiles and sends an rpc
  497     request to glusterfs_handle_attach(). Now, since the volinfo
  498     has been deleted by glusterd_delete_stale_volume()
  499     from priv->volumes list before glusterd_start_bricks() and
  500     glusterd_create_volfiles_and_notify_services() and
  501     glusterd_list_add_order is called after glusterd_start_bricks(),
  502     therefore the attach RPC req gets an empty volfile path
  503     and that causes the brick to crash.
  504     
  505     Fix- Call glusterd_list_add_order() and
  506     glusterd_create_volfiles_and_notify_services before
  507     glusterd_start_bricks() cal is made in glusterd_import_friend_volume
  508     
  509     > Change-Id: Idfe0e8710f7eb77ca3ddfa1cabeb45b2987f41aa
  510     > Bug: bz#1773856
  511     > Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
  512     (cherry picked from commit 45e81aae791da9d013aba2286af44826227c05ec)
  513     
  514     Change-Id: Idfe0e8710f7eb77ca3ddfa1cabeb45b2987f41aa
  515     fixes: bz#1808964
  516     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
  517 
  518 commit d17860ab2fb06984a0e7bf1740326c4b0f398c5c
  519 Author: Xavi Hernandez <xhernandez@redhat.com>
  520 Date:   Tue Jan 14 13:28:47 2020 +0100
  521 
  522     events: fix IPv6 memory corruption
  523     
  524     When an event was generated and the target host was resolved to an IPv6
  525     address, there was a memory overflow when that address was copied to a
  526     fixed IPv4 structure (IPv6 addresses are longer than IPv4 ones).
  527     
  528     This fix correctly handles IPv4 and IPv6 addresses returned by
  529     getaddrinfo()
  530     
  531     Backport of:
  532     > Change-Id: I5864a0c6e6f1b405bd85988529570140cf23b250
  533     > Fixes: bz#1790870
  534     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  535     
  536     Change-Id: I5864a0c6e6f1b405bd85988529570140cf23b250
  537     Fixes: #1030
  538     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  539 
  540 commit 933b46b4a3538794b3a29c8f7b6472b58998be6a
  541 Author: Atin Mukherjee <amukherj@redhat.com>
  542 Date:   Mon Jul 15 11:26:55 2019 +0530
  543 
  544     glusterd: stop stale bricks during handshaking in brick mux mode
  545     
  546     This patch addresses two problems:
  547     
  548     1. During friend handshaking, if a volume is imported due to change in
  549     the version, the old bricks were not stopped which would lead to a
  550     situation where bricks will run with old volfiles.
  551     
  552     2. As part of attaching shd service in glusterd_attach_svc, there might
  553     be a case that the volume for which we're attempting to attach a shd
  554     service might become stale and in the process of deletion and hence in
  555     every retrials (if the rpc connection isn't ready) check for the
  556     existance of the volume and then only attempt the further attach
  557     request.
  558     
  559     patch on master: https://review.gluster.org/#/c/glusterfs/+/23042/
  560     
  561     > Bug: bz#1733425
  562     > Change-Id: I6bac6b871f7e31cb5bf277db979289dec196a03e
  563     > Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
  564     > Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
  565     
  566     fixes: bz#1812849
  567     Change-Id: I6bac6b871f7e31cb5bf277db979289dec196a03e
  568     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
  569 
  570 commit dfaaace24d26d8e39f7783e99ac7440eafeced74
  571 Author: Xavi Hernandez <xhernandez@redhat.com>
  572 Date:   Fri Dec 20 14:14:32 2019 +0100
  573 
  574     multiple: fix bad type cast
  575     
  576     When using inode_ctx_get() or inode_ctx_set(), a 'uint64_t *' is expected.
  577     In many cases, the value to retrieve or store is a pointer, which will be
  578     of smaller size in some architectures (for example 32-bits). In this case,
  579     directly passing the address of the pointer casted to an 'uint64_t *' is
  580     wrong and can cause memory corruption.
  581     
  582     Backport of:
  583     > Change-Id: Iae616da9dda528df6743fa2f65ae5cff5ad23258
  584     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  585     > Fixes: bz#1785611
  586     
  587     Change-Id: Iae616da9dda528df6743fa2f65ae5cff5ad23258
  588     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  589     Fixes: bz#1785323
  590 
  591 commit 87f1163e83339b2c2923106e0d9a45e8a327bb7a
  592 Author: Xavi Hernandez <xhernandez@redhat.com>
  593 Date:   Sun Mar 1 19:49:04 2020 +0100
  594 
  595     cluster/afr: fix race when bricks come up
  596     
  597     The was a problem when self-heal was sending lookups at the same time
  598     that one of the bricks was coming up. In this case there was a chance
  599     that the number of 'up' bricks changes in the middle of sending the
  600     requests to subvolumes which caused a discrepancy in the expected
  601     number of replies and the actual number of sent requests.
  602     
  603     This discrepancy caused that AFR continued executing requests before
  604     all requests were complete. Eventually, the frame of the pending
  605     request was destroyed when the operation terminated, causing a use-
  606     after-free issue when the answer was finally received.
  607     
  608     In theory the same thing could happen in the reverse way, i.e. AFR
  609     tries to wait for more replies than sent requests, causing a hang.
  610     
  611     Backport of:
  612     > Change-Id: I7ed6108554ca379d532efb1a29b2de8085410b70
  613     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  614     > Fixes: bz#1808875
  615     
  616     Change-Id: I7ed6108554ca379d532efb1a29b2de8085410b70
  617     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  618     Fixes: bz#1809438
  619 
  620 commit f3b85b01e4b61a52598a6789c61997c5dad65bf0
  621 Author: Aravinda VK <avishwan@redhat.com>
  622 Date:   Mon Sep 16 10:04:26 2019 +0530
  623 
  624     eventsapi: Set IPv4/IPv6 family based on input IP
  625     
  626     server.sin_family was set to AF_INET while creating socket connection,
  627     this was failing if the input address is IPv6(`::1`).
  628     
  629     With this patch, sin_family is set by reading the ai_family of
  630     `getaddrinfo` result.
  631     
  632     Backport of:
  633     > Fixes: bz#1752330
  634     > Change-Id: I499f957b432842fa989c698f6e5b25b7016084eb
  635     > Signed-off-by: Aravinda VK <avishwan@redhat.com>
  636     
  637     Fixes: bz#1807785
  638     Change-Id: I499f957b432842fa989c698f6e5b25b7016084eb
  639     Signed-off-by: Aravinda VK <avishwan@redhat.com>
  640 
  641 commit 36e26424f5eabe1332a49c4ffaa3214d38675e29
  642 Author: Kinglong Mee <kinglongmee@gmail.com>
  643 Date:   Thu Jul 11 18:57:13 2019 +0800
  644 
  645     cluster/ec: skip updating ctx->loc again when ec_fix_open/opendir
  646     
  647     The ec_manager_open/opendir memsets ctx->loc which causes
  648     memory/inode leak, and ec_fheal uses ctx->loc out of fd->lock
  649     that loc_copy may copy bad data when memset it.
  650     
  651     This patch skips updating ctx->loc when it is initilizaed.
  652     With it, ctx->loc is filled once, and never updated.
  653     
  654     Change-Id: I3bf5ffce4caf4c1c667f7acaa14b451d37a3550a
  655     fixes: bz#1806843
  656     Signed-off-by: Kinglong Mee <mijinlong@horiscale.com>
  657 
  658 commit 2c5b724c0071ae184dd4bfd441d7346106387ed5
  659 Author: Ravishankar N <ravishankar@redhat.com>
  660 Date:   Tue Feb 11 14:34:48 2020 +0530
  661 
  662     afr: prevent spurious entry heals leading to gfid split-brain
  663     
  664     Problem:
  665     In a hyperconverged setup with granular-entry-heal enabled, if a file is
  666     recreated while one of the bricks is down, and an index heal is triggered
  667     (with the brick still down), entry-self heal was doing a spurious heal
  668     with just the 2 good bricks. It was doing a post-op leading to removal
  669     of the filename from .glusterfs/indices/entry-changes as well as
  670     erroneous setting of afr xattrs on the parent. When the brick came up,
  671     the xattrs were cleared, resulting in the renamed file not getting
  672     healed and leading to gfid split-brain and EIO on the mount.
  673     
  674     Fix:
  675     Proceed with entry heal only when shd can connect to all bricks of the replica,
  676     just like in data and metadata heal.
  677     
  678     fixes: bz#1804591
  679     Change-Id: I916ae26ad1fabf259bc6362da52d433b7223b17e
  680     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
  681     (cherry picked from commit 06453d77d056fbaa393a137ca277a20e38d2f67e)
  682 
  683 commit 9542e65cd342b4fb579dcaa60d31819a3fc1271a
  684 Author: Xavi Hernandez <xhernandez@redhat.com>
  685 Date:   Fri Feb 7 10:19:57 2020 +0100
  686 
  687     core: fix memory pool management races
  688     
  689     Objects allocated from a per-thread memory pool keep a reference to it
  690     to be able to return the object to the pool when not used anymore. The
  691     object holding this reference can have a long life cycle that could
  692     survive a glfs_fini() call.
  693     
  694     This means that it's unsafe to destroy memory pools from glfs_fini().
  695     
  696     Another side effect of destroying memory pools from glfs_fini() is that
  697     the TLS variable that points to one of those pools cannot be reset for
  698     all alive threads.  This means that any attempt to allocate memory from
  699     those threads will access already free'd memory, which is very
  700     dangerous.
  701     
  702     To fix these issues, mem_pools_fini() doesn't destroy pool lists
  703     anymore. They should be destroyed when the library is unloaded or the
  704     process is terminated, but this cannot be done right now because
  705     gluster doesn't stop other threads before calling exit(), which could
  706     cause some races.
  707     
  708     This patch is the backport of 2 master patches:
  709     > Change-Id: Ib189a5510ab6bdac78983c6c65a022e9634b0965
  710     > Fixes: bz#1801684
  711     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  712     >
  713     > Change-Id: Id7cfb4407fcf208e28f03a7c3cdc3ef9c1f3bf9b
  714     > Fixes: bz#1801684
  715     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  716     
  717     Change-Id: Id7cfb4407fcf208e28f03a7c3cdc3ef9c1f3bf9b
  718     Fixes: bz#1805668
  719     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
  720 
  721 commit fc0f7442f038ce86344dd6b735abcff6a50533b8
  722 Author: Ashish Pandey <aspandey@redhat.com>
  723 Date:   Fri Jan 3 16:54:33 2020 +0530
  724 
  725     cluster/thin-arbiter: Wait for TA connection before ta-file lookup
  726     
  727     Problem:
  728     When we mount a ta volume, as soon as 2 data bricks are connected
  729     we consider that the mount is done and then send a lookup/create on
  730     ta file on ta node. However, this connection with ta node might not
  731     have been completed.
  732     Due to this delay, ta replica id file will not be created and we
  733     will see ENOTCONN error in log file if we do lookup.
  734     
  735     Solution:
  736     As we know that this ta node could have a higher latency, we should
  737     wait for reasonable time for connection to happen before sending
  738     lookup/create on replica id file.
  739     
  740     fixes: bz#1804058
  741     Change-Id: I36f90865afe617e4e84cee57fec832a16f5dd6cc
  742     (cherry picked from commit a7fa54ddea3fe429f143b37e4de06a93b49d776a)
  743 
  744 commit 1d59dc3b37df2c5f960e0620c7e8c36760ff96c8
  745 Author: Rinku Kothiya <rkothiya@redhat.com>
  746 Date:   Mon Feb 17 11:06:15 2020 +0000
  747 
  748     doc: Added release 7.3 notes
  749     
  750     Fixes: bz#1803713
  751     
  752     Change-Id: I0ff6c3152624b8c8f8f76057a1948aed2dc3cec0
  753     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
  754 
  755 commit 8b45b798a1fec498cdad36c79c5976b607bb1be9
  756 Author: Amar Tumballi <amar@kadalu.io>
  757 Date:   Tue Feb 4 23:02:51 2020 +0530
  758 
  759     volgen: make thin-arbiter name unique in 'pending-xattr' option
  760     
  761     Thin-arbiter module makes use of 'pending-xattr' name for the translator
  762     as the filename which gets created in thin-arbiter node. By making this
  763     unique, we can host single thin-arbiter node for multiple clusters.
  764     
  765     Updates: #763
  766     Change-Id: Ib3c732e7e04e6dba229e71ae3e64f1f3cb6d794d
  767     Signed-off-by: Amar Tumballi <amar@kadalu.io>
  768     (cherry picked from commit 8db8202f716fd24c8c52f8ee5f66e169310dc9b1)
  769 
  770 commit 965503fc2d32d562c7956d4935f9c00768ed4e13
  771 Author: Pranith Kumar K <pkarampu@redhat.com>
  772 Date:   Tue Feb 11 15:42:05 2020 +0530
  773 
  774     tests: Fix spurious self-heald.t failure
  775     
  776     Problem:
  777     heal-info code assumes that all indices in xattrop directory
  778     definitely need heal. There is one corner case.
  779     The very first xattrop on the file will lead to adding the
  780     gfid to 'xattrop' index in fop path and in _cbk path it is
  781     removed because the fop is zero-xattr xattrop in success case.
  782     These gfids could be read by heal-info and shown as needing heal.
  783     
  784     Fix:
  785     Check the pending flag to see if the file definitely needs or
  786     not instead of which index is being crawled at the moment.
  787     
  788     fixes: bz#1802449
  789     Change-Id: I79f00dc7366fedbbb25ec4bec838dba3b34c7ad5
  790     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
  791     (cherry picked from commit d27df94016b5526c18ee964d4a47508326329dda)
  792 
  793 commit 04b4211c16799d6a85b496b8d845e29565fb884d
  794 Author: Mohit Agrawal <moagrawal@redhat.com>
  795 Date:   Tue Jan 21 21:09:56 2020 +0530
  796 
  797     server: Mount fails after reboot 1/3 gluster nodes
  798     
  799     Problem: At the time of coming up one server node(1x3) after reboot
  800     client is unmounted.The client is unmounted because a client
  801     is getting AUTH_FAILED event and client call fini for the graph.The
  802     client is getting AUTH_FAILED because brick is not attached with a
  803     graph at that moment
  804     
  805     Solution: To avoid the unmounting the client graph throw ENOENT error
  806               from server in case if brick is not attached with server at
  807               the time of authenticate clients.
  808     
  809     > Credits: Xavi Hernandez <xhernandez@redhat.com>
  810     > Change-Id: Ie6fbd73cbcf23a35d8db8841b3b6036e87682f5e
  811     > Fixes: bz#1793852
  812     > Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
  813     > (cherry picked from commit > f6421dff22a6ddaf14134f6894deae219948c89d)
  814     
  815     Change-Id: Ie6fbd73cbcf23a35d8db8841b3b6036e87682f5e
  816     Fixes: bz#1794019
  817     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
  818 
  819 commit ee8cb2e5c3094e787b156ba60ebfc9de9226c65a
  820 Author: l17zhou <cynthia.zhou@nokia-sbell.com.cn>
  821 Date:   Mon Nov 4 08:45:52 2019 +0200
  822 
  823     rpc: Cleanup SSL specific data at the time of freeing rpc object
  824     
  825     Problem: At the time of cleanup rpc object ssl specific data
  826              is not freeing so it has become a leak.
  827     
  828     Solution: To avoid the leak cleanup ssl specific data at the
  829               time of cleanup rpc object
  830     
  831     > Credits: l17zhou <cynthia.zhou@nokia-sbell.com.cn>
  832     > Fixes: bz#1768407
  833     > Change-Id: I37f598673ae2d7a33c75f39eb8843ccc6dffaaf0
  834     > (cherry picked from commit > > 54ed71dba174385ab0d8fa415e09262f6250430c)
  835     
  836     Change-Id: I37f598673ae2d7a33c75f39eb8843ccc6dffaaf0
  837     Fixes: bz#1795540
  838     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
  839 
  840 commit f77a946ad947045a04a8be0989379b2c5b7d0e8e
  841 Author: Xi Jinyu <xijinyu@cmss.chinamobile.com>
  842 Date:   Tue Jan 14 22:29:06 2020 -0500
  843 
  844     Fix possible resource leaks.
  845     
  846     xlators/features/quota/src/quota.c quota_log_usage function.
  847     The quota_log_helper() function applies memory
  848     for path through inode_path(), should be GF_FREE().
  849     
  850     Upstream Patch:
  851     https://review.gluster.org/#/c/glusterfs/+/24018/
  852     
  853     Backport of:
  854     
  855     >   fixes: bz#1792707
  856     >   Change-Id: I33143bdf272bf10837061df4a1b7b2fc146162d5
  857     >   Signed-off-by: Xi Jinyu <xijinyu@cmss.chinamobile.com>
  858     >   (cherry picked from commit 18549de12bcfafe4ac30fc2e11ad7a3f3c216b38)
  859     
  860     fixes: bz#1791154
  861     Change-Id: I33143bdf272bf10837061df4a1b7b2fc146162d5
  862     Signed-off-by: Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
  863 
  864 commit f4f24c8c782bf4fa601f7ef14bbf2e2b6583cd90
  865 Author: Pranith Kumar K <pkarampu@redhat.com>
  866 Date:   Thu Oct 24 12:24:35 2019 +0530
  867 
  868     gf-event: Handle unix volfile-servers
  869     
  870     Problem:
  871     glfsheal program uses unix-socket-based volfile server.
  872     volfile server will be the path to socket in this case.
  873     gf_event expects this to be hostname in all cases. So getaddrinfo
  874     will fail on the unix-socket path, events won't be sent in this case.
  875     
  876     Fix:
  877     In case of unix sockets, default to localhost
  878     
  879     fixes: bz#1793085
  880     Change-Id: I60d27608792c29d83fb82beb5fde5ef4754bece8
  881     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
  882 
  883 commit eff98516684b4d488e785e8d1b06f2876849f551
  884 Author: Sunny Kumar <sunkumar@redhat.com>
  885 Date:   Fri Jan 17 11:03:46 2020 +0000
  886 
  887     geo-rep: Fix ssh-port validation
  888     
  889     If non-standard ssh-port is used, Geo-rep can be configured to use ssh port
  890     by using config option, the value should be in allowed port range and non negative.
  891     
  892     At present it can accept negative value and outside allowed port range which is incorrect.
  893     
  894     Many Linux kernels use the port range 32768 to 61000.
  895     IANA suggests it should be in the range 1 to 2^16 - 1, so keeping the same.
  896     
  897     $ gluster volume geo-replication master 127.0.0.1::slave config ssh-port -22
  898     geo-replication config updated successfully
  899     $ gluster volume geo-replication master 127.0.0.1::slave config ssh-port 22222222
  900     geo-replication config updated successfully
  901     
  902     This patch fixes the above issue and have added few validations around this
  903     in test cases.
  904     Upstream Patch:
  905     https://review.gluster.org/#/c/glusterfs/+/24035/
  906     
  907     Backport of:
  908     >   Change-Id: I9875ab3f00d7257370fbac6f5ed4356d2fed3f3c
  909     >   Fixes: bz#1792276
  910     >   Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
  911     >   (cherry picked from commit 485212e858bddd97573a3b2b811357b0d822005a)
  912     
  913     Change-Id: I9875ab3f00d7257370fbac6f5ed4356d2fed3f3c
  914     Fixes: bz#1793412
  915     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
  916 
  917 commit 5ccd50176b4e45abf528ef6870c332ef5f05448e
  918 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
  919 Date:   Thu Jan 2 07:46:23 2020 -0500
  920 
  921     cli: duplicate defns of cli_default_conn_timeout and cli_ten_minutes_timeout
  922     
  923     Winter is coming. So is gcc-10.
  924     
  925     Compiling with gcc-10-20191219 snapshot reveals dupe defns of
  926     cli_default_conn_timeout and cli_ten_minutes_timeout in
  927     .../cli/src/cli.[ch] due to missing extern decl.
  928     
  929     There are many changes coming in gcc-10 described in
  930     https://gcc.gnu.org/gcc-10/changes.html
  931     
  932     compiling cli.c with gcc-9 we see:
  933        ...
  934             .quad   .LC88
  935             .comm   cli_ten_minutes_timeout,4,4
  936             .comm   cli_default_conn_timeout,4,4
  937             .text
  938        .Letext0:
  939        ...
  940     
  941     and with gcc-10:
  942        ...
  943             .quad   .LC88
  944             .globl  cli_ten_minutes_timeout
  945             .bss
  946             .align 4
  947             .type   cli_ten_minutes_timeout, @object
  948             .size   cli_ten_minutes_timeout, 4
  949        cli_ten_minutes_timeout:
  950             .zero   4
  951             .globl  cli_default_conn_timeout
  952             .align 4
  953             .type   cli_default_conn_timeout, @object
  954             .size   cli_default_conn_timeout, 4
  955        cli_default_conn_timeout:
  956             .zero   4
  957             .text
  958        .Letext0:
  959        ...
  960     
  961     which is reflected in the .o file as (gcc-9):
  962     ...
  963     0000000000000004 C cli_ten_minutes_timeout
  964     0000000000000004 C cli_default_conn_timeout
  965     ...
  966     
  967     and (gcc-10):
  968     ...
  969     0000000000000020 B cli_ten_minutes_timeout
  970     0000000000000024 B cli_default_conn_timeout
  971     ...
  972     
  973     See nm(1) and ld(1) for a description C (common) and B (BSS) and how
  974     they are treated by the linker.
  975     
  976     Note: gcc-10 will land in Fedora-32!
  977     
  978     Change-Id: I54ea485736a4910254eeb21222ad263721cdef3c
  979     Fixes: bz#1793492
  980     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
  981 
  982 commit 75873186505e3e25e902e914360e5d9d57fa1dbf
  983 Author: Rinku Kothiya <rkothiya@redhat.com>
  984 Date:   Wed Jan 15 09:44:20 2020 +0000
  985 
  986     doc: Added release 7.2 notes
  987     
  988     Fixes: bz#1791177
  989     
  990     Change-Id: I0d732f82217ee4fecf1d32df4be4b7492022c0ca
  991     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
  992 
  993 commit 30a89623992bdbe22da72a97efdebdf5271ec293
  994 Author: Shwetha K Acharya <sacharya@redhat.com>
  995 Date:   Tue Jan 14 10:51:06 2020 +0530
  996 
  997     tools/glusterfind: Remove an extra argument
  998     
  999     Backport of:
 1000        > Upstream Patch: https://review.gluster.org/#/c/glusterfs/+/24011/
 1001        >fixes: bz#1790748
 1002        >Change-Id: I1cb12c975142794139456d0f8e99fbdbb03c53a1
 1003        >Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 1004        >(cherry picked from commit d73872e764214f8071c8915536a75bdac1e5e685)
 1005     
 1006     fixes: bz#1790846
 1007     Change-Id: I1cb12c975142794139456d0f8e99fbdbb03c53a1
 1008     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1009 
 1010 commit 21f1115b2575cfd421224e00a14628c8b6d32ae2
 1011 Author: Kotresh HR <khiremat@redhat.com>
 1012 Date:   Fri Jan 10 16:48:14 2020 +0530
 1013 
 1014     glusterfind: Fix py2/py3 issues
 1015     
 1016     1. In dictionary values(), returns list in py2 and not in py3.
 1017        So explicitly convert it into list.
 1018     2. xattr module returns values in bytes. So explicitly convert
 1019        them to str to work both with py2 and py3
 1020     
 1021     Backport of:
 1022     
 1023     >   fixes: bz#1789439
 1024     >   Change-Id: I27a639cda4f7a4ece9744a97c3d16e247906bd94
 1025     >   Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1026     >   (cherry picked from commit 45894c39a4d05ed1f6a6f1bdbeafb5fe74ef29c3)
 1027     
 1028     Change-Id: I27a639cda4f7a4ece9744a97c3d16e247906bd94
 1029     Fixes: bz#1790423
 1030     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1031 
 1032 commit 76ef90aac43f36bea581b8be97d1204cd7867b0b
 1033 Author: Sunny Kumar <sunkumar@redhat.com>
 1034 Date:   Fri Jan 10 14:28:35 2020 +0000
 1035 
 1036     glusterfind: python3 compatibility
 1037     
 1038     Problem:
 1039     While we delete gluster volume the hook script 'S57glusterfind-delete-post.py'
 1040     is failed to execute and error message can be observed in glusterd log.
 1041     
 1042     Traceback:
 1043       File "/var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post", line 69, in <module>
 1044         main()
 1045       File "/var/lib/glusterd/hooks/1/delete/post/S57glusterfind-delete-post", line 39, in main
 1046         glusterfind_dir = os.path.join(get_glusterd_workdir(), "glusterfind")
 1047       File "/usr/lib64/python3.7/posixpath.py", line 94, in join
 1048         genericpath._check_arg_types('join', a, *p)
 1049       File "/usr/lib64/python3.7/genericpath.py", line 155, in _check_arg_types
 1050         raise TypeError("Can't mix strings and bytes in path components") from None
 1051     TypeError: Can't mix strings and bytes in path components
 1052     
 1053     Solution:
 1054     
 1055     Added the 'universal_newlines' flag to Popen to support backward compatibility.
 1056     
 1057     Backport of:
 1058     
 1059     >   Change-Id: Ie5655b11b55535c5ad2338108d0448e6fdaacf4f
 1060     >   Fixes: bz#1789478
 1061     >   Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1062     >   (cherry picked from commit 33c3cbe71b67f523538b04334f1ef962953281ed)
 1063     
 1064     Change-Id: Ie5655b11b55535c5ad2338108d0448e6fdaacf4f
 1065     Fixes: bz#1790438
 1066     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1067 
 1068 commit cf0569e590afdb095bf0a0541bd91a502a90b461
 1069 Author: Milind Changire <mchangir@redhat.com>
 1070 Date:   Thu Jan 5 19:53:19 2017 +0530
 1071 
 1072     tools/glusterfind: handle offline bricks
 1073     
 1074     Problem:
 1075     glusterfind is unable to copy remote output file to local node when a
 1076     remove-brick is in progress on the remote node. After copying remote
 1077     files, in the --full output listing path, a "sort -u" command is run on
 1078     the collected files. However, "sort" exits with an error code if it
 1079     finds any file missing.
 1080     
 1081     Solution:
 1082     Maintain a map of (pid, output file) when the node commands are started
 1083     and remove the mapping for the pid for which the command returns an
 1084     error. Use the list of files present in the map for the "sort" command.
 1085     
 1086     Backport of:
 1087     
 1088     >    Change-Id: Ie6e019037379f4cb163f24b1c65eb382efc2fb3b
 1089     >    fixes: bz#1410439
 1090     >    Signed-off-by: Milind Changire <mchangir@redhat.com>
 1091     >    Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 1092     >    (cherry picked from commit 42c1605f42b89520d4d05806d7074e9e93b63640)
 1093     
 1094     Change-Id: Ie6e019037379f4cb163f24b1c65eb382efc2fb3b
 1095     Fixes: bz#1790428
 1096     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1097 
 1098 commit 98a940f0d42d42125821dbd0e08a2271c01dfc26
 1099 Author: HuangShujun <549702281@qq.com>
 1100 Date:   Thu Dec 5 10:07:10 2019 +0200
 1101 
 1102     To fix readdir-ahead memory leak
 1103     
 1104     Glusterfs client process has memory leak if create serveral files under one folder, and delete the folder.
 1105     According to statedump, the ref counts of readdir-ahead is bigger than zero in the inode table. Readdir-ahead get parent inode by inode_parent in rda_mark_inode_dirty when each rda_writev_cbk,the inode ref count of parent folder will be increased in inode_parent, but readdir-ahead do not unref it later.
 1106     The correction is unref the parent inode at the end of rda_mark_inode_dirty
 1107     
 1108     Backport of:
 1109     > Change-Id: Iee68ab1089cbc2fbc4185b93720fb1f66ee89524
 1110     > Fixes: bz#1779055
 1111     > Signed-off-by: HuangShujun <549702281@qq.com>
 1112     
 1113     Change-Id: Iee68ab1089cbc2fbc4185b93720fb1f66ee89524
 1114     (cherry picked from commit 99044a5cedcff9a9eec40a07ecb32bd66271cd02)
 1115     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 1116     Fixes: bz#1789336
 1117 
 1118 commit 2fc16af00b12b3aa92d373aa1d5a4b9fd6ce6b94
 1119 Author: Xavi Hernandez <xhernandez@redhat.com>
 1120 Date:   Thu Dec 19 11:58:54 2019 +0100
 1121 
 1122     timer: fix event destruction race
 1123     
 1124     In current timer implementation, each event has an absolute time at which
 1125     it will be fired. When the first timer of the queue has not elapsed yet,
 1126     a pthread_cond_timedwait() is used to wait until the expected time.
 1127     
 1128     Apparently that's fine. However the time passed to that function was a
 1129     pointer to the timespec structure contained in the event itself. This is
 1130     problematic because of how pthread_cond_timedwait() works internally.
 1131     
 1132     Simplifying a bit, pthread_cond_timedwait() basically queues itself as a
 1133     waiter for the given condition variable and releases the mutex. Then it
 1134     does the timed wait using the passed value.
 1135     
 1136     With that in mind, the follwing case is possible:
 1137     
 1138        Timer Thread                            Other Thread
 1139        ------------                            ------------
 1140     
 1141     					   gf_timer_call_cancel()
 1142        pthread_mutex_lock()                    |
 1143                                                + pthread_mutex_lock()
 1144        event = current_event()                 |
 1145        pthread_cond_timedwait(&event->at)      |
 1146        + pthread_mutex_unlock()                |
 1147        |                                       + remove_event()
 1148        |                                       + destroy_event()
 1149        + timed_wait(&event->at)
 1150     
 1151     As we can see, the time is used after it has been destroyed, which means
 1152     we have a use-after-free problem.
 1153     
 1154     This patch fixes the problem by copying the time to a local variable
 1155     before calling pthread_cond_timedwait()
 1156     
 1157     Backport of:
 1158     > Change-Id: I0f4e8eded24fe3a1276dc75c6cf093bae973d26b
 1159     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 1160     > Fixes: bz#1785208
 1161     
 1162     Change-Id: I0f4e8eded24fe3a1276dc75c6cf093bae973d26b
 1163     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 1164     Fixes: bz#1767264
 1165 
 1166 commit dc2c94c6df87cb3e97adfff080123db883f7a591
 1167 Author: Ravishankar N <ravishankar@redhat.com>
 1168 Date:   Wed Jan 8 11:11:53 2020 +0530
 1169 
 1170     afr: expose cluster.optimistic-change-log to CLI.
 1171     
 1172     Backport of https://review.gluster.org/#/c/glusterfs/+/23960/
 1173     
 1174     This volume option was not made avaialble to `gluster volume set` CLI.
 1175     
 1176     Reported-by: epolakis(https://github.com/kinsu) in
 1177     https://github.com/gluster/glusterfs/issues/781
 1178     
 1179     fixes: bz#1788785
 1180     Change-Id: I7141bdd4e53ee99e22b354edde8d023bfc0b2cd7
 1181     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 1182 
 1183 commit 425518cec6e62dd8e3b185fd33b6c03aa3dc1459
 1184 Author: Sunny Kumar <sunkumar@redhat.com>
 1185 Date:   Fri Dec 27 13:26:04 2019 +0000
 1186 
 1187     extras: enable log rotation for USS logs
 1188     
 1189     Added logrotate support for user serviceable snapshot's logs.
 1190     
 1191     Backport of:
 1192     
 1193         >Change-Id: Ic920eaa8ab5e44daf5937a027c6913d7bb26d517
 1194         >Fixes: bz#1786722
 1195         >Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1196     
 1197     Change-Id: Ic920eaa8ab5e44daf5937a027c6913d7bb26d517
 1198     Fixes: bz#1786753
 1199     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1200 
 1201 commit 385a37bb456cd6fc05b4c9f2781c172d968de187
 1202 Author: Rinku Kothiya <rkothiya@redhat.com>
 1203 Date:   Wed Dec 18 12:35:27 2019 +0000
 1204 
 1205     doc: Added release 7.1 notes
 1206     
 1207     Fixes: bz#1778047
 1208     
 1209     Change-Id: I52f9ee376d6816ecaf522fab962ea340f20d13fb
 1210     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 1211 
 1212 commit 11343b3f8492f2366c57a869d04fdb5aeeed7483
 1213 Author: Homma <homma@allworks.co.jp>
 1214 Date:   Fri Jul 5 16:10:41 2019 +0530
 1215 
 1216     system/posix-acl: update ctx only if iatt is non-NULL
 1217     
 1218     We need to safe-guard against possible zero'ing out of iatt
 1219     structure in acl ctx, which can cause many issues.
 1220     
 1221     > fixes: bz#1668286
 1222     > Change-Id: Ie81a57d7453a6624078de3be8c0845bf4d432773
 1223     > Signed-off-by: Amar Tumballi <amarts@redhat.com>
 1224     > (cherry picked from commit 6bf9637a93011298d032332ca93009ba4e377e46)
 1225     
 1226     fixes: bz#1785493
 1227     Change-Id: Ie81a57d7453a6624078de3be8c0845bf4d432773
 1228     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
 1229 
 1230 commit c1cb279649b3d0c4ba88dbf0ddfd179ce6f5798f
 1231 Author: Anoop C S <anoopcs@redhat.com>
 1232 Date:   Sat Aug 10 10:30:26 2019 +0530
 1233 
 1234     performance/md-cache: Do not skip caching of null character xattr values
 1235     
 1236     Null character string is a valid xattr value in file system. But for
 1237     those xattrs processed by md-cache, it does not update its entries if
 1238     value is null('\0'). This results in ENODATA when those xattrs are
 1239     queried afterwards via getxattr() causing failures in basic operations
 1240     like create, copy etc in a specially configured Samba setup for Mac OS
 1241     clients.
 1242     
 1243     On the other side snapview-server is internally setting empty string("")
 1244     as value for xattrs received as part of listxattr() and are not intended
 1245     to be cached. Therefore we try to maintain that behaviour using an
 1246     additional dictionary key to prevent updation of entries in getxattr()
 1247     and fgetxattr() callbacks in md-cache.
 1248     
 1249     Credits: Poornima G <pgurusid@redhat.com>
 1250     
 1251     Change-Id: I7859cbad0a06ca6d788420c2a495e658699c6ff7
 1252     Fixes: bz#1785228
 1253     Signed-off-by: Anoop C S <anoopcs@redhat.com>
 1254     (cherry picked from commit b4b683736367d93daad08a5ee6ca95778c07c5a4)
 1255 
 1256 commit c184706397c933447c15b16e5605eafab8150dd9
 1257 Author: Sunny Kumar <sunkumar@redhat.com>
 1258 Date:   Mon Dec 16 12:52:41 2019 +0000
 1259 
 1260     test: fix non-root test case for geo-rep
 1261     
 1262     Problem:
 1263     On a freshly installed system non-root geo-rep test case gets blocked.
 1264     
 1265     Solution:
 1266     
 1267     On a freshly installed system, the remote key need to be accepted automatically by ssh-copy-id.
 1268     
 1269     Credits: M. Scherer <mscherer@redhat.com>
 1270     
 1271     Backport of:
 1272     >    Change-Id: I5077f99a6681660f7e3e84c25ef216f521b7c29c
 1273     >    Fixes: bz#1779742
 1274     >    Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1275     
 1276     Change-Id: I5077f99a6681660f7e3e84c25ef216f521b7c29c
 1277     Fixes: bz#1784790
 1278     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1279 
 1280 commit 4c28fd05c5e0792b96d38497d20eb36462ad7a9e
 1281 Author: Xavi Hernandez <xhernandez@redhat.com>
 1282 Date:   Wed Dec 11 18:21:14 2019 +0100
 1283 
 1284     socket: fix error handling
 1285     
 1286     When __socket_proto_state_machine() detected a problem in the size of
 1287     the request or it couldn't allocate an iobuf of the requested size, it
 1288     returned -ENOMEM (-12). However the caller was expecting only -1 in
 1289     case of error. For this reason the error passes undetected initially,
 1290     adding back the socket to the epoll object. On further processing,
 1291     however, the error is finally detected and the connection terminated.
 1292     Meanwhile, another thread could receive a poll_in event from the same
 1293     connection, which could cause races with the connection destruction.
 1294     When this happened, the process crashed.
 1295     
 1296     To fix this, all error detection conditions have been hardened to be
 1297     more strict on what is valid and what not. Also, we don't return
 1298     -ENOMEM anymore. We always return -1 in case of error.
 1299     
 1300     An additional change has been done to prevent destruction of the
 1301     transport object while it may still be needed.
 1302     
 1303     Backport of:
 1304     > Change-Id: I6e59cd81cbf670f7adfdde942625d4e6c3fbc82d
 1305     > Fixes: bz#1782495
 1306     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 1307     
 1308     Change-Id: I6e59cd81cbf670f7adfdde942625d4e6c3fbc82d
 1309     Fixes: bz#1783227
 1310     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 1311 
 1312 commit ac108947b0f25293c154707b70ea01eb3774f542
 1313 Author: Ravishankar N <ravishankar@redhat.com>
 1314 Date:   Thu Nov 7 15:18:30 2019 +0530
 1315 
 1316     afr: make heal info lockless
 1317     
 1318     Changes in locks xlator:
 1319     Added support for per-domain inodelk count requests.
 1320     Caller needs to set GLUSTERFS_MULTIPLE_DOM_LK_CNT_REQUESTS key in the
 1321     dict and then set each key with name
 1322     'GLUSTERFS_INODELK_DOM_PREFIX:<domain name>'.
 1323     In the response dict, the xlator will send the per domain count as
 1324     values for each of these keys.
 1325     
 1326     Changes in AFR:
 1327     Replaced afr_selfheal_locked_inspect() with afr_lockless_inspect(). Logic has
 1328     been added to make the latter behave same as the former, thus not
 1329     breaking the current heal info output behaviour.
 1330     
 1331     fixes: bz#1783858
 1332     Change-Id: Ie9e83c162aa77f44a39c2ba7115de558120ada4d
 1333     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 1334     (cherry picked from commit d7e049160a9dea988ded5816491c2234d40ab6b3)
 1335 
 1336 commit 749c1b461cc38b0f61a7d9bfdfe54af7d24ee69b
 1337 Author: Mohit Agrawal <moagrawal@redhat.com>
 1338 Date:   Tue Dec 10 08:35:23 2019 +0530
 1339 
 1340     rpc: event_slot_alloc converted infinite loop after reach slot_used to 1024
 1341     
 1342     Problem: In the commit faf5ac13c4ee00a05e9451bf8da3be2a9043bbf2 missed one
 1343              condition to come out from the loop so after reach the slot_used to
 1344              1024 loop has become infinite loop
 1345     
 1346     Solution: Correct the code path to avoid the infinite loop
 1347     
 1348     > Change-Id: Ia02a109571f0d8cc9902c32db3e9b9282ee5c1db
 1349     > Fixes: bz#1781440
 1350     > Credits: Xavi Hernandez <xhernandez@redhat.com>
 1351     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 1352     > (cherry picked from commit 8030f9c0f092170ceb50cedf59b9c330022825b7)
 1353     
 1354     Change-Id: Ia02a109571f0d8cc9902c32db3e9b9282ee5c1db
 1355     Fixes: bz#1782826
 1356     Credits: Xavi Hernandez <xhernandez@redhat.com>
 1357     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 1358 
 1359 commit 6db4846134c9bd2558d5635e435300ae669496c9
 1360 Author: Anoop C S <anoopcs@redhat.com>
 1361 Date:   Fri Nov 22 17:36:55 2019 +0530
 1362 
 1363     extras/hooks: Remove smb.conf parameter allowing guest access
 1364     
 1365     Change-Id: I88f494f16153d27ab6e2f2faf4d557e075671b10
 1366     Fixes: bz#1781483
 1367     Signed-off-by: Anoop C S <anoopcs@redhat.com>
 1368 
 1369 commit cc888b0bd2e8be69395393eede2b7f3f9cd893a6
 1370 Author: yinkui <13965432176@163.com>
 1371 Date:   Fri Aug 16 10:15:07 2019 +0800
 1372 
 1373     gluster-smb:add smb parameter when access gluster by cifs
 1374     
 1375     Change-Id: I9ff54f2ca6f86bb5b2f4740485a0159e1fd7785f
 1376     Fixes: bz#1781486
 1377     Signed-off-by: yinkui <13965432176@163.com>
 1378 
 1379 commit 286e17ac84428f581330ae2a4b0b5912e559e795
 1380 Author: Mohit Agrawal <moagrawal@redhat.com>
 1381 Date:   Thu Oct 3 14:06:52 2019 +0530
 1382 
 1383     rpc: Synchronize slot allocation code
 1384     
 1385     Problem: Current slot allocation/deallocation code path is not
 1386              synchronized.There are scenario when due to race condition
 1387              in slot allocation/deallocation code path brick is crashed.
 1388     
 1389     Solution: Synchronize slot allocation/deallocation code path to
 1390               avoid the issue
 1391     
 1392     > Change-Id: I4fb659a75234218ffa0e5e0bf9308f669f75fc25
 1393     > Fixes: bz#1763036
 1394     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 1395     > (cherry picked from commit faf5ac13c4ee00a05e9451bf8da3be2a9043bbf2)
 1396     
 1397     Change-Id: I4fb659a75234218ffa0e5e0bf9308f669f75fc25
 1398     Fixes: bz#1778175
 1399     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
 1400 
 1401 commit 2a5480c013982c1edb04d96dd04c989325b02388
 1402 Author: Amar Tumballi <amar@kadalu.io>
 1403 Date:   Tue Nov 26 12:53:11 2019 +0530
 1404 
 1405     rpcsvc: fix subnet_mask_v4 check
 1406     
 1407     The check we had for subnet mask validation wasn't checking in
 1408     proper sequence. Corrected the order of calling `inet_pton()` as
 1409     the fix.
 1410     
 1411     Fixes: bz#1777769
 1412     Change-Id: I5d31468eb917aa94cbb85f573b37c60023e9daf3
 1413     Signed-off-by: Amar Tumballi <amar@kadalu.io>
 1414     (cherry picked from commit d60935d1011e387115e0445629976196f566b3b1)
 1415 
 1416 commit ada2e64bbf4dbf555c5a5c19989eafed1893a137
 1417 Author: Sunny Kumar <sunkumar@redhat.com>
 1418 Date:   Thu Oct 24 14:40:37 2019 +0530
 1419 
 1420     test: fix suspicous non-root geo-rep test failures
 1421     
 1422     Export of env variable is required for ssh-copy-id command.
 1423     
 1424     Backport of:
 1425     
 1426         >fixes: bz#1765426
 1427         >Change-Id: Icaf7a848cb8f4ae9f887d885a8c5bb71f26633b4
 1428         >Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1429         >(cherry picked from commit febfa9f2ec9dfc5dbf4a68c3518f98364ebc461)
 1430     
 1431     Change-Id: Ic244b065db9959c0c6ba952955f0f68e3f96e925
 1432     fixes: bz#1765431
 1433     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1434 
 1435 commit 0520a943c3a5192d2cc92540ddeaf641093ff6af
 1436 Author: N Balachandran <nbalacha@redhat.com>
 1437 Date:   Thu Nov 7 08:55:41 2019 +0530
 1438 
 1439     cluster/dht: Correct fd processing loop
 1440     
 1441     The fd processing loops in the
 1442     dht_migration_complete_check_task and the
 1443     dht_rebalance_inprogress_task functions were unsafe
 1444     and could cause an open to be sent on an already freed
 1445     fd. This has been fixed.
 1446     
 1447     Change-Id: I0a3c7d2fba314089e03dfd704f9dceb134749540
 1448     fixes: bz#1769315
 1449     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 1450 
 1451 commit 855df074ea6d41195607e34126e494e19f5df0be
 1452 Author: Xie Changlong <xiechanglong@cmss.chinamobile.com>
 1453 Date:   Fri Jul 5 15:16:23 2019 +0800
 1454 
 1455     gnfs: use strcpy to prevent memory overflow
 1456     
 1457     
 1458     fixes: bz#1775495
 1459     Change-Id: Iea289032a8feecf2945668d3fb44a6a53089fdea
 1460     Signed-off-by: Xie Changlong <xiechanglong@cmss.chinamobile.com>
 1461     (cherry picked from commit 99d210a704d2e85c95fac5edcf435bd059aad368)
 1462 
 1463 commit 16331f6df4f45dfce6f7e03afc2057b5b543bc93
 1464 Author: Kotresh HR <khiremat@redhat.com>
 1465 Date:   Tue Nov 12 21:53:20 2019 +0530
 1466 
 1467     geo-rep: Fix py2/py3 compatibility in repce
 1468     
 1469     Geo-rep fails to start on python2 only machine like
 1470     centos6. It fails with "ImportError no module named _io".
 1471     This patch fixes the same.
 1472     
 1473     Backport of:
 1474      > Patch: https://review.gluster.org/23702/
 1475      > BUG: 1771577
 1476      > Change-Id: I8228458a853a230546f9faf29a0e9e0f23b3efec
 1477      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1478     (cherry picked from commit 9595ecca3de49fdf37d30b151f5c3e071e0a80d0)
 1479     
 1480     Change-Id: I8228458a853a230546f9faf29a0e9e0f23b3efec
 1481     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1482     fixes: bz#1771840
 1483 
 1484 commit 7f58624cbf88e235dc44714c5f5b00cffcab6b59
 1485 Author: karthik-us <ksubrahm@redhat.com>
 1486 Date:   Thu Sep 5 16:14:50 2019 +0530
 1487 
 1488     cluster/afr: Heal entries when there is a source & no healed_sinks
 1489     
 1490     Problem:
 1491     In a situation where B1 blames B2, B2 blames B1 and B3 doesn't blame
 1492     anything for entry heal, heal will not complete even though we have
 1493     clear source and sinks. This will happen because while doing
 1494     afr_selfheal_find_direction() only the bricks which are blamed by
 1495     non-accused bricks are considered as sinks. Later in
 1496     __afr_selfheal_entry_finalize_source() when it tries to mark all the
 1497     non-sources as sinks it fails to do so because there won't be any
 1498     healed_sinks marked, no witness present and there will be a source.
 1499     
 1500     Fix:
 1501     If there is a source and no healed_sinks, then reset all the locked
 1502     sources to 0 and healed sinks to 1 to do conservative merge.
 1503     
 1504     Change-Id: If40d8bc95d52a52b2730f55bdcf135109b421548
 1505     Fixes: bz#1760699
 1506     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 1507 
 1508 commit a6c1a84b47110ec9e72f25db7ed5af9de64d3ff4
 1509 Author: Mohit Agrawal <moagrawal@redhat.com>
 1510 Date:   Tue Oct 22 18:52:25 2019 +0530
 1511 
 1512     extras: Cgroup(CPU/Mem) restriction are not working on gluster process
 1513     
 1514     Problem: After Configure the Cgroup(CPU/MEM) limit to a gluster processes
 1515              resource(CPU/MEM) limits are not applicable to the gluster
 1516              processes.Cgroup limits are not applicable because all threads are
 1517              not moved into a newly created cgroup to apply restriction.
 1518     
 1519     Solution: To move a gluster thread to newly created cgroup change the
 1520               condition in script
 1521     
 1522     > Change-Id: I8ad81c69200e4ec43a74f6052481551cf835354c
 1523     > Fixes: bz#1764208
 1524     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 1525     > (cherry picked from commit f5811979935ce607391825ac6913a95f588818e3)
 1526     > (Reviewed on upstream link https://review.gluster.org/#/c/glusterfs/+/23599/)
 1527     
 1528     Change-Id: I8ad81c69200e4ec43a74f6052481551cf835354c
 1529     Fixes: bz#1766424
 1530     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 1531 
 1532 commit 7808a10af0949ee19ba4c0ab000732ba7eb67f02
 1533 Author: Sheetal Pamecha <spamecha@redhat.com>
 1534 Date:   Tue Oct 22 14:34:06 2019 +0530
 1535 
 1536     tests/shard: fix tests/bugs/shard/unlinks-and-renames.t failure
 1537     
 1538     on rhel8 machine cleanup of shards is not happening properly for a
 1539     sharded file with hard-links. It needs to refresh the hard link count
 1540     to make it successful
 1541     
 1542     The problem occurs when a sharded file with hard-links gets removed.
 1543     When the last link file is removed, all shards need to be cleaned up.
 1544     But in the current code structure shard xlator, instead of sending a lookup
 1545     to get the link count uses stale cache values of inodectx. Therby removing
 1546     the base shard but not the shards present in /.shard directory.
 1547     
 1548     This fix will make sure that it marks in the first unlink's callback that
 1549     the inode ctx needs a refresh so that in the next operation, it will be
 1550     refreshed by looking up the file on-disk.
 1551     
 1552     >fixes: bz#1764110
 1553     >Change-Id: I81625c7451dabf006c0864d859b1600f3521b648
 1554     >Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 1555     >(Reviewed on upstream link https://review.gluster.org/#/c/glusterfs/+/23585/)
 1556     
 1557     Fixes: bz#1768760
 1558     Change-Id: I81625c7451dabf006c0864d859b1600f3521b648
 1559     Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 1560 
 1561 commit fc5a3dd8757ffc80869173e4758d068be2cf5d19
 1562 Author: Ravishankar N <ravishankar@redhat.com>
 1563 Date:   Sat Sep 28 08:53:08 2019 +0530
 1564 
 1565     afr: support split-brain CLI for replica 3
 1566     
 1567     Ever since we added quorum checks for lookups in afr via commit
 1568     bd44d59741bb8c0f5d7a62c5b1094179dd0ce8a4, the split-brain resolution
 1569     commands would not work for replica 3 because there would be no
 1570     readables for the lookup fop.
 1571     
 1572     The argument was that split-brains do not occur in replica 3 but we do
 1573     see (data/metadata) split-brain cases once in a while which indicate that there are
 1574     a few bugs/corner cases yet to be discovered and fixed.
 1575     
 1576     Fortunately, commit  8016d51a3bbd410b0b927ed66be50a09574b7982 added
 1577     GF_CLIENT_PID_GLFS_HEALD as the pid for all fops made by glfsheal. If we
 1578     leverage this and allow lookups in afr when pid is GF_CLIENT_PID_GLFS_HEALD,
 1579     split-brain resolution commands will work for replica 3 volumes too.
 1580     
 1581     Likewise, the check is added in shard_lookup as well to permit resolving
 1582     split-brains by specifying "/.shard/shard-file.xx" as the file name
 1583     (which previously used to fail with EPERM).
 1584     
 1585     Change-Id: I3c543dea79caf7cfbc1633e9089cb1cdd2538ba9
 1586     Fixes: bz#1760791
 1587     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 1588     (cherry picked from commit 47dbd753187f69b3835d2e42fdbe7485874c4b3e)
 1589 
 1590 commit 7767d14699999dfb82c690b911e83b698b820e19
 1591 Author: Mohit Agrawal <moagrawal@redhat.com>
 1592 Date:   Mon Oct 14 15:42:31 2019 +0530
 1593 
 1594     dht: Rebalance causing IO Error - File descriptor in bad state
 1595     
 1596     Problem : When a file is migrated, dht attempts to re-open all open
 1597               fds on the new cached subvol. Earlier, if dht had not opened the fd,
 1598               the client xlator would be unable to find the remote fd and would
 1599               fall back to using an anon fd for the fop. That behavior changed with
 1600               https://review.gluster.org/#/c/glusterfs/+/15804, causing fops to fail
 1601               with EBADFD if the fd was not available on the cached subvol.
 1602               The client xlator returns EBADFD if the remote fd is not found but
 1603               dht only checks for EBADF before re-opening fds on the new cached subvol.
 1604     
 1605     Solution: Handle EBADFD at dht code path to avoid the issue
 1606     
 1607     > Change-Id: I43c51995cdd48d05b12e4b2889c8dbe2bb2a72d8
 1608     > Fixes: bz#1758579
 1609     > (cherry picked from commit 9314a9fbf487614c736cf6c4c1b93078d37bb9df)
 1610     > (Reviewed on upstream link https://review.gluster.org/23518)
 1611     
 1612     Change-Id: I43c51995cdd48d05b12e4b2889c8dbe2bb2a72d8
 1613     Fixes: bz#1761910
 1614 
 1615 commit 4b02b98d6a628936643e236d73836749d32332da
 1616 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 1617 Date:   Wed Oct 9 10:26:39 2019 -0400
 1618 
 1619     packaging: remove leftover bd cruft in rpm .spec
 1620     
 1621     $subject
 1622     
 1623     (xlators/storage/bd was removed in glusterfs-6)
 1624     
 1625     Change-Id: Ifd8e3340ae6868ea1fd2d0b53f02b093cc23f2cb
 1626     Fixes: bz#1760356
 1627     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 1628 
 1629 commit 0557ea6ddcc7281389a2623954c153b1a40b5bfa
 1630 Author: Liguang Li <liguang.lee6@gmail.com>
 1631 Date:   Tue Nov 5 13:31:20 2019 +0530
 1632 
 1633     Detach iot_worker to release its resources
 1634     
 1635     When iot_worker terminates, its resources have not been reaped, which
 1636     will consumes lots of memory.
 1637     
 1638     Detach iot_worker to automically release its resources back to the
 1639     system.
 1640     
 1641     Change-Id: I71fabb2940e76ad54dc56b4c41aeeead2644b8bb
 1642     fixes: bz#1768742
 1643     Signed-off-by: Liguang Li <liguang.lee6@gmail.com>
 1644     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 1645 
 1646 commit b95f3bdc5275f053bcca0f926d1b1d5e4cd546d7
 1647 Author: Kotresh HR <khiremat@redhat.com>
 1648 Date:   Sun Oct 20 01:01:39 2019 +0530
 1649 
 1650     geo-rep: Fix Permission denied traceback on non root setup
 1651     
 1652     Problem:
 1653     While syncing rename of directory in hybrid crawl, geo-rep
 1654     crashes as below.
 1655     
 1656     Traceback (most recent call last):
 1657       File "/usr/local/libexec/glusterfs/python/syncdaemon/repce.py", line 118, in worker
 1658         res = getattr(self.obj, rmeth)(*in_data[2:])
 1659       File "/usr/local/libexec/glusterfs/python/syncdaemon/resource.py", line 588, in entry_ops
 1660         src_entry = get_slv_dir_path(slv_host, slv_volume, gfid)
 1661       File "/usr/local/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 687, in get_slv_dir_path
 1662         [ENOENT], [ESTALE])
 1663       File "/usr/local/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 546, in errno_wrap
 1664         return call(*arg)
 1665     PermissionError: [Errno 13] Permission denied: '/bricks/brick1/b1/.glusterfs/8e/c0/8ec0fcd4-d50f-4a6e-b473-a7943ab66640'
 1666     
 1667     Cause:
 1668     Conversion of gfid to path for a directory uses readlink on backend
 1669     .glusterfs gfid path. But this fails for non root user with
 1670     permission denied.
 1671     
 1672     Fix:
 1673     Use gfid2path interface to get the path from gfid
 1674     
 1675     Backport of:
 1676      > Patch: https://review.gluster.org/23570
 1677      > Change-Id: I9d40c713a1b32cea95144cbc0f384ada82972222
 1678      > BUG: 1763439
 1679      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1680     
 1681     Change-Id: I9d40c713a1b32cea95144cbc0f384ada82972222
 1682     fixes: bz#1764030
 1683     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1684 
 1685 commit fa1d2b24c5e4f0f5af8b70065c4195495ac5fd02
 1686 Author: Kotresh HR <khiremat@redhat.com>
 1687 Date:   Wed Oct 16 14:25:47 2019 +0530
 1688 
 1689     geo-rep: Fix config upgrade on non-participating node
 1690     
 1691     After upgrade, if the config files are of old format, it
 1692     gets migrated to new format. Monitor process migrates it.
 1693     Since monitor doesn't run on nodes where bricks are not
 1694     hosted, it doesn't get migrated there. So this patch fixes
 1695     the config upgrade on nodes which doesn't host bricks.
 1696     This happens during config either on get/set/reset.
 1697     
 1698     Backport of:
 1699     Patch: https://review.gluster.org/23555
 1700     Change-Id: Ibade2f2310b0f3affea21a3baa1ae0eb71162cba
 1701     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1702     BUG: 1762220
 1703     
 1704     Change-Id: Ibade2f2310b0f3affea21a3baa1ae0eb71162cba
 1705     fixes: bz#1764028
 1706     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1707 
 1708 commit 3cec3924e46bb4860bccd38bb8c8464f8c36351f
 1709 Author: Sunny Kumar <sunkumar@redhat.com>
 1710 Date:   Tue Sep 24 18:22:13 2019 +0530
 1711 
 1712     tests : test case for non-root geo-rep setup
 1713     
 1714     Added test case for non-root geo-rep setup.
 1715     
 1716     Backport of:
 1717      > Patch: https://review.gluster.org/22902
 1718      > Change-Id: Ib6ebee79949a9f61bdc5c7b5e11b51b262750e98
 1719      > BUG: 1717827
 1720      > Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1721      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1722     
 1723     Change-Id: Ib6ebee79949a9f61bdc5c7b5e11b51b262750e98
 1724     fixes: bz#1764026
 1725     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1726 
 1727 commit 76c10070fdbd091545f481a3eb35bcc3e75c5946
 1728 Author: Kotresh HR <khiremat@redhat.com>
 1729 Date:   Fri Aug 16 16:07:03 2019 +0530
 1730 
 1731     geo-rep: Fix the name of changelog archive file
 1732     
 1733     Background:
 1734     The processed changelogs are archived each month in a single tar file.
 1735     The default format is "archive_YYYYMM.tar" which is specified as "%%Y%%m"
 1736     in configuration file.
 1737     
 1738     Problem:
 1739     The created changelog archive file didn't have corresponding year
 1740     and month. It created as "archive_%Y%m.tar" on python2 only systems.
 1741     
 1742     Cause and Fix:
 1743     Geo-rep expects "%Y%m" after the ConfigParser reads it from config file.
 1744     Since it was "%%Y%%m" in config file, geo-rep used to get correct value
 1745     "%Y%m" in python3 and "%%Y%%m" in python2 which is incorrect.
 1746     The fix can be to use "%Y%m" in config file but that fails in python3.
 1747     So the fix is to use "RawConfigParser" in geo-rep and use "%Y%m". This
 1748     works both in python2 and python3.
 1749     
 1750     Backport of:
 1751      > Patch: https://review.gluster.org/23248
 1752      > Change-Id: Ie5b7d2bc04d0d53cd1769e064c2d67aaf95d557c
 1753      > BUG: 1741890
 1754      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1755     
 1756     Change-Id: Ie5b7d2bc04d0d53cd1769e064c2d67aaf95d557c
 1757     fixes: bz#1764023
 1758     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1759 
 1760 commit d41f4f488e1fdebf87747c8a641a43dc80120bdb
 1761 Author: Aravinda VK <avishwan@redhat.com>
 1762 Date:   Mon Aug 5 19:00:21 2019 +0530
 1763 
 1764     geo-rep: Fix Config Get Race
 1765     
 1766     When two threads(sync jobs) in Geo-rep worker calls `gconf.get` and
 1767     `gconf.getr`(realtime) at the sametime, `getr` resets the conf object
 1768     and other one gets None. Thread Lock is introduced to fix the issue.
 1769     
 1770     ```
 1771       File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py",
 1772       line 368, in twrap
 1773         tf(*aargs)
 1774       File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 1987,
 1775       in syncjob
 1776         po = self.sync_engine(pb, self.log_err)
 1777       File "/usr/libexec/glusterfs/python/syncdaemon/resource.py",
 1778       line 1444, in rsync
 1779         rconf.ssh_ctl_args + \
 1780     AttributeError: 'NoneType' object has no attribute 'split'
 1781     ```
 1782     
 1783     Backport of:
 1784      > Patch: https://review.gluster.org/23158
 1785      > Change-Id: I9c245e5c36338265354e158f5baa32b119eb2da5
 1786      > BUG: 1737484
 1787      > Signed-off-by: Aravinda VK <avishwan@redhat.com>
 1788     
 1789     Change-Id: I9c245e5c36338265354e158f5baa32b119eb2da5
 1790     fixes: bz#1764015
 1791     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1792 
 1793 commit 05f9340a533982ec5e421309673de6530fc28ed5
 1794 Author: Shwetha K Acharya <sacharya@redhat.com>
 1795 Date:   Tue Jul 2 15:00:25 2019 +0530
 1796 
 1797     geo-rep: Test case for upgrading config file
 1798     
 1799     Added test case for the patch
 1800     https://review.gluster.org/#/c/glusterfs/+/22894/4
 1801     
 1802     Also updated if else structure in gsyncdconfig.py to avoid
 1803     repeated occurance of values in new configfile.
 1804     
 1805     Backport of:
 1806      > Patch: https://review.gluster.org/22982
 1807      > BUG: 1707731
 1808      > Change-Id: If97e1d37ac52dbd17d47be6cb659fc5a3ccab6d7
 1809      > Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 1810     
 1811     fixes: bz#1764003
 1812     Change-Id: If97e1d37ac52dbd17d47be6cb659fc5a3ccab6d7
 1813     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1814 
 1815 commit d82acea433d6defd0b9bd084a43c0b7b30fd171d
 1816 Author: Sunny Kumar <sunkumar@redhat.com>
 1817 Date:   Thu Jun 20 18:47:45 2019 +0530
 1818 
 1819     geo-rep : fix gluster command path for non-root session
 1820     
 1821     Problem:
 1822     gluster command not found.
 1823     
 1824     Cause:
 1825     In Volinfo class we issue command 'gluster vol info' to get information
 1826     about volume like getting brick_root to perform various operation.
 1827     When geo-rep session is configured for non-root user Volinfo class
 1828     fails to issue gluster command due to unavailability of gluster
 1829     binary path for non-root user.
 1830     
 1831     Solution:
 1832     Use config value 'slave-gluster-command-dir'/'gluster-command-dir' to get path
 1833     for gluster command based on caller.
 1834     
 1835     Backport of:
 1836      > Patch: https://review.gluster.org/22920
 1837      > BUG: 1722740
 1838      > Change-Id: I4ec46373da01f5d00ecd160c4e8c6239da8b3859
 1839      > Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1840     
 1841     fixes: bz#1764007
 1842     Change-Id: I4ec46373da01f5d00ecd160c4e8c6239da8b3859
 1843     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1844 
 1845 commit 60eba49c6290d6f387986fdb41d37c613ad766b6
 1846 Author: Shwetha K Acharya <sacharya@redhat.com>
 1847 Date:   Wed May 29 16:49:01 2019 +0530
 1848 
 1849     geo-rep: Upgrading config file to new version
 1850     
 1851     - configuration handling is enhanced with patch
 1852     https://review.gluster.org/#/c/glusterfs/+/18257/
 1853     - hence, the old configurations are not applied when
 1854     Geo-rep session is created in the old version and upgraded.
 1855     
 1856     This patch solves the issue. It,
 1857     - checks if the config file is old.
 1858     - parses required values from old config file and stores in new
 1859       config file, which ensures that configerations are applied on
 1860       upgrade.
 1861     - stores old config file as backup.
 1862     - handles changes in options introduced in
 1863       https://review.gluster.org/#/c/glusterfs/+/18257/
 1864     
 1865     Backport of:
 1866      > Patch: https://review.gluster.org/22894
 1867      > BUG: bz#1707731
 1868      > Change-Id: Iad8da6c1e1ae8ecf7c84dfdf8ea3ac6966d8a2a0
 1869      > Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 1870     
 1871     updates: bz#1764003
 1872     Change-Id: Iad8da6c1e1ae8ecf7c84dfdf8ea3ac6966d8a2a0
 1873     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1874 
 1875 commit 3d702d34c94216f00ca3244eaa3ecabc34df7114
 1876 Author: Pranith Kumar K <pkarampu@redhat.com>
 1877 Date:   Wed Sep 11 14:41:28 2019 +0530
 1878 
 1879     tests: Fix spurious failure
 1880     
 1881     If heal from next brick starts after the first brick completes heal, then
 1882     opendir on the brick can change atime leading to failure of the test. When
 1883     ctime is disabled it is better to just check mtime to be same after heal.
 1884     
 1885     Backport of:
 1886     
 1887      > BUG: 1751134
 1888      > Change-Id: Ia03e30fd547e6bbe85c1e299845ffa122f3a2692
 1889      > Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 1890     (cherry picked from commit 0e37cdf271a48d3e58c212e95664a2aa34da3940)
 1891     
 1892     fixes: bz#1769320
 1893     Change-Id: Ia03e30fd547e6bbe85c1e299845ffa122f3a2692
 1894     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 1895 
 1896 commit a92e9e8e8ae6b97db8e0c1fb8268aef734ab48b4
 1897 Author: Rinku Kothiya <rkothiya@redhat.com>
 1898 Date:   Thu Oct 10 10:20:30 2019 +0000
 1899 
 1900     doc: Updated release notes for release-7
 1901     
 1902     updates: bz#1732875
 1903     
 1904     Change-Id: Ie2fa04a76a1e36addff5f6bd6bd6b88aad2f948a
 1905     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 1906 
 1907 commit bac5d7d60d14a190217fcd84fd0803a4d6a2e37d
 1908 Author: N Balachandran <nbalacha@redhat.com>
 1909 Date:   Wed Sep 25 19:50:27 2019 +0530
 1910 
 1911     perf/write-behind: Clear frame->local on conflict error
 1912     
 1913     WB saves the wb_inode in frame->local for the truncate and
 1914     ftruncate fops. This value is not cleared in case of error
 1915     on a conflicting write request. FRAME_DESTROY finds a non-null
 1916     frame->local and tries to free it using mem_put. However,
 1917     wb_inode is allocated using GF_CALLOC, causing the
 1918     process to crash.
 1919     
 1920     credit: vpolakis@gmail.com
 1921     
 1922     Change-Id: I217f61470445775e05145aebe44c814731c1b8c5
 1923     fixes: bz#1755678
 1924     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 1925 
 1926 commit e3942babf00fe74dd3c3fc8502482967fbdb9ca5
 1927 Author: Soumya Koduri <skoduri@redhat.com>
 1928 Date:   Wed Sep 18 16:32:08 2019 +0530
 1929 
 1930     gfapi: 'glfs_h_creat_open' - new API to create handle and open fd
 1931     
 1932     Right now we have two separate APIs, one
 1933     - 'glfs_h_creat_handle' to create handle & another
 1934     - 'glfs_h_open' to create a glfd to return to application
 1935     
 1936     Having two separate routines can result in access errors
 1937     while trying to create and write into a read-only file.
 1938     
 1939     Since a fd is opened even during file/directory creation,
 1940     introducing a new API to make these two operations atomic i.e,
 1941     which can create both handle & fd and pass them to application
 1942     
 1943     This is backport of below mainline patch -
 1944     - https://review.gluster.org/#/c/glusterfs/+/23448/
 1945     - bz#1753569
 1946     
 1947     release-6:
 1948     - https://review.gluster.org/#/c/glusterfs/+/23491/
 1949     
 1950     Change-Id: Ibf513fcfcdad175f4d7eb6fa7a61b8feec6d33b5
 1951     fixes: bz#1756002
 1952     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 1953 
 1954 commit 6b3fec37931cbf3f7995b119e5a14702d5226772
 1955 Author: Sunny Kumar <sunkumar@redhat.com>
 1956 Date:   Sat Sep 21 01:07:30 2019 +0530
 1957 
 1958     geo-rep : fix sub-command during worker connection
 1959     
 1960     Problem:
 1961     
 1962     Geo-rep session for non-root going faulty.
 1963     
 1964     Solution:
 1965     
 1966     During worker start we do not construct slave url and use 'args.resource_remote'
 1967     which is basically just slave-hostname.
 1968     This works better for root session but fails in non-root session during
 1969     ssh command.
 1970     Using slave url solves this issue.
 1971     
 1972     Backport of:
 1973      > Patch: https://review.gluster.org/23465
 1974      > BUG: 1753928
 1975      > Change-Id: Ib83552fde77f81c208896494b323514ab37ebf22
 1976      > Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 1977     
 1978     fixes: bz#1755213
 1979     Change-Id: Ib83552fde77f81c208896494b323514ab37ebf22
 1980     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 1981 
 1982 commit 284ecd3ecbfbcc9e7791bacc6305807eb2805fff
 1983 Author: Sunny Kumar <sunkumar@redhat.com>
 1984 Date:   Fri Sep 20 09:39:12 2019 +0530
 1985 
 1986     geo-rep: performance improvement while syncing renames with existing gfid
 1987     
 1988     Problem:
 1989     The bug[1] addresses issue of data inconsistency when handling RENAME with
 1990     existing destination. This fix requires some performance tuning considering
 1991     this issue occurs in heavy rename workload.
 1992     
 1993     Solution:
 1994     If distribution count for master volume is one do not verify op's on
 1995     master and go ahead with rename.
 1996     
 1997     The performance improvement with this patch can only be observed if
 1998     master volume has distribution count one.
 1999     
 2000     [1]. https://bugzilla.redhat.com/show_bug.cgi?id=1694820
 2001     
 2002     Backport of:
 2003     
 2004      > Patch: https://review.gluster.org/23459/
 2005      > BUG: 1753857
 2006      > Change-Id: I8e9bcd575e7e35f40f9f78b7961c92dee642f47b
 2007      > Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 2008     (cherry picked from commit 30d3608c43be119f75da7798d88b94601dedcb29)
 2009     
 2010     
 2011     Change-Id: I8e9bcd575e7e35f40f9f78b7961c92dee642f47b
 2012     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 2013     fixes: bz#1755212
 2014 
 2015 commit 0a2870b33d5d0a3cded21ac1e3071e3fde81bbb6
 2016 Author: Kotresh HR <khiremat@redhat.com>
 2017 Date:   Mon Jul 29 18:30:42 2019 +0530
 2018 
 2019     ctime/rebalance: Heal ctime xattr on directory during rebalance
 2020     
 2021     After add-brick and rebalance, the ctime xattr is not present
 2022     on rebalanced directories on new brick. This patch fixes the
 2023     same.
 2024     
 2025     Note that ctime still doesn't support consistent time across
 2026     distribute sub-volume.
 2027     
 2028     This patch also fixes the in-memory inconsistency of time attributes
 2029     when metadata is self healed.
 2030     
 2031     Backport of:
 2032     
 2033      > Patch: https://review.gluster.org/23127/
 2034      > Change-Id: Ia20506f1839021bf61d4753191e7dc34b31bb2df
 2035      > BUG: 1734026
 2036      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2037     (cherry picked from commit 304640e55c0f3c6d15f4e230dc6376e4f5020fea)
 2038     
 2039     Change-Id: Ia20506f1839021bf61d4753191e7dc34b31bb2df
 2040     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2041     fixes: bz#1752429
 2042 
 2043 commit a2201d804d8e76ca82a9d086a6ee545cb26228a1
 2044 Author: Xavi Hernandez <xhernandez@redhat.com>
 2045 Date:   Fri Jun 21 11:28:08 2019 +0200
 2046 
 2047     core: fix memory allocation issues
 2048     
 2049     Two problems have been identified that caused that gluster's memory
 2050     usage were twice higher than required.
 2051     
 2052     1. An off by 1 error caused that all objects allocated from the memory
 2053        pools were taken from a pool bigger than required. Since each pool
 2054        corresponds to a size equal to a power of two, this was wasting half
 2055        of the available memory.
 2056     
 2057     2. The header information used for accounting on each memory object was
 2058        not taken into consideration when searching for a suitable memory
 2059        pool. It was added later when each individual block was allocated.
 2060        This made this space "invisible" to memory accounting.
 2061     
 2062     Credits: Thanks to Nithya Balachandran for identifying this problem and
 2063              testing this patch.
 2064     
 2065     >Fixes: bz#1722802
 2066     Change-Id: I90e27ad795fe51ca11c13080f62207451f6c138c
 2067     >Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 2068     >(cherry picked from commit 1716a907da1a835b658740f1325033d7ddd44952)
 2069     
 2070     Fixes: bz#1748774
 2071     Change-Id: I90e27ad795fe51ca11c13080f62207451f6c138c
 2072     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 2073 
 2074 commit 8c5bc03a47ee38b6cfec8725224248896c75f5d8
 2075 Author: Soumya Koduri <skoduri@redhat.com>
 2076 Date:   Tue Sep 3 20:52:42 2019 +0530
 2077 
 2078     core/syncop: Bail out if frame creation fails
 2079     
 2080     There could be cases (either due to insufficient memory or
 2081     corrupted mem-pool) due to which frame creation fails. Bail out
 2082     with error in such cases.
 2083     
 2084     This is the backport of below mainline fix -
 2085     > Fixes: bz#1748448
 2086     > review url: https://review.gluster.org/#/c/glusterfs/+/23350/
 2087     
 2088     Change-Id: I8cc0a5852f6f04d2bac991e4eb79ecb42577da11
 2089     Fixes: bz#1751556
 2090     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 2091 
 2092 commit 9a26cbd7e53297f9321b4f1cfed415db7bb75d09
 2093 Author: Xavi Hernandez <xhernandez@redhat.com>
 2094 Date:   Tue Jun 25 18:00:06 2019 +0200
 2095 
 2096     glusterd: fix use-after-free of a dict_t
 2097     
 2098     A dict was passed to a function that calls dict_unref() without taking
 2099     any additional reference. Given that the same dict is also used after
 2100     the function returns, this was causing a use-after-free situation.
 2101     
 2102     To fix the issue, we simply take an additional reference before calling
 2103     the function.
 2104     
 2105     > Fixes: bz#1723890
 2106     > Change-Id: I98c6b76b08fe3fa6224edf281a26e9ba1ffe3017
 2107     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 2108     > (cherry picked from commit f36086db87aae24c10abde434f081d78b942735e)
 2109     
 2110     Fixes: bz#1752245
 2111     Change-Id: I98c6b76b08fe3fa6224edf281a26e9ba1ffe3017
 2112     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
 2113 
 2114 commit 072f31bea74d9321a0a71c070265f15d4104f086
 2115 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 2116 Date:   Wed Jul 10 21:44:38 2019 +0530
 2117 
 2118     afr/lookup: Pass xattr_req in while doing a selfheal in lookup
 2119     
 2120     We were not passing xattr_req when doing a name self heal
 2121     as well as a meta data heal. Because of this, some xdata
 2122     was missing which causes i/o errors
 2123     
 2124     Backport of > https://review.gluster.org/#/c/glusterfs/+/23024/
 2125     
 2126     
 2127     >Change-Id: Ibfb1205a7eb0195632dc3820116ffbbb8043545f
 2128     >Fixes: bz#1728770
 2129     >Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 2130     
 2131     Fixes: bz#1749305
 2132     Change-Id: Ibfb1205a7eb0195632dc3820116ffbbb8043545f
 2133     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 2134     (cherry picked from commit d026f0bcfd301712e4f0671ccf238f43f2e6dd30)
 2135 
 2136 commit 81780dba489c5b80063f0824a067ebff0a776241
 2137 Author: Mohit Agrawal <moagrawal@redhat.com>
 2138 Date:   Sun Sep 1 12:01:09 2019 +0530
 2139 
 2140     rpc: Update address family if it is not provide in cmd-line arguments
 2141     
 2142     Problem: After enabling transport-type to inet6 and passed ipv6
 2143              transport.socket.bind-address in glusterd.vol clients are
 2144              not started.
 2145     
 2146     Solution: Need to update address-family based on remote-address for
 2147               all gluster client process
 2148     
 2149     > Change-Id: Iaa3588cd87cebc45231bfd675745c1a457dc9b31
 2150     > Fixes: bz#1747746
 2151     > Credits: Amgad Saleh <amgad.saleh@nokia.com>
 2152     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2153     > (cherry picked from commit 80b8cfe3f1386606bada97a76a0cad7acdf6b877)
 2154     
 2155     Change-Id: Iaa3588cd87cebc45231bfd675745c1a457dc9b31
 2156     Fixes: bz#1749664
 2157     Credits: Amgad Saleh <amgad.saleh@nokia.com>
 2158     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2159 
 2160 commit 056d8d65397129c7a580a9fa6e76c2b9f1ca22ff
 2161 Author: Mohit Agrawal <moagrawal@redhat.com>
 2162 Date:   Mon Sep 2 10:46:10 2019 +0530
 2163 
 2164     glusterd: IPV6 hostname address is not parsed correctly
 2165     
 2166     Problem: IPV6 hostname address is not parsed correctly in function
 2167              glusterd_check_brick_order
 2168     
 2169     Solution: Update the code to parse hostname address
 2170     
 2171     > Change-Id: Ifb2f83f9c6e987b2292070e048e97eeb51b728ab
 2172     > Fixes: bz#1747746
 2173     > Credits: Amgad Saleh <amgad.saleh@nokia.com>
 2174     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2175     > (cherry picked from commit 6563ffb04d7ba51a89726e7c5bbb85c7dbc685b5)
 2176     
 2177     Change-Id: Ifb2f83f9c6e987b2292070e048e97eeb51b728ab
 2178     Fixes: bz#1749664
 2179     Credits: Amgad Saleh <amgad.saleh@nokia.com>
 2180     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2181 
 2182 commit f4e38c060bdf561af1d6eaee83aa664f1f14e8a8
 2183 Author: Ravishankar N <ravishankar@redhat.com>
 2184 Date:   Wed Sep 4 11:27:30 2019 +0530
 2185 
 2186     tests: fix spurious failure of bug-1402841.t-mt-dir-scan-race.t
 2187     
 2188     Problem:
 2189     Since commit 600ba94183333c4af9b4a09616690994fd528478, shd starts
 2190     healing as soon as it is toggled from disabled to enabled. This was
 2191     causing the following line in the .t to fail on a 'fast' machine (always
 2192     on my laptop and sometimes on the jenkins slaves).
 2193     
 2194     EXPECT_NOT "^0$" get_pending_heal_count $V0
 2195     
 2196     because by the time shd was disabled, the heal was already completed.
 2197     
 2198     Fix:
 2199     Increase the no. of files to be healed and make it a variable called
 2200     FILE_COUNT, should we need to bump it up further because the machines
 2201     become even faster. Also created pending metadata heals to increase the
 2202     time taken to heal a file.
 2203     
 2204     fixes: bz#1749155
 2205     Change-Id: I5a26b08e45b8c19bce3c01ce67bdcc28ed48198d
 2206     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 2207     (cherry picked from commit 724c657995a2e148243eeb78c68b620c6d7714a5)
 2208 
 2209 commit 358604b58442a2f12c9dd72d907eb74a3d74ac96
 2210 Author: Rinku Kothiya <rkothiya@redhat.com>
 2211 Date:   Thu Aug 29 12:48:35 2019 +0000
 2212 
 2213     doc: documented about fips-mode-rchecksum
 2214     
 2215     Updated release notes to document about fips-mode-rchecksum.
 2216     fixes: bz#1703322
 2217     
 2218     Change-Id: Id6707fca6fc2dbc251f6e00e635a63d9e31f88f7
 2219     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 2220 
 2221 commit 8e0e1a5d7c386ed900070836031ba9a84e84dd67
 2222 Author: Michael Adam <obnox@samba.org>
 2223 Date:   Thu Jun 20 13:09:37 2019 +0200
 2224 
 2225     [RFC] change get_real_filename implementation to use ENOATTR instead of ENOENT
 2226     
 2227     get_real_filename is implemented as a virtual extended attribute to help
 2228     Samba implement the case-insensitive but case preserving SMB protocol
 2229     more efficiently. It is implemented as a getxattr call on the parent directory
 2230     with the virtual key of "get_real_filename:<entryname>" by looking for a
 2231     spelling with different case for the provided file/dir name (<entryname>)
 2232     and returning this correct spelling as a result if the entry is found.
 2233     Originally (05aaec645a6262d431486eb5ac7cd702646cfcfb), the
 2234     implementation used the ENOENT errno to return the authoritative answer
 2235     that <entryname> does not exist in any case folding.
 2236     
 2237     Now this implementation is actually a violation or misuse of the defined
 2238     API for the getxattr call which returns ENOENT for the case that the dir
 2239     that the call is made against does not exist and ENOATTR (or the synonym
 2240     ENODATA) for the case that the xattr does not exist.
 2241     
 2242     This was not a problem until the gluster fuse-bridge was changed
 2243     to do map ENOENT to ESTALE in 59629f1da9dca670d5dcc6425f7f89b3e96b46bf,
 2244     after which we the getxattr call for get_real_filename returned an
 2245     ESTALE instead of ENOENT breaking the expectation in Samba.
 2246     
 2247     It is an independent problem that ESTALE should not leak out to user
 2248     space but is intended to trigger retries between fuse and gluster.
 2249     But nevertheless, the semantics seem to be incorrect here and should
 2250     be changed.
 2251     
 2252     This patch changes the implementation of the get_real_filename virtual
 2253     xattr to correctly return ENOATTR instead of ENOENT if the file/directory
 2254     being looked up is not found.
 2255     
 2256     The Samba glusterfs_fuse vfs module which takes advantage of the
 2257     get_real_filename over a fuse mount will receive a corresponding change
 2258     to map ENOATTR to ENOENT. Without this change, it will still work
 2259     correctly, but the performance optimization for nonexisting files is
 2260     lost. On the other hand side, this change removes the distinction
 2261     between the old not-implemented case and the implemented case.
 2262     So Samba changed to treat ENOATTR like ENOENT will not work correctly
 2263     any more against old servers that don't implement get_real_filename.
 2264     I.e. existing files will be reported as non-existing
 2265     
 2266     Change-Id: I971b427ab8410636d5d201157d9af70e0d075b67
 2267     fixes: bz#1745914
 2268     Signed-off-by: Michael Adam <obnox@samba.org>
 2269     (cherry picked from commit dc1b87fcfef08c9497b0c02b2410c9d18bbc2dba)
 2270 
 2271 commit 1a37c7f41ece9d6273568aa0ae196fb38d90ada3
 2272 Author: Ravishankar N <ravishankar@redhat.com>
 2273 Date:   Thu Aug 22 17:27:22 2019 +0530
 2274 
 2275     afr: wake up index healer threads
 2276     
 2277     ...whenever shd is re-enabled after disabling or there is a change in
 2278     `cluster.heal-timeout`, without needing to restart shd or waiting for the
 2279     current `cluster.heal-timeout` seconds to expire.
 2280     
 2281     See BZ 1743988 for more details.
 2282     
 2283     Change-Id: Ia5ebd7c8e9f5b54cba3199c141fdd1af2f9b9bfe
 2284     fixes: bz#1747301
 2285     Reported-by: Glen Kiessling <glenk1973@hotmail.com>
 2286     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 2287     (cherry picked from commit 600ba94183333c4af9b4a09616690994fd528478)
 2288 
 2289 commit b85d550a552d485f4a7f1eedbc00bdf1f67d6263
 2290 Author: Kotresh HR <khiremat@redhat.com>
 2291 Date:   Tue Aug 20 15:49:40 2019 +0530
 2292 
 2293     ctime: Fix incorrect realtime passed to frame->root->ctime
 2294     
 2295     On systems that don't support "timespec_get"(e.g., centos6), it
 2296     was using "clock_gettime" with "CLOCK_MONOTONIC" to get unix epoch
 2297     time which is incorrect. This patch introduces "timespec_now_realtime"
 2298     which uses "clock_gettime" with "CLOCK_REALTIME" which fixes
 2299     the issue.
 2300     
 2301     Backport of:
 2302      > Patch: https://review.gluster.org/23274/
 2303      > Change-Id: I57be35ce442d7e05319e82112b687eb4f28d7612
 2304      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2305      > BUG: 1743652
 2306     (cherry picked from commit d14d0749340d9cb1ef6fc4b35f2fb3015ed0339d)
 2307     
 2308     Change-Id: I57be35ce442d7e05319e82112b687eb4f28d7612
 2309     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2310     fixes: bz#1746145
 2311 
 2312 commit 6ec6db07da2761a35e003ff485f66bae2037c442
 2313 Author: Kotresh HR <khiremat@redhat.com>
 2314 Date:   Thu Aug 8 10:05:12 2019 +0530
 2315 
 2316     ctime: Fix ctime issue with utime family of syscalls
 2317     
 2318     When atime|mtime is updated via utime family of syscalls,
 2319     ctime is not updated. This patch fixes the same.
 2320     
 2321     Backport of:
 2322      > Patch: https://review.gluster.org/23177/
 2323      > Change-Id: I7f86d8f8a1e06a332c3449b5bbdbf128c9690f25
 2324      > BUG: 1738786
 2325      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2326     (cherry picked from commit 95f71df31dc73d85df722b0e7d3a7eb1e0237e7f)
 2327     
 2328     Change-Id: I7f86d8f8a1e06a332c3449b5bbdbf128c9690f25
 2329     fixes: bz#1746142
 2330     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2331 
 2332 commit f2123cc691c3ed16177b3c30468615127fb2086a
 2333 Author: Csaba Henk <csaba@redhat.com>
 2334 Date:   Tue Jul 9 11:06:49 2019 +0200
 2335 
 2336     fuse: add missing GF_FREE to fuse_interrupt
 2337     
 2338     Change-Id: Id7e003e4a53d0a0057c1c84e1cd704c80a6cb015
 2339     Fixes: bz#1744874
 2340     Signed-off-by: Csaba Henk <csaba@redhat.com>
 2341 
 2342 commit e89442104e5ae08b5cd21a81a2290471869b9877
 2343 Author: Mohit Agrawal <moagrawal@redhat.com>
 2344 Date:   Mon Aug 19 16:00:24 2019 +0530
 2345 
 2346     glusterd: ./tests/bugs/glusterd/bug-1595320.t is failing
 2347     
 2348     Problem: sometime ./tests/bugs/glusterd/bug-1595320.t is failing  is
 2349              failing at the time of checking brick_process after sending
 2350              a kill signal to brick process
 2351     
 2352     Solution: Wait sometime after just sending a kill signal to brick
 2353               process to make sure brick process is stopped
 2354     
 2355     > Change-Id: Iee9e91284618abfc62a550d47e4f9117785def58
 2356     > Fixes: bz#1743200
 2357     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2358     > (cherry picked from commit 8f1620ad7f5d3d040fee55c5f873349800e2268d)
 2359     
 2360     Change-Id: Iee9e91284618abfc62a550d47e4f9117785def58
 2361     Fixes: bz#1745422
 2362     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2363 
 2364 commit b3e0671a4e8f9d830bf222b1bdbdb49a6f75a564
 2365 Author: Raghavendra Bhat <raghavendra@redhat.com>
 2366 Date:   Thu Aug 1 13:37:07 2019 -0400
 2367 
 2368     storage/posix: set the op_errno to proper errno during gfid set
 2369     
 2370     In posix_gfid_set, the proper error is not captured in one of
 2371     the failure cases.
 2372     
 2373     Change-Id: I1c13f0691a15d6893f1037b3a5fe385a99657e00
 2374     Fixes: bz#1736481
 2375     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 2376     (cherry picked from commit ed7a3793073670e787063c47e55010fc7c963064)
 2377 
 2378 commit 03b36d0d95abc4c531bc84e2ed1aa564c18f3ae2
 2379 Author: Pranith Kumar K <pkarampu@redhat.com>
 2380 Date:   Fri Aug 2 12:05:09 2019 +0530
 2381 
 2382     cluster/ec: Update lock->good_mask on parent fop failure
 2383     
 2384     When discard/truncate performs write fop, it should do so
 2385     after updating lock->good_mask to make sure readv happens
 2386     on the correct mask
 2387     
 2388     fixes: bz#1739424
 2389     Change-Id: Idfef0bbcca8860d53707094722e6ba3f81c583b7
 2390     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 2391 
 2392 commit 1b81834b454221a0e4a2b0548cefedc611ff882c
 2393 Author: Pranith Kumar K <pkarampu@redhat.com>
 2394 Date:   Mon Jul 29 14:08:37 2019 +0530
 2395 
 2396     cluster/ec: Fix reopen flags to avoid misbehavior
 2397     
 2398     Problem:
 2399     when a file needs to be re-opened O_APPEND and O_EXCL
 2400     flags are not filtered in EC.
 2401     
 2402     - O_APPEND should be filtered because EC doesn't send O_APPEND below EC for
 2403     open to make sure writes happen on the individual fragments instead of at the
 2404     end of the file.
 2405     
 2406     - O_EXCL should be filtered because shd could have created the file so even
 2407     when file exists open should succeed
 2408     
 2409     - O_CREAT should be filtered because open happens with gfid as parameter. So
 2410     open fop will create just the gfid which will lead to problems.
 2411     
 2412     Fix:
 2413     Filter out these two flags in reopen.
 2414     
 2415     Change-Id: Ia280470fcb5188a09caa07bf665a2a94bce23bc4
 2416     Fixes: bz#1739426
 2417     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 2418 
 2419 commit 00238c467fa3c376224047426bfc0b252e07d60f
 2420 Author: Pranith Kumar K <pkarampu@redhat.com>
 2421 Date:   Thu Jul 18 11:25:31 2019 +0530
 2422 
 2423     cluster/ec: Always read from good-mask
 2424     
 2425     There are cases where fop->mask may have fop->healing added
 2426     and readv shouldn't be wound on fop->healing. To avoid this
 2427     always wind readv to lock->good_mask
 2428     
 2429     updates: bz#1739424
 2430     Change-Id: I2226ef0229daf5ff315d51e868b980ee48060b87
 2431     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 2432 
 2433 commit 9710a3c5e76b8b7bab4e7680537852e79b62f64e
 2434 Author: Xavi Hernandez <xhernandez@redhat.com>
 2435 Date:   Wed Jul 17 14:50:22 2019 +0200
 2436 
 2437     cluster/ec: fix EIO error for concurrent writes on sparse files
 2438     
 2439     EC doesn't allow concurrent writes on overlapping areas, they are
 2440     serialized. However non-overlapping writes are serviced in parallel.
 2441     When a write is not aligned, EC first needs to read the entire chunk
 2442     from disk, apply the modified fragment and write it again.
 2443     
 2444     The problem appears on sparse files because a write to an offset
 2445     implicitly creates data on offsets below it (so, in some way, they
 2446     are overlapping). For example, if a file is empty and we read 10 bytes
 2447     from offset 10, read() will return 0 bytes. Now, if we write one byte
 2448     at offset 1M and retry the same read, the system call will return 10
 2449     bytes (all containing 0's).
 2450     
 2451     So if we have two writes, the first one at offset 10 and the second one
 2452     at offset 1M, EC will send both in parallel because they do not overlap.
 2453     However, the first one will try to read missing data from the first chunk
 2454     (i.e. offsets 0 to 9) to recombine the entire chunk and do the final write.
 2455     This read will happen in parallel with the write to 1M. What could happen
 2456     is that half of the bricks process the write before the read, and the
 2457     half do the read before the write. Some bricks will return 10 bytes of
 2458     data while the otherw will return 0 bytes (because the file on the brick
 2459     has not been expanded yet).
 2460     
 2461     When EC tries to recombine the answers from the bricks, it can't, because
 2462     it needs more than half consistent answers to recover the data. So this
 2463     read fails with EIO error. This error is propagated to the parent write,
 2464     which is aborted and EIO is returned to the application.
 2465     
 2466     The issue happened because EC assumed that a write to a given offset
 2467     implies that offsets below it exist.
 2468     
 2469     This fix prevents the read of the chunk from bricks if the current size
 2470     of the file is smaller than the read chunk offset. This size is
 2471     correctly tracked, so this fixes the issue.
 2472     
 2473     Also modifying ec-stripe.t file for Test #13 within it.
 2474     In this patch, if a file size is less than the offset we are writing, we
 2475     fill zeros in head and tail and do not consider it strip cache miss.
 2476     That actually make sense as we know what data that part holds and there is
 2477     no need of reading it from bricks.
 2478     
 2479     Change-Id: Ic342e8c35c555b8534109e9314c9a0710b6225d6
 2480     Fixes: bz#1739427
 2481     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 2482 
 2483 commit 9a3a94cb689bf761a323a99ac7ff1930f0805f97
 2484 Author: Kinglong Mee <kinglongmee@gmail.com>
 2485 Date:   Mon Jul 8 21:13:28 2019 +0800
 2486 
 2487     cluster/ec: inherit healing from lock when it has info
 2488     
 2489     If lock has info, fop should inherit healing mask from it.
 2490     Otherwise, fop cannot inherit right healing when changed_flags is zero.
 2491     
 2492     Change-Id: Ife80c9169d2c555024347a20300b0583f7e8a87f
 2493     updates: bz#1739424
 2494     Signed-off-by: Kinglong Mee <mijinlong@horiscale.com>
 2495 
 2496 commit 044c66460560ee06968a3ff5801191c70fd5e628
 2497 Author: Ravishankar N <ravishankar@redhat.com>
 2498 Date:   Tue Jul 30 17:05:22 2019 +0530
 2499 
 2500     afr: restore timestamp of parent dir during entry-heal
 2501     
 2502     Fixes: bz#1741041
 2503     Change-Id: I29e338bac62104233a6f80212df8d0fb016affda
 2504     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 2505     (cherry picked from commit 8e9c53ebf16705b9a1db2fc486dc24a5cb244ddd)
 2506 
 2507 commit 175b796d08ade751ed4929661f246f33d9bf420f
 2508 Author: Krutika Dhananjay <kdhananj@redhat.com>
 2509 Date:   Wed Aug 7 12:12:43 2019 +0530
 2510 
 2511     features/shard: Send correct size when reads are sent beyond file size
 2512     
 2513     Change-Id: I0cebaaf55c09eb1fb77a274268ff564e871b743b
 2514     fixes bz#1740316
 2515     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 2516     (cherry picked from commit 51237eda7c4b3846d08c5d24d1e3fe9b7ffba1d4)
 2517 
 2518 commit 538fc1b19674d16bc03af1e5ce2ceed43bdfbea5
 2519 Author: Rinku Kothiya <rkothiya@redhat.com>
 2520 Date:   Wed Aug 7 15:26:20 2019 +0000
 2521 
 2522     doc: Added initial release notes for release-7
 2523     
 2524     updates: bz#1732875
 2525     
 2526     Change-Id: I12f4c1e74e238c9906f5068ccbde38343ca14ff5
 2527     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 2528 
 2529 commit acbabe3d916d763a0bb13e7df876cac61ca5b160
 2530 Author: Xiubo Li <xiubli@redhat.com>
 2531 Date:   Fri Jul 26 12:34:52 2019 +0800
 2532 
 2533     event: rename event_XXX with gf_ prefixed
 2534     
 2535     I hit one crash issue when using the libgfapi.
 2536     
 2537     In the libgfapi it will call glfs_poller() --> event_dispatch()
 2538     in file api/src/glfs.c:721, and the event_dispatch() is defined
 2539     by libgluster locally, the problem is the name of event_dispatch()
 2540     is the extremly the same with the one from libevent package form
 2541     the OS.
 2542     
 2543     For example, if a executable program Foo, which will also use and
 2544     link the libevent and the libgfapi at the same time, I can hit the
 2545     crash, like:
 2546     
 2547     kernel: glfs_glfspoll[68486]: segfault at 1c0 ip 00007fef006fd2b8 sp
 2548     00007feeeaffce30 error 4 in libevent-2.0.so.5.1.9[7fef006ed000+46000]
 2549     
 2550     The link for Foo is:
 2551     lib_foo_LADD = -levent $(GFAPI_LIBS)
 2552     It will crash.
 2553     
 2554     This is because the glfs_poller() is calling the event_dispatch() from
 2555     the libevent, not the libglsuter.
 2556     
 2557     The gfapi link info :
 2558     GFAPI_LIBS = -lacl -lgfapi -lglusterfs -lgfrpc -lgfxdr -luuid
 2559     
 2560     If I link Foo like:
 2561     lib_foo_LADD = $(GFAPI_LIBS) -levent
 2562     It will works well without any problem.
 2563     
 2564     And if Foo call one private lib, such as handler_glfs.so, and the
 2565     handler_glfs.so will link the GFAPI_LIBS directly, while the Foo won't
 2566     and it will dlopen(handler_glfs.so), then the crash will be hit everytime.
 2567     
 2568     The link info will be:
 2569     foo_LADD = -levent
 2570     libhandler_glfs_LIBADD = $(GFAPI_LIBS)
 2571     
 2572     I can avoid the crash temporarily by linking the GFAPI_LIBS in Foo too like:
 2573     foo_LADD = $(GFAPI_LIBS) -levent
 2574     libhandler_glfs_LIBADD = $(GFAPI_LIBS)
 2575     
 2576     But this is ugly since the Foo won't use any APIs from the GFAPI_LIBS.
 2577     
 2578     And in some cases when the --as-needed link option is added(on many dists
 2579     it is added as default), then the crash is back again, the above workaround
 2580     won't work.
 2581     
 2582     Backport of:
 2583     > https://review.gluster.org/#/c/glusterfs/+/23110/
 2584     > Change-Id: I38f0200b941bd1cff4bf3066fca2fc1f9a5263aa
 2585     > Fixes: #699
 2586     > Signed-off-by: Xiubo Li <xiubli@redhat.com>
 2587     
 2588     Change-Id: I38f0200b941bd1cff4bf3066fca2fc1f9a5263aa
 2589     updates: bz#1740519
 2590     Signed-off-by: Xiubo Li <xiubli@redhat.com>
 2591     (cherry picked from commit 799edc73c3d4f694c365c6a7c27c9ab8eed5f260)
 2592 
 2593 commit d89199919265480e43172dd3883c20ee24d46bde
 2594 Author: Susant Palai <spalai@redhat.com>
 2595 Date:   Mon Jul 22 15:20:43 2019 +0530
 2596 
 2597     locks/fencing: Address hang while lock preemption
 2598     
 2599     The fop_wind_count can go negative when fencing is enabled
 2600     on unwind path of the IO leading to hang.
 2601     
 2602     Also changed code so that fop_wind_count needs to be maintained only
 2603     till fencing is enabled on the file.
 2604     
 2605     > updates: bz#1717824
 2606     > Change-Id: Icd04b42bc16cd3d50eaa581ee57233910194f480
 2607     > signed-off-by: Susant Palai <spalai@redhat.com>
 2608     (backport of https://review.gluster.org/#/c/glusterfs/+/23088/)
 2609     
 2610     fixes: bz#1740077
 2611     Change-Id: Icd04b42bc16cd3d50eaa581ee57233910194f480
 2612     Signed-off-by: Susant Palai <spalai@redhat.com>
 2613 
 2614 commit b4fe161741ba911cc2559a6b09cc20bc424880d7
 2615 Author: Mohit Agrawal <moagrawal@redhat.com>
 2616 Date:   Tue Aug 13 18:45:43 2019 +0530
 2617 
 2618     rpc: glusterd start is failed and throwing an error Address already in use
 2619     
 2620     Problem: Some of the .t are failed due to bind is throwing
 2621              an error EADDRINUSE
 2622     
 2623     Solution: After killing all gluster processes .t is trying
 2624               to start glusterd but somehow if kernel has not cleaned
 2625               up resources(socket) then glusterd startup is failed due to
 2626               bind system call failure.To avoid the issue retries to call
 2627               bind 10 times to execute system call succesfully
 2628     
 2629     > Change-Id: Ia5fd6b788f7b211c1508c1b7304fc08a32266629
 2630     > Fixes: bz#1743020
 2631     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2632     > (cherry picked from commit c370c70f77079339e2cfb7f284f3a2fb13fd2f97)
 2633     
 2634     Change-Id: Ia5fd6b788f7b211c1508c1b7304fc08a32266629
 2635     Fixes: bz#1743218
 2636     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 2637 
 2638 commit 87745b612ae3a5a12fbac8162920d12b0dce0a66
 2639 Author: Kinglong Mee <kinglongmee@gmail.com>
 2640 Date:   Mon Aug 5 11:08:02 2019 +0800
 2641 
 2642     features/utime: always update ctime at setattr
 2643     
 2644     For the nfs EXCLUSIVE mode create may sets a later time
 2645     to mtime (at verifier), it should not set to ctime for
 2646     storage.ctime does not allowed set ctime to a earlier time.
 2647     
 2648      /* Earlier, mdata was updated only if the existing time is less
 2649       * than the time to be updated. This would fail the scenarios
 2650       * where mtime can be set to any time using the syscall. Hence
 2651       * just updating without comparison. But the ctime is not
 2652       * allowed to changed to older date.
 2653       */
 2654     
 2655     According to kernel's setattr, always set ctime at setattr,
 2656     and doesnot set ctime from mtime at storage.ctime.
 2657     
 2658     Backport of:
 2659      > Patch: https://review.gluster.org/23154
 2660      > Change-Id: I5cfde6cb7f8939da9617506e3dc80bd840e0d749
 2661      > BUG: 1737288
 2662      > Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
 2663     
 2664     Change-Id: I5cfde6cb7f8939da9617506e3dc80bd840e0d749
 2665     fixes: bz#1739437
 2666     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2667 
 2668 commit 207ca452f14760a59ec1f1cf728980e7bd3a9123
 2669 Author: Kotresh HR <khiremat@redhat.com>
 2670 Date:   Mon Jul 29 16:22:10 2019 +0530
 2671 
 2672     posix/ctime: Fix race during lookup ctime xattr heal
 2673     
 2674     Problem:
 2675     Ctime heals the ctime xattr ("trusted.glusterfs.mdata") in lookup
 2676     if it's not present. In a multi client scenario, there is a race
 2677     which results in updating the ctime xattr to older value.
 2678     
 2679     e.g. Let c1 and c2 be two clients and file1 be the file which
 2680     doesn't have the ctime xattr. Let the ctime of file1 be t1.
 2681     (from backend, ctime heals time attributes from backend when not present).
 2682     
 2683     Now following operations are done on mount
 2684     c1 -> ls -l /mnt/file1  |   c2 -> ls -l /mnt/file1;echo "append" >> /mnt/file1;
 2685     
 2686     The race is that the both c1 and c2 didn't fetch the ctime xattr in lookup,
 2687     so both of them tries to heal ctime to time 't1'. If c2 wins the race and
 2688     appends the file before c1 heals it, it sets the time to 't1' and updates
 2689     it to 't2' (because of append). Now c1 proceeds to heal and sets it to 't1'
 2690     which is incorrect.
 2691     
 2692     Solution:
 2693     Compare the times during heal and only update the larger time. This is the
 2694     general approach used in ctime feature but got missed with healing legacy
 2695     files.
 2696     
 2697     Backport of:
 2698      > Patch: https://review.gluster.org/23131
 2699      > BUG: 1734299
 2700      > Change-Id: I930bda192c64c3d49d0aed431ce23d3bc57e51b7
 2701      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2702     
 2703     fixes: bz#1739436
 2704     Change-Id: I930bda192c64c3d49d0aed431ce23d3bc57e51b7
 2705     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2706 
 2707 commit df2ccb281c2475150d934a2410f998e88a88d1c6
 2708 Author: Pranith Kumar K <pkarampu@redhat.com>
 2709 Date:   Mon Jul 22 20:55:33 2019 +0530
 2710 
 2711     features/utime: Fix mem_put crash
 2712     
 2713     Problem:
 2714     When frame->local is not null FRAME_DESTROY calls mem_put on it.
 2715     Since the stub is already destroyed in call_resume(), it leads
 2716     to crash
 2717     
 2718     Fix:
 2719     Set frame->local to NULL before calling call_resume()
 2720     
 2721     Backport of:
 2722      > Patch: https://review.gluster.org/23091
 2723      > BUG: 1593542
 2724      > Change-Id: I0f8adf406f4cefdb89d7624ba7a9d9c2eedfb1de
 2725      > Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 2726     
 2727     fixes: bz#1739430
 2728     Change-Id: I0f8adf406f4cefdb89d7624ba7a9d9c2eedfb1de
 2729     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2730 
 2731 commit 8d2aebf93baed6f8555cd02545d6f95da59cc7f3
 2732 Author: Kotresh HR <khiremat@redhat.com>
 2733 Date:   Mon Jun 24 13:06:49 2019 +0530
 2734 
 2735     ctime: Set mdata xattr on legacy files
 2736     
 2737     Problem:
 2738     The files which were created before ctime enabled would not
 2739     have "trusted.glusterfs.mdata"(stores time attributes) xattr.
 2740     Upon fops which modifies either ctime or mtime, the xattr
 2741     gets created with latest ctime, mtime and atime, which is
 2742     incorrect. It should update only the corresponding time
 2743     attribute and rest from backend
 2744     
 2745     Solution:
 2746     Creating xattr with values from brick is not possible as
 2747     each brick of replica set would have different times.
 2748     So create the xattr upon successful lookup if the xattr
 2749     is not created
 2750     
 2751     Note To Reviewers:
 2752     The time attributes used to set xattr is got from successful
 2753     lookup. Instead of sending the whole iatt over the wire via
 2754     setxattr, a structure called mdata_iatt is sent. The mdata_iatt
 2755     contains only time attributes.
 2756     
 2757     Backport of:
 2758      > Patch:  https://review.gluster.org/22936
 2759      > Change-Id: I5e535631ddef04195361ae0364336410a2895dd4
 2760      > BUG: 1593542
 2761      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2762     
 2763     Change-Id: I5e535631ddef04195361ae0364336410a2895dd4
 2764     updates: bz#1739430
 2765     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2766 
 2767 commit 8b7ceb3934f8e2dbcbabe5d1c0244c2bacda92c3
 2768 Author: Kotresh HR <khiremat@redhat.com>
 2769 Date:   Wed Jul 31 15:40:55 2019 +0530
 2770 
 2771     geo-rep: Fix mount broker setup issue
 2772     
 2773     Even the use builtin 'type' command as in patch [1]
 2774     causes issues if argument in question is not part of PATH
 2775     environment variable for that user. This patch fixes the
 2776     same by doing source /etc/profile. This was already being
 2777     used in another part of script.
 2778     
 2779     [1] https://review.gluster.org/23089
 2780     
 2781     Backport of:
 2782      > Patch: https://review.gluster.org/23136/
 2783      > Change-Id: Iceb78835967ec6a4350983eec9af28398410c002
 2784      > BUG: 1734738
 2785      > Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2786     (cherry picked from commit 84f7794547522463841068063b22fd3a8d8fca2b)
 2787     
 2788     Change-Id: Iceb78835967ec6a4350983eec9af28398410c002
 2789     fixes: bz#1739442
 2790     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 2791 
 2792 commit 0a2ae69bcc393f0988fbd1ab6fbad1b93d991099
 2793 Author: Jiffin Tony Thottan <jthottan@redhat.com>
 2794 Date:   Wed Jun 26 15:58:33 2019 +0530
 2795 
 2796     posix : add posix_set_ctime() in posix_ftruncate()
 2797     
 2798     
 2799     >Backport of https://review.gluster.org/#/c/glusterfs/+/22948/
 2800     >Change-Id: I0cb5320fea71306e0283509ae47024f23874b53b
 2801     >fixes: bz#1723761
 2802     
 2803     Change-Id: I0cb5320fea71306e0283509ae47024f23874b53b
 2804     fixes: bz#1739399
 2805     Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
 2806     (cherry picked from commit 7d8be567f2f904fc74d0990ebce2e8afbedab918)
 2807 
 2808 commit 2c876346ecc09cbc06beb8eed637a4042b0883f8
 2809 Author: N Balachandran <nbalacha@redhat.com>
 2810 Date:   Fri Jun 21 09:04:19 2019 +0530
 2811 
 2812     cluster/dht:  Fixed a memleak in dht_rename_cbk
 2813     
 2814     Fixed a memleak in dht_rename_cbk when creating
 2815     a linkto file.
 2816     
 2817     Change-Id: I705adef3cb79e33806520fc2b15558e90e2c211c
 2818     fixes: bz#1739337
 2819     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 2820 
 2821 commit af955d30b058b5d340bfec722719c29b982a4188
 2822 Author: Raghavendra G <rgowdapp@redhat.com>
 2823 Date:   Tue Jun 4 19:22:45 2019 +0530
 2824 
 2825     protocol/client: propagte GF_EVENT_CHILD_PING only for connections to brick
 2826     
 2827     Two reasons:
 2828     * ping responses from glusterd may not be relevant for Halo
 2829       replication. Instead, it might be interested in only knowing whether
 2830       the brick itself is responsive.
 2831     * When a brick is killed, propagating GF_EVENT_CHILD_PING of ping
 2832       response from glusterd results in GF_EVENT_DISCONNECT spuriously
 2833       propagated to parent xlators. These DISCONNECT events are from the
 2834       connections client establishes with glusterd as part of its
 2835       reconnect logic. Without GF_EVENT_CHILD_PING, the last event
 2836       propagated to parent xlators would be the first DISCONNECT event
 2837       from brick and hence subsequent DISCONNECTS to glusterd are not
 2838       propagated as protocol/client prevents same event being propagated
 2839       to parent xlators consecutively. propagating GF_EVENT_CHILD_PING for
 2840       ping responses from glusterd would change the last_sent_event to
 2841       GF_EVENT_CHILD_PING and hence protocol/client cannot prevent
 2842       subsequent DISCONNECT events
 2843     
 2844     Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
 2845     Fixes: bz#1739334
 2846     Change-Id: I50276680c52f05ca9e12149a3094923622d6eaef
 2847     (cherry picked from commit 5d66eafec581fb3209af74595784be8854ca40a4)
 2848 
 2849 commit e9717b12b428a864bddc08781cae977d2fb59cc8
 2850 Author: Soumya Koduri <skoduri@redhat.com>
 2851 Date:   Thu Jul 25 12:56:12 2019 +0530
 2852 
 2853     gfapi: Fix deadlock while processing upcall
 2854     
 2855     As mentioned in bug1733166, there could be potential deadlock
 2856     while processing upcalls depending on how each xlator choose
 2857     to act on it. The right way of fixing such issues
 2858     is to change rpc callback communication process.
 2859     - https://github.com/gluster/glusterfs/issues/697
 2860     
 2861     Till then, making changes in gfapi layer to avoid any I/O
 2862     processing.
 2863     
 2864     This is backport of below mainline patch
 2865     > https://review.gluster.org/#/c/glusterfs/+/23108/
 2866     > bz#1733166
 2867     
 2868     Change-Id: I2079e95339e5d761d5060707f4555cfacab95c83
 2869     fixes: bz#1736345
 2870     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 2871 
 2872 commit 2bd9a9fe89903ea4f0f0861415ae2be7fe83efcd
 2873 Author: Sanju Rakonde <srakonde@redhat.com>
 2874 Date:   Tue Jul 2 15:23:00 2019 +0530
 2875 
 2876     glusterd: don't log a warning message for tier-enabled key
 2877     
 2878     We are logging a warning message saying unknown-key for
 2879     tier-enabled kay. although the tier xlator is deprecated,
 2880     this key is left behind for handling the peer rejection
 2881     issues in a heterogeneous cluster. We need not to log if
 2882     this key is not found/recognised.
 2883     
 2884     updates: bz#1727008
 2885     
 2886     Change-Id: Ia68661898a618f99a240ca8d8a124ff6a65ebe9d
 2887     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 2888     (cherry picked from commit 7d270d05f835d41e32572501246b50181dc9be56)
 2889 
 2890 commit 8f2440656bb3c0ec5781dc9c299c48770c171b0b
 2891 Author: Rinku Kothiya <rkothiya@redhat.com>
 2892 Date:   Wed Jul 24 14:57:06 2019 +0000
 2893 
 2894     api: Update all future API versions to rel-7
 2895     
 2896     As release 7 is branched, all future APIs now become 7.0
 2897     This change implements the same.
 2898     
 2899     Change-Id: I420e9ea43b07a40a4fb911ee56fb7436c2744edc
 2900     Updates: bz#1732875
 2901     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 2902 
 2903 commit c52ceffa1a1df187d02c38ecbe3fe28267d58cf3
 2904 Author: Raghavendra Bhat <raghavendra@redhat.com>
 2905 Date:   Tue Jul 2 16:50:23 2019 -0400
 2906 
 2907     features/snapview-server: obtain the list of snapshots inside the lock
 2908     
 2909     The current list of snapshots from priv->dirents is obtained outside
 2910     the lock.
 2911     
 2912     Change-Id: I8876ec0a38308da5db058397382fbc82cc7ac177
 2913     Fixes: bz#1731512
 2914     (cherry picked from commit 8e795617fd6f5193d0d52a336059ce1a28108c0e)
 2915 
 2916 commit e58da08b8dd162109bc34138b13772e00ea8769e
 2917 Author: karthik-us <ksubrahm@redhat.com>
 2918 Date:   Wed Jun 26 12:19:07 2019 +0530
 2919 
 2920     cluster/ta: Notify the clients only if there are pending heals
 2921     
 2922     Problem:
 2923     In case of thin arbiter, before index healer starts crawling the
 2924     indices at every heal-timeout interval, even if there is nothing to
 2925     be healed it will send an upcall notification to all the clients to
 2926     release any AFR_TA_DOM_NOTIFY locks that they hold. SHD will wait
 2927     for the upcall to return before proceeding with the heal even though
 2928     there is nothing to be healed. This will also invalidates the cached
 2929     information about the bricks states on the clients which leads to
 2930     extra calls on TA from clients for the next reads & writes if needed.
 2931     This will impact the IO performance.
 2932     
 2933     Fix:
 2934     - Before sending the upcall to the clients, check for any pending heals
 2935     on TA without taking  any locks.
 2936     - If there is nothing marked bad on TA, then continue with the index
 2937     crawl to heal any dirty markings present on the files due to any post-op
 2938     failure.
 2939     - If there is a brick marked as bad on TA, then take the
 2940     AFR_TA_DOM_NOTIFY lock on TA from SHD, get the state on TA and
 2941     continue with the current healing process.
 2942     
 2943     Change-Id: Ieb477bc6cb18bbdfd4e7a0453c5ed79b574ec9d6
 2944     fixes: bz#1729483
 2945     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 2946 
 2947 commit 47fcbc4c055a7880d2926e918ae1e1f57c7db20d
 2948 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 2949 Date:   Mon Jun 24 12:00:20 2019 +0530
 2950 
 2951     glusterd/svc: update pid of mux volumes from the shd process
 2952     
 2953     For a normal volume, we are updating the pid from a the
 2954     process while we do a daemonization or at the end of the
 2955     init if it is no-daemon mode. Along with updating the pid
 2956     we also lock the file, to make sure that the process is
 2957     running fine.
 2958     
 2959     With brick mux, we were updating the pidfile from gluterd
 2960     after an attach/detach request.
 2961     
 2962     There are two problems with this approach.
 2963     1) We are not holding a pidlock for any file other than parent
 2964        process.
 2965     2) There is a chance for possible race conditions with attach/detach.
 2966        For example, shd start and a volume stop could race. Let's say
 2967        we are starting an shd and it is attached to a volume.
 2968        While we trying to link the pid file to the running process,
 2969        this would have deleted by the thread that doing a volume stop.
 2970     
 2971     Backport of : https://review.gluster.org/#/c/glusterfs/+/22935/
 2972     >Change-Id: I29a00352102877ce09ea3f376ca52affceb5cf1a
 2973     >Updates: bz#1722541
 2974     >Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 2975     
 2976     Change-Id: I29a00352102877ce09ea3f376ca52affceb5cf1a
 2977     Updates: bz#1732668
 2978     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 2979 
 2980 commit 3c3b6377d6bdea9bffec31da88dd629347617b6d
 2981 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 2982 Date:   Thu Jun 27 19:17:29 2019 +0530
 2983 
 2984     graph/shd: Use top down approach while cleaning xlator
 2985     
 2986     We were cleaning xlator from botton to top, which might
 2987     lead to problems when upper xlators trying to access
 2988     the xlator object loaded below.
 2989     
 2990     One such scenario is when fd_unref happens as part of the
 2991     fini call which might lead to calling the releasedir to
 2992     lower xlator. This will lead to invalid mem access
 2993     
 2994     Backport of:https://review.gluster.org/#/c/glusterfs/+/22968/
 2995     >Change-Id: I8a6cb619256fab0b0c01a2d564fc88287c4415a0
 2996     >Updates: bz#1716695
 2997     >Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 2998     
 2999     Change-Id: I8a6cb619256fab0b0c01a2d564fc88287c4415a0
 3000     Updates: bz#1730229
 3001     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3002 
 3003 commit b2531751a186e31d8c0ca3f7e3e44475294931b6
 3004 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 3005 Date:   Mon Jun 24 15:49:04 2019 +0530
 3006 
 3007     graph/shd: Use glusterfs_graph_deactivate to free the xl rec
 3008     
 3009     We were using glusterfs_graph_fini to free the xl rec from
 3010     glusterfs_process_volfp as well as glusterfs_graph_cleanup.
 3011     
 3012     Instead we can use glusterfs_graph_deactivate, which is does
 3013     fini as well as other common rec free.
 3014     
 3015     Backportof : https://review.gluster.org/22904
 3016     >Change-Id: Ie4a5f2771e5254aa5ed9f00c3672a6d2cc8e4bc1
 3017     >Updates: bz#1716695
 3018     >Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3019     
 3020     Change-Id: Ie4a5f2771e5254aa5ed9f00c3672a6d2cc8e4bc1
 3021     Updates: bz#1730229
 3022     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3023 
 3024 commit e69bc0a183d9cbbace0bc36de87707fc059f2c35
 3025 Author: Xavi Hernandez <xhernandez@redhat.com>
 3026 Date:   Thu Jul 4 13:21:33 2019 +0200
 3027 
 3028     core: fix deadlock between statedump and fd_anonymous()
 3029     
 3030     There exists a deadlock between statedump generation and fd_anonymous()
 3031     function because they are acquiring inode table lock and inode lock in
 3032     reverse order.
 3033     
 3034     This patch modifies fd_anonymous() so that it takes inode lock only when
 3035     it's really necessary, avoiding the deadlock.
 3036     
 3037     Backport of:
 3038     > Change-Id: I24355447f0ea1b39e2546782ad07f0512cc381e7
 3039     > BUG: 1727068
 3040     > Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 3041     
 3042     Change-Id: I24355447f0ea1b39e2546782ad07f0512cc381e7
 3043     Fixes: bz#1729950
 3044     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 3045 
 3046 commit 4ad6dd3ca8cd558b853c7df0d6cd34dd22dff7d3
 3047 Author: Atin Mukherjee <amukherj@redhat.com>
 3048 Date:   Tue Jun 25 11:11:10 2019 +0530
 3049 
 3050     glusterd: conditionally clear txn_opinfo in stage op
 3051     
 3052     ...otherwise this leads to a crash when volume status is run on a
 3053     heterogeneous mode.
 3054     
 3055     > Fixes: bz#1723658
 3056     > Change-Id: I0d39f412b2e5e9d3ef0a3462b90b38bb5364b09d
 3057     > Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 3058     > (cherry picked from commit a72452fcf90679b28baec12d2769cbaa982bb4e4)
 3059     
 3060     Fixes: bz#1728127
 3061     Change-Id: I0d39f412b2e5e9d3ef0a3462b90b38bb5364b09d
 3062     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 3063 
 3064 commit 908d3bc0b34489c506fafa0f796f6d710768d934
 3065 Author: karthik-us <ksubrahm@redhat.com>
 3066 Date:   Wed Jun 12 11:57:02 2019 +0530
 3067 
 3068     cluster/afr: Fix incorrect reporting of gfid & type mismatch
 3069     
 3070     Problems:
 3071     1. When checking for type and gfid mismatch, if the type or gfid
 3072     is unknown because of missing gfid handle and the gfid xattr
 3073     it will be reported as type or gfid mismatch and the heal will
 3074     not complete.
 3075     
 3076     2. If the source selected during entry heal has null gfid the same
 3077     will be sent to afr_lookup_and_heal_gfid(). In this function when
 3078     we try to assign the gfid on the bricks where it does not exist,
 3079     we are considering the same gfid and try to assign that on those
 3080     bricks. This will fail in posix_gfid_set() since the gfid sent
 3081     is null.
 3082     
 3083     Fix:
 3084     If the gfid sent to afr_lookup_and_heal_gfid() is null choose a
 3085     valid gfid before proceeding to assign the gfid on the bricks
 3086     where it is missing.
 3087     
 3088     In afr_selfheal_detect_gfid_and_type_mismatch(), do not report
 3089     type/gfid mismatch if the type/gfid is unknown or not set.
 3090     
 3091     Change-Id: Ia06552e4dc4a9f89cb7f5302833604bd21bbf7da
 3092     fixes: bz#1729481
 3093     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 3094 
 3095 commit c79e07f54e251ca2d4b2dabd5960b1ca6f1c3f37
 3096 Author: Sanju Rakonde <srakonde@redhat.com>
 3097 Date:   Fri Jul 12 16:28:04 2019 +0530
 3098 
 3099     glusterd: do not mark skip_locking as true for geo-rep operations
 3100     
 3101     We need to send the commit req to peers in case of geo-rep
 3102     operations even though it is a no volname operation. In commit
 3103     phase peers try to set the txn_opinfo which will fail because
 3104     it is a no volname operation where we don't require a commit
 3105     phase. We mark skip_locking as true for no volname operations,
 3106     but we have to give an exception to geo-rep operations, so that
 3107     they can set txn_opinfo in commit phase.
 3108     
 3109     Please refer to detailed RCA at the bug: 1730543
 3110     
 3111     fixes: bz#1730543
 3112     
 3113     Change-Id: I9f2478b12a281f6e052035c0563c40543493a3fc
 3114     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 3115     (cherry picked from commit b917974ee922d7a2e079692ad7d6f61f900b37b2)
 3116 
 3117 commit e5e9a9817cecbd8f2c823e79179d9523b1a04ee3
 3118 Author: Raghavendra Bhat <raghavendra@redhat.com>
 3119 Date:   Tue Jun 25 10:51:33 2019 -0400
 3120 
 3121     features/snapview-server: use the same volfile server for gfapi options
 3122     
 3123     snapview server xlator makes use of "localhost" as the volfile server while
 3124     initing the new glfs instance to talk to a snapshot. While localhost is fine,
 3125     better use the same volfile server that was used to start the snapshot
 3126     daemon containing the snapview-server xlator.
 3127     
 3128     Change-Id: I4485d39b0e3d066f481adc6958ace53ea33237f7
 3129     fixes: bz#1728391
 3130     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 3131     (cherry picked from commit 36f6e6df0ff15d0464b869803710adca2b65e8ba)
 3132 
 3133 commit 4d84f0afee639c2a9e5e3c83d3ae9d5b8692997c
 3134 Author: Mohit Agrawal <moagrawal@redhat.com>
 3135 Date:   Wed Jul 3 15:22:38 2019 +0530
 3136 
 3137     glusterd: Show the correct brick status in get-state
 3138     
 3139     Problem: get-state does not show correct brick status if brick
 3140              status is not Started, it always shows started if any value
 3141              is set brickinfo->status
 3142     
 3143     Solution: Check the value of brickinfo->status to show correct status
 3144               in get-state
 3145     
 3146     Change-Id: I12a79619024c2cf59f338220d144f2f034059b3b
 3147     fixes: bz#1726905
 3148     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 3149     (cherry picked from commit af989db23d1db00e087f2b9d3dfc43b13ef17153)
 3150 
 3151 commit dab7adafff8b70b62ebd73c24991ee352a705757
 3152 Author: karthik-us <ksubrahm@redhat.com>
 3153 Date:   Mon Jul 15 11:51:58 2019 +0530
 3154 
 3155     tests: Fix bug-1717819-metadata-split-brain-detection.t failure
 3156     
 3157     Problem:
 3158     tests/bugs/replicate/bug-1717819-metadata-split-brain-detection.t fails
 3159     intermittently in test cases #49 & #50, which compare the values of the
 3160     user set xattr values after enabling the heal. We are not waiting for
 3161     the heal to complete before comparing those values, which might lead
 3162     those tests to fail.
 3163     
 3164     Fix:
 3165     Wait till the HEAL-TIMEOUT before comparing the xattr values.
 3166     Also cheking for the shd to come up and the bricks to connect to the shd
 3167     process in another case.
 3168     
 3169     Change-Id: I0e245b328da9df23ce70c5300278fad1c1d9f7ff
 3170     fixes: bz#1729895
 3171     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 3172 
 3173 commit 56e3d63fe9961831ad8c773eaadf3c0513f248a6
 3174 Author: Mohit Agrawal <moagrawal@redhat.com>
 3175 Date:   Mon Jun 24 21:08:34 2019 +0530
 3176 
 3177     test: Fix spurious failures in bug-1040275-brick-uid-reset-on-volume-restart.t
 3178     
 3179     Problem: test case is failing after just starting the volume at the
 3180              time of running stat command on mount point and client is
 3181              getting error transport endpoint is not conencted
 3182     
 3183     Solution: To avoid the error make sure all brick instance should be
 3184               up and mount point should be active
 3185     
 3186     > Change-Id: I49553a04d5b13e155ee02f4a1888a07fe3ee2ff5
 3187     > fixes: bz#1721590
 3188     > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 3189     > (cherry picked from commit 283b77805cca3027e333a11c9b00ac611662c9ee)
 3190     
 3191     Change-Id: I49553a04d5b13e155ee02f4a1888a07fe3ee2ff5
 3192     fixes: bz#1728182
 3193     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 3194 
 3195 commit 08c87ae4208b73f4f183f7b54ebcb373e8bc0ede
 3196 Author: Vishal Pandey <vpandey@redhat.com>
 3197 Date:   Wed Apr 24 13:37:16 2019 +0530
 3198 
 3199     glusterd/thin-arbiter: Thin-arbiter integration with GD1
 3200     
 3201     gluster volume create <VOLNAME> replica 2 thin-arbiter 1 <host1>:<brick1> <host2>:<brick2>
 3202     <thin-arbiter-host>:<path-to-store-replica-id-file> [force]
 3203     
 3204     The changes have been made in a way that the last brick in the bricks list
 3205     will be treated as the thin-arbiter.
 3206     GD1 will be manipulated to consider replica count to be as 2 and continue creating the
 3207     volume like any other replica 2 volume but since thin-arbiter volumes need ta-brick
 3208     client xlator entries for each subvolume in fuse volfile, volfile generation is
 3209     modified in a way to inject these entries seperately in the volfile for every subvolume.
 3210     
 3211     Few more additions -
 3212     1- Save the volinfo with new fields ta_bricks list and thin_arbiter_count.
 3213     2- Introduce a new option client.ta-brick-port to add remote-port to ta-brick xlator entry
 3214        in fuse volfiles. The option can be set using the following CLI syntax -
 3215        gluster volume set <VOLNAME> client.ta-brick-port <PORTNO.>
 3216     3- Volume Info will contain a Thin-Arbiter-path entry to distinguish
 3217        from other replicate volumes.
 3218     
 3219     Change-Id: Ib434e2313b29716f32476c6c211d282c4ef39406
 3220     Updates #687
 3221     Signed-off-by: Vishal Pandey <vpandey@redhat.com>
 3222     (cherry picked from commit 9b223b15ab69fce4076de036ee162f36a058bcd2)
 3223 
 3224 commit 96702cfea3ba55121c3bf203fcf2b86c803e1f04
 3225 Author: Rinku Kothiya <rkothiya@redhat.com>
 3226 Date:   Thu Jun 27 10:10:19 2019 +0000
 3227 
 3228     Update rfc.sh for release-7
 3229     
 3230     Change-Id: I37d0e2ff122e5250af7bb3f7c8de2a16bd8e3912
 3231     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 3232 
 3233 commit d1d9c2587f5a985073039db5d15fe9adb0433547
 3234 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 3235 Date:   Tue Jun 18 22:15:37 2019 +0530
 3236 
 3237     glusterd/shd: Change shd logfile to a unique name
 3238     
 3239     With the shd mux changes, shd was havinga a logfile
 3240     with volname of the first started volume.
 3241     
 3242     This was creating a lot confusion, as other volumes data
 3243     is also logging to a logfile which has a different vol name.
 3244     
 3245     With this changes the logfile will be changed to a unique name
 3246     ie "/var/log/glusterfs/glustershd.log". This was the same
 3247     logfile name before the shd mux
 3248     
 3249     Change-Id: I2b94c1f0b2cf3c9493505dddf873687755a46dda
 3250     fixes: bz#1721601
 3251     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3252 
 3253 commit aeb4545f35ef2740db36387cb855dcaa6bafb03d
 3254 Author: Rinku Kothiya <rkothiya@redhat.com>
 3255 Date:   Fri Jun 14 07:53:06 2019 +0000
 3256 
 3257     core: replace inet_addr with inet_pton
 3258     
 3259     Fixes warning raised by RPMDiff on the use of inet_addr, which may
 3260     impact Ipv6 support
 3261     
 3262     fixes: bz#1721385
 3263     
 3264     Change-Id: Id2d9afa1747efa64bc79d90dd2566bff54deedeb
 3265     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 3266 
 3267 commit 665d627e865d8cfa6a454c2c79eed9e9a1276865
 3268 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 3269 Date:   Thu Jun 20 20:43:24 2019 +0530
 3270 
 3271     shd/mux: Fix race between mux_proc unlink and stop
 3272     
 3273     There is a small race window, where we have a shd proc
 3274     without having a connection. That is when we stopped the
 3275     last shd running on a process. The list was removed
 3276     outside of a lock just after stopping the process.
 3277     
 3278     So there is a window where we stopped the process, but
 3279     the shd proc list contains the entry.
 3280     
 3281     Change-Id: Id82a82509e5cd72acac24e8b7b87197626525441
 3282     fixes: bz#1722541
 3283     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3284 
 3285 commit e2f2f414f855f9a3da269745ae3db2d27baa7f3d
 3286 Author: Pranith Kumar K <pkarampu@redhat.com>
 3287 Date:   Thu Jun 20 17:05:49 2019 +0530
 3288 
 3289     cluster/ec: Prevent double pre-op xattrops
 3290     
 3291     Problem:
 3292     Race:
 3293     Thread-1                                    Thread-2
 3294     1) Does ec_get_size_version() to perform
 3295     pre-op fxattrop as part of write-1
 3296                                                2) Calls ec_set_dirty_flag() in
 3297                                                   ec_get_size_version() for write-2.
 3298     					      This sets dirty[] to 1
 3299     3) Completes executing
 3300     ec_prepare_update_cbk leading to
 3301     ctx->dirty[] = '1'
 3302     					   4) Takes LOCK(inode->lock) to check if there are
 3303     					      any flags and sets dirty-flag because
 3304     				              lock->waiting_flag is 0 now. This leads to
 3305     					      fxattrop to increment on-disk dirty[] to '2'
 3306     
 3307     At the end of the writes the file will be marked for heal even when it doesn't need heal.
 3308     
 3309     Fix:
 3310     Perform ec_set_dirty_flag() and other checks inside LOCK() to prevent dirty[] to be marked
 3311     as '1' in step 2) above
 3312     
 3313     Updates bz#1593224
 3314     Change-Id: Icac2ab39c0b1e7e154387800fbededc561612865
 3315     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 3316 
 3317 commit 2959fbfbb77e2b1b2ccbc90610f8ff9362109ae3
 3318 Author: Kotresh HR <khiremat@redhat.com>
 3319 Date:   Thu Jun 13 16:23:21 2019 +0530
 3320 
 3321     posix/ctime: Fix ctime upgrade issue
 3322     
 3323     Problem:
 3324     On a EC volume, during upgrade from the older version where
 3325     ctime feature is not enabled(or not present) to the newer
 3326     version where the ctime feature is available (enabled default),
 3327     the self heal hangs and doesn't complete.
 3328     
 3329     Cause:
 3330     The ctime feature has both client side code (utime) and
 3331     server side code (posix). The feature is driven from client.
 3332     Only if the client side sets the time in the frame, should
 3333     the server side sets the time attributes in xattr. But posix
 3334     setattr/fseattr was not doing that. When one of the server
 3335     nodes is updated, since ctime is enabled by default, it
 3336     starts setting xattr on setattr/fseattr on the updated node/brick.
 3337     
 3338     On a EC volume the first two updated nodes(bricks) are not a
 3339     problem because there are 4 other bricks with consistent data.
 3340     However once the third brick is updated, the new attribute(mdata xattr)
 3341     will cause an inconsistency on metadata on 3 bricks, which
 3342     prevents the file to be repaired.
 3343     
 3344     Fix:
 3345     Don't create mdata xattr with utimes/utimensat system call.
 3346     Only update if already present.
 3347     
 3348     Change-Id: Ieacedecb8a738bb437283ef3e0f042fd49dc4c8c
 3349     fixes: bz#1720201
 3350     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 3351 
 3352 commit 804de0be6f100ede12f6131d3320cf06a227f191
 3353 Author: David Spisla <david.spisla@iternity.com>
 3354 Date:   Wed Jun 19 13:07:56 2019 +0200
 3355 
 3356     WORM-Xlator: Avoid performing fsetxattr if fd is NULL
 3357     
 3358     If worm_create_cbk receives an error (op_ret == -1) fd will be NULL
 3359     and therefore performing fsetxattr would lead to a segfault and the
 3360     brick process crashes. To avoid this we allow setting fsetxattr only
 3361     if op_ret >= 0 . If an error happens we explicitly unwind
 3362     
 3363     Change-Id: Ie7f8a198add93e5cd908eb7029cffc834c3b58a6
 3364     fixes: bz#1717757
 3365     Signed-off-by: David Spisla <david.spisla@iternity.com>
 3366 
 3367 commit 52cf03ee314e46aa990c5b813d83019aabb04d58
 3368 Author: Kinglong Mee <kinglongmee@gmail.com>
 3369 Date:   Tue Apr 23 11:03:24 2019 +0800
 3370 
 3371     ec-heal: check file's gfid when deleting stale name
 3372     
 3373     A name-less lookup does not contain parent's stat,
 3374     It is hard to check the lookuped file is at the right path.
 3375     
 3376     This patch changes to a name lookup, and check file's gfid with
 3377     expected gfid. If the gfid is different, mark it estale.
 3378     
 3379     fixes: bz#1702131
 3380     Change-Id: I2de20b10d680eed1e2fb1d3830b3b3dec4520dbf
 3381     Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
 3382 
 3383 commit eae5f062ae008eb3b615170a102c715d70aa68e6
 3384 Author: Amar Tumballi <amarts@redhat.com>
 3385 Date:   Thu Jun 20 09:17:36 2019 +0530
 3386 
 3387     fix template file after clang-format
 3388     
 3389     clang-format gets applied for all the files ending with .c or .h
 3390     but in this case, new-xlator.c was a template file. hence
 3391     change the suffix to reflect the same, also to avoid the
 3392     auto-formatting on template file.
 3393     
 3394     updates: bz#1193929
 3395     Change-Id: I1c00a28f165f34dbe00fd3b6b070d868a56f9157
 3396     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3397 
 3398 commit 2e11f61029d0b36893c4aa859f99c22b6202ad12
 3399 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 3400 Date:   Wed Jun 19 15:11:59 2019 +0530
 3401 
 3402     afr/read: Implement latency based read child selection
 3403     
 3404     Network latency is an important factor selecting a read subvolume.
 3405     So this patch is adding two new policy.
 3406     
 3407     1) We measure the latency of a child during a GF_DUMP rpc call.
 3408        Then use this latency to pick a read subvol having the least
 3409        latency.
 3410     
 3411     2) Second one is an hybrid mode where it calculates the effective
 3412        latency by multiplying outstanding pending read request and
 3413        latency, and choose the least one.
 3414     
 3415     Change-Id: Ia49c8a08ab61f7dcdad8b8950aa4d338e7accf97
 3416     fixes: #520
 3417     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3418 
 3419 commit bcdb77023e2efbbf06ad576851f0f38a0b8b11ab
 3420 Author: Susant Palai <spalai@redhat.com>
 3421 Date:   Tue Jun 18 16:43:43 2019 +0530
 3422 
 3423     posix: fix crash in posix_cs_set_state
 3424     
 3425     Fixes: bz#1721474
 3426     Change-Id: Ic2a53fa3d1e9e23424c6898e0986f80d52c5e3f6
 3427     Signed-off-by: Susant Palai <spalai@redhat.com>
 3428 
 3429 commit 1725880dabd2bac8739043c4cb5f9d844557f86e
 3430 Author: Amar Tumballi <amarts@redhat.com>
 3431 Date:   Mon Jun 17 16:49:48 2019 +0530
 3432 
 3433     encryption/crypt: remove from volume file
 3434     
 3435     The feature is not supported and is moved out of the codebase from
 3436     glusterfs-5.x release. Doesn't make sense to keep the code to
 3437     support it.
 3438     
 3439     For those who want to upgrade from an version supporting it to higher
 3440     version, please do a 'gluster volume reset $VOL encryption reset' and
 3441     then continue with the upgrade process.
 3442     
 3443     updates: bz#1648169
 3444     Change-Id: I8cf822c0d7195940bd37f6af2432a3cac68d44d1
 3445     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3446 
 3447 commit 6f70d4a6377365c352dad07d8eae0b2bd7af6fc6
 3448 Author: Milind Changire <mchangir@redhat.com>
 3449 Date:   Tue Feb 19 12:49:12 2019 +0530
 3450 
 3451     glusterfind: integrate with gfid2path
 3452     
 3453     Integration with gfid2path helps avoid file-system crawl and saves
 3454     precious time. Extended attributes starting with "trusted.gfid2path."
 3455     are read and the <PGFID>/<BN> values are extracted and the <PGFID> is
 3456     iteratively resolved from the brick backend to arrive at the full path.
 3457     
 3458     Change-Id: I593b02880e3413b77bfceed4a36b00d401f03bc0
 3459     fixes: #529
 3460     Signed-off-by: Milind Changire <mchangir@redhat.com>
 3461     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 3462 
 3463 commit 647a1b83fa39a635b01fcba38a330485fcd6afdb
 3464 Author: Anoop C S <anoopcs@redhat.com>
 3465 Date:   Wed Jun 12 15:41:27 2019 +0530
 3466 
 3467     extras/hooks: Install and package newly added post add-brick hook script
 3468     
 3469     https://review.gluster.org/c/glusterfs/+/22834 added a new SELinux hook
 3470     script as a post add-brick operation to label new brick paths. But the
 3471     change failed to install and package new script. Therefore making
 3472     necessary changes to Makefile and spec file to get it installed and
 3473     packaged.
 3474     
 3475     Change-Id: I67b8f4982c2783c34a4bc749fb4387c19a038225
 3476     fixes: bz#1717953
 3477     Signed-off-by: Anoop C S <anoopcs@redhat.com>
 3478 
 3479 commit b99f6eba2e4d53ba8220034d9b8a4530681ec77e
 3480 Author: Kinglong Mee <mijinlong@open-fs.com>
 3481 Date:   Tue Feb 26 15:20:33 2019 +0800
 3482 
 3483     md-cache: only update generation for inode at upcall and NULL stat
 3484     
 3485     1. For parallel writes from nfs-ganesha, two fops with two generations,
 3486        but the fops reply maybe returned disordered.
 3487     2. The inode md-cache timeout should not increase conf->generation.
 3488     
 3489     With this patch,
 3490     1, Fop only gets generation from inode md-cache or conf, does not increase it.
 3491     2. The generation is increased at upcall invalidate, estal/enoent error
 3492        invalidate, reply with zeroed out stat from write-behind.
 3493     
 3494     Change-Id: I897ecaa143fd18bc024c1948c7d1a6f831fd53da
 3495     Updates: bz#1683594
 3496     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
 3497 
 3498 commit c9097077922647b61570f087d16103f1c7aced99
 3499 Author: N Balachandran <nbalacha@redhat.com>
 3500 Date:   Tue Jun 18 15:33:29 2019 +0530
 3501 
 3502     cluster/dht: Strip out dht xattrs
 3503     
 3504     Some internal DHT xattrs were not being
 3505     removed when calling getxattr in pass-through mode.
 3506     This has been fixed.
 3507     
 3508     Change-Id: If7e3dbc7b495db88a566bd560888e3e9c167defa
 3509     fixes: bz#1721435
 3510     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 3511 
 3512 commit c8f302b7b34b45b2cf340634ed66de899f900c23
 3513 Author: Sunny Kumar <sunkumar@redhat.com>
 3514 Date:   Tue Jun 18 16:25:35 2019 +0530
 3515 
 3516     geo-rep: Fix permissions for GEOREP_DIR in non-root setup
 3517     
 3518     During mountbroker setup: 'gluster-mountbroker <mountbroker-root> <group>'
 3519     commad to set the permission and group for GEOREP_DIR directory
 3520     (/var/lib/glusterd/geo-replication) fails due to extra argument, which is
 3521     enssential for non-root geo-rep setup.
 3522     
 3523     fixes: bz#1721441
 3524     Change-Id: Ia83442733bf0b29f630e8c9e398097316efca092
 3525     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 3526 
 3527 commit 2d278f0407ab7d29507dc697653b39d72ddee472
 3528 Author: Yaniv Kaul <ykaul@redhat.com>
 3529 Date:   Sun May 26 11:18:05 2019 +0300
 3530 
 3531     glusterd-volgen.c: remove BD xlator from the graph
 3532     
 3533     The BD xlator was removed some time ago. Remove it from the graph.
 3534     We can also remove the caps settings - only the BD xlator
 3535     was using it.
 3536     
 3537     Lastly, remove the caps (which only BD was using) and the document
 3538     describing the translator.
 3539     
 3540     Change-Id: Id0adcb2952f4832a5dc6301e726874522e07935d
 3541     updates: bz#1193929
 3542     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 3543 
 3544 commit b79222f650f6613758f036c749f5f879a54148a7
 3545 Author: SheetalPamecha <spamecha@redhat.com>
 3546 Date:   Mon Jun 17 15:42:20 2019 +0530
 3547 
 3548     core: fedora 30 compiler warnings
 3549     
 3550     warning: ‘%s’ directive argument is null [-Wformat-overflow=]
 3551     
 3552     Change-Id: I69b8d47f0002c58b00d1cc947fac6f1c64e0b295
 3553     updates: bz#1193929
 3554     Signed-off-by: SheetalPamecha <spamecha@redhat.com>
 3555 
 3556 commit 25ad5aca23b257cdd129cd1d4518b048fbba87bb
 3557 Author: Mohit Agrawal <moagrawal@redhat.com>
 3558 Date:   Mon Jun 17 11:10:42 2019 +0530
 3559 
 3560     tests: subdir-mount.t is failing for brick_mux regrssion
 3561     
 3562     To avoid the failure wait to run hook script S13create-subdir-mounts.sh
 3563     after executed add-brick command by test case.
 3564     
 3565     Change-Id: I063b6d0f86a550ed0a0527255e4dfbe8f0a8c02e
 3566     fixes: bz#1720993
 3567     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 3568 
 3569 commit 7cc20c1eb09c041b331c4add6c24212fbdcda3b4
 3570 Author: Xavier Hernandez <jahernan@redhat.com>
 3571 Date:   Fri Jan 19 12:18:13 2018 +0100
 3572 
 3573     core: improve timer accuracy
 3574     
 3575     Also fixed some issues on test ec-1468261.t.
 3576     
 3577     Change-Id: If156f86af986d9eed13cdd1f15c5a7214cd11706
 3578     Updates: bz#1193929
 3579     Signed-off-by: Xavier Hernandez <jahernan@redhat.com>
 3580 
 3581 commit 513df02b19af14b8b006c5c2e60c2a7447146aa2
 3582 Author: Sanju Rakonde <srakonde@redhat.com>
 3583 Date:   Thu Jun 13 16:28:04 2019 +0530
 3584 
 3585     glusterd: log error message only when rsp.op_ret is negative
 3586     
 3587     Problem: commit d42221bec9 added a log message based on rsp.op_ret
 3588     check. but while running subdir-mount.t, this message is seen even on
 3589     successful mounts.
 3590     
 3591     Solution: in __server_getspec(), return value of sys_read() is assigned to
 3592     ret, which will be a non-negative number in when sys_read() is success.
 3593     This non-zero value is assigned to rsp.op_ret. We should log an error only
 3594     when rsp.op_ret is negative.
 3595     
 3596     fixes: bz#1718848
 3597     
 3598     Change-Id: Ieef8ba33c2c7b4a97d4aef17543f58e66fd3b341
 3599     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 3600 
 3601 commit 1984fddf10fd3ed8ddedfab45424db9656b271a8
 3602 Author: Atin Mukherjee <amukherj@redhat.com>
 3603 Date:   Tue Jun 11 09:52:06 2019 +0530
 3604 
 3605     glusterd: add GF_TRANSPORT_BOTH_TCP_RDMA in glusterd_get_gfproxy_client_volfile
 3606     
 3607     ... with out which volume creation fails with "volume create: <xyz>: failed:
 3608     Failed to create volume files"
 3609     
 3610     Fixes: bz#1716812
 3611     Change-Id: I2f4c2c6d5290f066b54e1c1db19e25db9937bedb
 3612     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 3613 
 3614 commit 01846e7b9b0b92e4a10f5cbcc921bad90441660d
 3615 Author: Kotresh HR <khiremat@redhat.com>
 3616 Date:   Thu Jun 13 22:43:47 2019 +0530
 3617 
 3618     uss: Fix tar issue with ctime and uss enabled
 3619     
 3620     Problem:
 3621     If ctime and uss enabled, tar still complains with 'file
 3622     changed as we read it'
 3623     
 3624     Cause:
 3625     To clear nfs cache (gluster-nfs), the ctime was incremented
 3626     in snap-view client on stat cbk.
 3627     
 3628     Fix:
 3629     The ctime should not be incremented manually. Since gluster-nfs
 3630     is planning to be deprecated, this code is being removed to
 3631     fix the issue.
 3632     
 3633     Change-Id: Iae7f100c20fce880a50b008ba716077350281404
 3634     fixes: bz#1720290
 3635     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 3636 
 3637 commit b460e58d07fac340b713778f979d23705a8b70ff
 3638 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 3639 Date:   Tue Jun 4 05:37:57 2019 +0530
 3640 
 3641     afr/fini: Free local_pool data during an afr fini
 3642     
 3643     We should free the mem_pool local_pool during an afr_fini.
 3644     Otherwise this will lead to mem leak for shd
 3645     
 3646     Change-Id: I805a34a88077bf7b886c28b403798bf9eeeb1c0b
 3647     Updates: bz#1716695
 3648     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 3649 
 3650 commit 632c10b5e976079d825f8808b5e33ab2e1dda469
 3651 Author: Amar Tumballi <amarts@redhat.com>
 3652 Date:   Fri Jun 14 15:00:12 2019 +0530
 3653 
 3654     cli: don't fail if logging initialize fails
 3655     
 3656     in many cases, gluster's cli can run as non-privileged mode
 3657     (like in geo-rep non-root setup). Just because logging fails
 3658     in cli, lets not fail the overall process. Not much of
 3659     debugging help in CLI logs anyways. Most of the debugging
 3660     happens once the call reaches server (glusterd).
 3661     
 3662     Fixes: bz#1535511
 3663     Change-Id: I9f07c61b8c3acc95ec08230ff539a35dfd0ff9dc
 3664     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3665 
 3666 commit 1cb32e3df2775dabc57df6931ffce96aece7109e
 3667 Author: Sheetal Pamecha <spamecha@redhat.com>
 3668 Date:   Fri May 31 17:21:22 2019 +0530
 3669 
 3670     geo-rep/gsyncd: name is not freed in one of the cases
 3671     
 3672     CID: 1400730
 3673     updates: bz#789278
 3674     Change-Id: I0f6924050a31d3d2cc0b555f859920e349728e0a
 3675     Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 3676 
 3677 commit 82b8458ac6d31c72dc7a2f69df7f50bb1e4b7618
 3678 Author: Niels de Vos <ndevos@redhat.com>
 3679 Date:   Fri Jun 14 12:43:45 2019 +0200
 3680 
 3681     build: always build glusterfs-cli to allow monitoring/managing from clients
 3682     
 3683     Fixes: bz#1720615
 3684     Change-Id: I5071f3255ff615113b36b08cd5326be6e37d907d
 3685     Signed-off-by: Niels de Vos <ndevos@redhat.com>
 3686 
 3687 commit e7211901e9f987d0efcd7d699c995634fc9f24d6
 3688 Author: Aravinda VK <avishwan@redhat.com>
 3689 Date:   Fri Jun 14 17:34:34 2019 +0530
 3690 
 3691     tests: Add missing NFS test tag to the testfile
 3692     
 3693     $SRC/glusterfs/bugs/nfs/showmount-many-clients.t
 3694     
 3695     Change-Id: I48758cc66fcb55f48c4a8a0a738b06867f6814a1
 3696     Signed-off-by: Aravinda VK <avishwan@redhat.com>
 3697     Updates: bz#1193929
 3698 
 3699 commit 06ee9e13db03a02b343a5d44cae3c4a5da48bf8a
 3700 Author: Amar Tumballi <amarts@redhat.com>
 3701 Date:   Fri Jun 14 12:53:15 2019 +0530
 3702 
 3703     clang-scan: resolve warning
 3704     
 3705     dht-common.c: because there was a 'goto err' before assigning
 3706                   the 'local' variable, there is possibility of NULL
 3707                   dereference. As the check which was done wouldn't
 3708                   ever be true, removed the check.
 3709     
 3710     glusterd-geo-rep.c: a possible path where 'slave_host' could be
 3711                  NULL when it gets passed to strcmp() is found.
 3712                  strcmp() expects a valid string. Add a NULL check.
 3713     
 3714     Updates: bz#1622665
 3715     Change-Id: I64c280bc1beac9a2b109e8fa88f2a5ce8b823c3a
 3716     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3717 
 3718 commit 836c7ec096ebff089482f1e5a25fa55df28b14ea
 3719 Author: Amar Tumballi <amarts@redhat.com>
 3720 Date:   Fri Jun 14 22:38:10 2019 +0530
 3721 
 3722     glfs: add syscall.h after header cleanup
 3723     
 3724     in one of the recent patches, we cleaned-up the unneccesary header
 3725     file includes. In the order of merging the patches, there cropped
 3726     up an compile error.
 3727     
 3728     updates: bz#1193929
 3729     Change-Id: I2ad52aa918f9c698d5273bb293838de6dd50ac31
 3730     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3731 
 3732 commit 0a6fe8551ac9807a8b6ad62241ec8048cf9f9025
 3733 Author: Yaniv Kaul <ykaul@redhat.com>
 3734 Date:   Sun Jun 9 13:31:31 2019 +0300
 3735 
 3736     multiple files: another attempt to remove includes
 3737     
 3738     There are many include statements that are not needed.
 3739     A previous more ambitious attempt failed because of *BSD plafrom
 3740     (see https://review.gluster.org/#/c/glusterfs/+/21929/ )
 3741     
 3742     Now trying a more conservative reduction.
 3743     It does not solve all circular deps that we have, but it
 3744     does reduce some of them. There is just too much to handle
 3745     reasonably (dht-common.h includes dht-lock.h which includes
 3746     dht-common.h ...), but it does reduce the overall number of lines
 3747     of include we need to look at in the future to understand and fix
 3748     the mess later one.
 3749     
 3750     Change-Id: I550cd001bdefb8be0fe67632f783c0ef6bee3f9f
 3751     updates: bz#1193929
 3752     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 3753 
 3754 commit 65e3624091e895ca32cd91468552589f34d17595
 3755 Author: Aravinda VK <avishwan@redhat.com>
 3756 Date:   Fri Jun 14 16:11:37 2019 +0530
 3757 
 3758     eventsapi: Fix Exception class for Python3
 3759     
 3760     Python2 exception provides message attribute for custom exceptions.
 3761     But it is not available in Python3. Add init method for custom exception
 3762     to handle the same.
 3763     
 3764     Original crash(IndexError reported in the bug) was fixed with
 3765     https://review.gluster.org/#/c/glusterfs/+/22294/ But that patch only
 3766     works in Python2 and fails in Python3 since Exception in Python 3
 3767     doesn't have "message" attribute.
 3768     
 3769     Fixes: bz#1573226
 3770     Change-Id: If9117048f9ff0615f5da1880075ec12c0ff4855e
 3771     Signed-off-by: Aravinda VK <avishwan@redhat.com>
 3772 
 3773 commit 6eaa561526c340c48b12f0cf149c6c5a2903d751
 3774 Author: Amar Tumballi <amarts@redhat.com>
 3775 Date:   Thu Mar 14 10:04:28 2019 +0530
 3776 
 3777     gfapi: provide an api for setting statedump path
 3778     
 3779     Currently for an application using glfsapi to use glusterfs, when a
 3780     statedump is taken, it uses /var/run/gluster dir to dump info.
 3781     
 3782     There can be concerns as this directory may be owned by some other
 3783     user, and hence it may fail taking statedump. Such applications
 3784     should have an option to use different path.
 3785     
 3786     This patch provides an API to do so.
 3787     
 3788     Updates: bz#1689097
 3789     Change-Id: I8918e002bc823d83614c972b6c738baa04681b23
 3790     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3791 
 3792 commit 928395eddf4241433effc55e294a7996108da7d8
 3793 Author: Xie Changlong <xiechanglong@cmss.chinamobile.com>
 3794 Date:   Mon Jun 3 15:59:38 2019 +0800
 3795 
 3796     gnfs: support inode dump
 3797     
 3798     So, we will get more debug info.
 3799     
 3800     fixes: #679
 3801     Change-Id: I3588e204ad25c20b69271c1a4ee17d0d158bd794
 3802     Signed-off-by: Xie Changlong <xiechanglong@cmss.chinamobile.com>
 3803 
 3804 commit 675dd98ce0c772b732c7f45a8e51dcf0d64f57fc
 3805 Author: Soumya Koduri <skoduri@redhat.com>
 3806 Date:   Fri Jun 7 19:33:07 2019 +0530
 3807 
 3808     upcall: Avoid sending notifications for invalid inodes
 3809     
 3810     For nameless LOOKUPs, server creates a new inode which shall
 3811     remain invalid until the fop is successfully processed post
 3812     which it is linked to the inode table.
 3813     
 3814     But incase if there is an already linked inode for that entry,
 3815     it discards that newly created inode which results in upcall
 3816     notification. This may result in client being bombarded with
 3817     unnecessary upcalls affecting performance if the data set is huge.
 3818     
 3819     This issue can be avoided by looking up and storing the upcall
 3820     context in the original linked inode (if exists), thus saving up on
 3821     those extra callbacks.
 3822     
 3823     Change-Id: I044a1737819bb40d1a049d2f53c0566e746d2a17
 3824     fixes: bz#1718338
 3825     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 3826 
 3827 commit bc6fd4cfa6ed34de3ffc02e2279fcc713f80f530
 3828 Author: Soumya Koduri <skoduri@redhat.com>
 3829 Date:   Fri Jun 7 17:20:15 2019 +0530
 3830 
 3831     gfapi: fix incorrect initialization of upcall syncop arguments
 3832     
 3833     While sending upcall notifications via synctasks, the argument used to
 3834     carry relevant data for these tasks is not initialized properly. This patch
 3835     is to fix the same.
 3836     
 3837     Change-Id: I9fa8f841e71d3c37d3819fbd430382928c07176c
 3838     fixes: bz#1718316
 3839     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 3840 
 3841 commit 4d51b878c9c41e81f965569a4fe19a95a0a42c25
 3842 Author: Shwetha K Acharya <sacharya@redhat.com>
 3843 Date:   Mon Jun 3 18:05:24 2019 +0530
 3844 
 3845     cli: Remove-brick warning seems unnecessary
 3846     
 3847     As force-migration option is disabled by default,
 3848     the warning seems unnessary.
 3849     
 3850     Rephrased the warning to make best sense out of it.
 3851     
 3852     fixes: bz#1712668
 3853     Change-Id: Ia18c3c5e7b3fec808fce2194ca0504a837708822
 3854     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 3855 
 3856 commit 582f91fcad42b6b7da653d2a587d196a7a1e0204
 3857 Author: Anoop C S <anoopcs@redhat.com>
 3858 Date:   Thu Jun 6 18:33:19 2019 +0530
 3859 
 3860     extras/hooks: Add SELinux label on new bricks during add-brick
 3861     
 3862     Change-Id: Ifd8ae5eeb91b968cc1a9a9b5d15844c5233d56db
 3863     fixes: bz#1717953
 3864     Signed-off-by: Anoop C S <anoopcs@redhat.com>
 3865 
 3866 commit 3dd03146bb7037ae2ebea0579d0b81be27fdd927
 3867 Author: Sunny Kumar <sunkumar@redhat.com>
 3868 Date:   Mon May 13 14:32:53 2019 +0530
 3869 
 3870     geo-rep : fix mountbroker setup
 3871     
 3872     Problem:
 3873     
 3874     Unable to setup mountbroker root directory while creating geo-replication
 3875     session for non-root user.
 3876     
 3877     Casue:
 3878     With patch[1] which defines the max-port for glusterd one extra sapce
 3879     got added in field of 'option max-port'.
 3880     [1]. https://review.gluster.org/#/c/glusterfs/+/21872/
 3881     
 3882     In geo-rep spliting of key-value pair form vol file was done on the
 3883     basis of space so this additional space caused "ValueError: too many values
 3884     to unpack".
 3885     
 3886     Solution:
 3887     Use split so that it can treat consecutive whitespace as a single separator.
 3888     
 3889     Fixes: bz#1709248
 3890     Change-Id: Ia22070a43f95d66d84cb35487f23f9ee58b68c73
 3891     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 3892 
 3893 commit 952cf7e4f4393fcd9cf8c16b013d8f28915c990e
 3894 Author: Xavi Hernandez <xhernandez@redhat.com>
 3895 Date:   Fri May 31 18:40:30 2019 +0200
 3896 
 3897     libglusterfs: cleanup iovec functions
 3898     
 3899     This patch cleans some iovec code and creates two additional helper
 3900     functions to simplify management of iovec structures.
 3901     
 3902       iov_range_copy(struct iovec *dst, uint32_t dst_count, uint32_t dst_offset,
 3903                      struct iovec *src, uint32_t src_count, uint32_t src_offset,
 3904                      uint32_t size);
 3905     
 3906         This function copies up to 'size' bytes from 'src' at offset
 3907         'src_offset' to 'dst' at 'dst_offset'. It returns the number of
 3908         bytes copied.
 3909     
 3910       iov_skip(struct iovec *iovec, uint32_t count, uint32_t size);
 3911     
 3912         This function removes the initial 'size' bytes from 'iovec' and
 3913         returns the updated number of iovec vectors remaining.
 3914     
 3915     The signature of iov_subset() has also been modified to make it safer
 3916     and easier to use. The new signature is:
 3917     
 3918       iov_subset(struct iovec *src, int src_count, uint32_t start, uint32_t size,
 3919                  struct iovec **dst, int32_t dst_count);
 3920     
 3921         This function creates a new iovec array containing the subset of the
 3922         'src' vector starting at 'start' with size 'size'. The resulting
 3923         array is allocated if '*dst' is NULL, or copied to '*dst' if it fits
 3924         (based on 'dst_count'). It returns the number of iovec vectors used.
 3925     
 3926     A new set of functions to iterate through an iovec array have been
 3927     created. They can be used to simplify the implementation of other
 3928     iovec-based helper functions.
 3929     
 3930     Change-Id: Ia5fe57e388e23392a8d6cdab17670e337cadd587
 3931     Updates: bz#1193929
 3932     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 3933 
 3934 commit c525fdc6bd79684da196e0fe7ca5630c1bac8f21
 3935 Author: Amar Tumballi <amarts@redhat.com>
 3936 Date:   Mon Jun 10 09:39:38 2019 +0530
 3937 
 3938     tests: keep glfsxmp in tests directory
 3939     
 3940     this is critical so all the tests will be contained in the same
 3941     directory, and one can just 'cp -a tests/ <any-location>/' and
 3942     run glusterfs tests.
 3943     
 3944     only 'glfsxmp.c' was an exception as it was just copying the
 3945     file from api example directory. Now moved it to tests.
 3946     
 3947     updates: bz#1193929
 3948     Change-Id: I00359d64be580bffc5b3c3a090968d86c2c6952a
 3949     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 3950 
 3951 commit 8e5656d950ff7bca21594b47921c6c0bf98eecea
 3952 Author: karthik-us <ksubrahm@redhat.com>
 3953 Date:   Mon Jun 10 23:19:44 2019 +0530
 3954 
 3955     tests: Fix split-brain-favorite-child-policy.t failure
 3956     
 3957     Problem:
 3958     The test case is failing to heal the volume within $HEAL_TIMEOUT @195.
 3959     This is happening because as part of split-brain resolution the file
 3960     gets expunged from the sink and the new entry mark for that file will
 3961     be done on the source bricks as part of impunging. Since the source
 3962     bricks shd-threads failed to get the heal-domain lock, they will wait
 3963     for the heal-timeout of 10 minutes, which is greater than $HEAL_TIMEOUT.
 3964     
 3965     Fix:
 3966     Set the cluster.heal-timeout to 5 seconds to trigger the heal so that
 3967     one of the source brick heals the file within the $HEAL_TIMEOUT.
 3968     
 3969     Change-Id: Ie73c578cc5361c0d617a48ccc86026734d20ba8c
 3970     fixes: bz#1718998
 3971     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 3972 
 3973 commit 1b0b869d91d4e5bedc69922128551602dc4bbc13
 3974 Author: karthik-us <ksubrahm@redhat.com>
 3975 Date:   Thu Jun 6 10:59:42 2019 +0530
 3976 
 3977     Cluster/afr: Don't treat all bricks having metadata pending as split-brain
 3978     
 3979     Problem:
 3980     We currently don't have a roll-back/undoing of post-ops if quorum is not met.
 3981     Though the FOP is still unwound with failure, the xattrs remain on the disk.
 3982     Due to these partial post-ops and partial heals (healing only when 2 bricks
 3983     are up), we can end up in metadata split-brain purely from the afr xattrs
 3984     point of view i.e each brick is blamed by atleast one of the others for
 3985     metadata. These scenarios are hit when there is frequent connect/disconnect
 3986     of the client/shd to the bricks.
 3987     
 3988     Fix:
 3989     Pick a source based on the xattr values. If 2 bricks blame one, the blamed
 3990     one must be treated as sink. If there is no majority, all are sources. Once
 3991     we pick a source, self-heal will then do the heal instead of erroring out
 3992     due to split-brain.
 3993     This patch also adds restriction of all the bricks to be up to perform
 3994     metadata heal to avoid any metadata loss.
 3995     
 3996     Removed the test case tests/bugs/replicate/bug-1468279-source-not-blaming-sinks.t
 3997     as it was doing metadata heal even when only 2 of 3 bricks were up.
 3998     
 3999     Change-Id: I07a9d62f84ceda329dcab1f02a33aeed258dcb09
 4000     fixes: bz#1717819
 4001     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 4002 
 4003 commit 5b35b18be6a04ed4dd69dc71e5fb436c212c15fc
 4004 Author: Sunny Kumar <sunkumar@redhat.com>
 4005 Date:   Mon Jun 10 15:16:48 2019 +0530
 4006 
 4007     tests: added cleanup for lock files
 4008     
 4009     Problem: useradd fails with: Cannot allocate memory
 4010              useradd: cannot lock /etc/passwd; try again later.
 4011     
 4012     Solution:
 4013     
 4014     Lock files should get automatically removed once "usradd" or "groupadd"
 4015     command finishes. But sometimes we encounter situations (bugs) where
 4016     some of these files may not get properly unlocked after the execution of
 4017     the command. In that case, when we execute useradd next time, it may show
 4018     the error “cannot lock /etc/password” or “unable to lock group file”.
 4019     So, to avoid any such errors, check for any lock files under /etc and
 4020     remove those.
 4021     
 4022     updates: bz#1193929
 4023     
 4024     Change-Id: If6456a271c2bc0717f768d7101a40ce44a9af3d7
 4025     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 4026 
 4027 commit dc119e9c2f3db6d029ab1c5a81c171180db58192
 4028 Author: Krutika Dhananjay <kdhananj@redhat.com>
 4029 Date:   Fri Apr 5 12:29:23 2019 +0530
 4030 
 4031     features/shard: Fix extra unref when inode object is lru'd out and added back
 4032     
 4033     Long tale of double unref! But do read...
 4034     
 4035     In cases where a shard base inode is evicted from lru list while still
 4036     being part of fsync list but added back soon before its unlink, there
 4037     could be an extra inode_unref() leading to premature inode destruction
 4038     leading to crash.
 4039     
 4040     One such specific case is the following -
 4041     
 4042     Consider features.shard-deletion-rate = features.shard-lru-limit = 2.
 4043     This is an oversimplified example but explains the problem clearly.
 4044     
 4045     First, a file is FALLOCATE'd to a size so that number of shards under
 4046     /.shard = 3 > lru-limit.
 4047     Shards 1, 2 and 3 need to be resolved. 1 and 2 are resolved first.
 4048     Resultant lru list:
 4049                                    1 -----> 2
 4050     refs on base inode -          (1)  +   (1) = 2
 4051     3 needs to be resolved. So 1 is lru'd out. Resultant lru list -
 4052     		               2 -----> 3
 4053     refs on base inode -          (1)  +   (1) = 2
 4054     
 4055     Note that 1 is inode_unlink()d but not destroyed because there are
 4056     non-zero refs on it since it is still participating in this ongoing
 4057     FALLOCATE operation.
 4058     
 4059     FALLOCATE is sent on all participant shards. In the cbk, all of them are
 4060     added to fync_list.
 4061     Resulting fsync list -
 4062                                    1 -----> 2 -----> 3 (order doesn't matter)
 4063     refs on base inode -          (1)  +   (1)  +   (1) = 3
 4064     Total refs = 3 + 2 = 5
 4065     
 4066     Now an attempt is made to unlink this file. Background deletion is triggered.
 4067     The first $shard-deletion-rate shards need to be unlinked in the first batch.
 4068     So shards 1 and 2 need to be resolved. inode_resolve fails on 1 but succeeds
 4069     on 2 and so it's moved to tail of list.
 4070     lru list now -
 4071                                   3 -----> 2
 4072     No change in refs.
 4073     
 4074     shard 1 is looked up. In lookup_cbk, it's linked and added back to lru list
 4075     at the cost of evicting shard 3.
 4076     lru list now -
 4077                                   2 -----> 1
 4078     refs on base inode:          (1)  +   (1) = 2
 4079     fsync list now -
 4080                                   1 -----> 2 (again order doesn't matter)
 4081     refs on base inode -         (1)  +   (1) = 2
 4082     Total refs = 2 + 2 = 4
 4083     After eviction, it is found 3 needs fsync. So fsync is wound, yet to be ack'd.
 4084     So it is still inode_link()d.
 4085     
 4086     Now deletion of shards 1 and 2 completes. lru list is empty. Base inode unref'd and
 4087     destroyed.
 4088     In the next batched deletion, 3 needs to be deleted. It is inode_resolve()able.
 4089     It is added back to lru list but base inode passed to __shard_update_shards_inode_list()
 4090     is NULL since the inode is destroyed. But its ctx->inode still contains base inode ptr
 4091     from first addition to lru list for no additional ref on it.
 4092     lru list now -
 4093                                   3
 4094     refs on base inode -         (0)
 4095     Total refs on base inode = 0
 4096     Unlink is sent on 3. It completes. Now since the ctx contains ptr to base_inode and the
 4097     shard is part of lru list, base shard is unref'd leading to a crash.
 4098     
 4099     FIX:
 4100     When shard is readded back to lru list, copy the base inode pointer as is into its inode ctx,
 4101     even if it is NULL. This is needed to prevent double unrefs at the time of deleting it.
 4102     
 4103     Change-Id: I99a44039da2e10a1aad183e84f644d63ca552462
 4104     Updates: bz#1696136
 4105     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 4106 
 4107 commit 4cfc5788af2488d173ac033850370c4f9ed7a05e
 4108 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4109 Date:   Sun Jun 2 01:36:33 2019 +0530
 4110 
 4111     ec/fini: Fix race between xlator cleanup and on going async fop
 4112     
 4113     Problem:
 4114     While we process a cleanup, there is a chance for a race between
 4115     async operations, for example ec_launch_replace_heal. So this can
 4116     lead to invalid mem access.
 4117     
 4118     Solution:
 4119     Just like we track on going heal fops, we can also track fops like
 4120     ec_launch_replace_heal, so that we can decide when to send a
 4121     PARENT_DOWN request.
 4122     
 4123     Change-Id: I055391c5c6c34d58aef7336847f3b570cb831298
 4124     fixes: bz#1703948
 4125     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4126 
 4127 commit 9e0de2b634b888dd069e908b7745197d20fe7036
 4128 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4129 Date:   Tue Jun 4 11:13:50 2019 +0530
 4130 
 4131     xlator/log: Add more logging in xlator_is_cleanup_starting
 4132     
 4133     This patch will add two extra logs for invalid argument
 4134     
 4135     Change-Id: I3950b4f4b9d88b1f1e788ef93d8f09d4bd8d4d8b
 4136     updates: bz#1703948
 4137     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4138 
 4139 commit 2eaf8e846afd71c30f2a6ff6f863a39b1145b8b6
 4140 Author: kshithijiyer <kshithij.ki@gmail.com>
 4141 Date:   Wed Jun 5 19:40:29 2019 +0530
 4142 
 4143     Fixing formatting errors in markdown files
 4144     
 4145     There are a lot of fromatting error is markdown
 4146     files peresent under /doc directiory of the project.
 4147     Fixing formatting errors and sending a patch.
 4148     
 4149     Fixes: bz#1718273
 4150     Change-Id: I08f938088bbaaafddf634f73616ea0dbfe7aedf3
 4151     Signed-off-by: kshithijiyer <kshithij.ki@gmail.com>
 4152 
 4153 commit 2ff76fa45c53b8e291cf70c98b28800f3ed5f6fc
 4154 Author: Raghavendra Bhat <raghavendra@redhat.com>
 4155 Date:   Tue May 14 10:56:15 2019 -0400
 4156 
 4157     uss: Ensure that snapshot is deleted before creating a new snapshot
 4158     
 4159     * Also some logging enhancements in snapview-server
 4160     
 4161     Change-Id: I6a7646771cedf4bd1c62806eea69d720bbaf0c83
 4162     fixes: bz#1715921
 4163     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 4164 
 4165 commit fa32b594d12673698da0c1dab8491db8655b4d50
 4166 Author: Ashish Pandey <aspandey@redhat.com>
 4167 Date:   Tue Jun 4 11:17:21 2019 +0530
 4168 
 4169     cluster/replicate: Modify command in unit file to assign port correctly
 4170     
 4171     Problem:
 4172     In unit file of TA process we have been using ta-vol as
 4173     volume id and also ta-vol-server.transport.socket.listen-port=24007
 4174     
 4175     In volume file for TA process we only consider volname
 4176     as "ta" and not as "ta-vol". That's why it was not able to assign
 4177     this port number to ta process as in volume file it will try to
 4178     find server xlator as ta-vol
 4179     
 4180     volume ta-server  <<<<<<<<< not ta-vol-server
 4181      46     type protocol/server
 4182      47     option transport.listen-backlog 10
 4183      48     option transport.socket.keepalive-count 9
 4184      49     option transport.socket.keepalive-interval 2
 4185      50     option transport.socket.keepalive-time 20
 4186      51     option transport.tcp-user-timeout 0
 4187      52     option transport.socket.keepalive 1
 4188      53     option auth.addr./mnt/thin-arbiter.allow *
 4189      54     option auth-path /mnt/thin-arbiter
 4190      55     option transport.address-family inet
 4191      56     option transport-type tcp
 4192      57     subvolumes ta-io-stats
 4193      58 end-volume
 4194     
 4195     Solution:
 4196     Provide "ta" as vol id for the  command which Unit file
 4197     is going to execute.
 4198     
 4199     Also, made changes in setup-thin-arbiter.sh to correctly
 4200     identify the directory of Unit file irrespective of the location from
 4201     where we are executing this script.
 4202     
 4203     Change-Id: Ia7bbccdc0304e7dfaaa732bebb726fba731d1d33
 4204     fixes: bz#1716766
 4205     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
 4206 
 4207 commit ecafe78378209ea28201624fca262bfdbd425365
 4208 Author: Ravishankar N <ravishankar@redhat.com>
 4209 Date:   Thu Jun 6 13:19:29 2019 +0530
 4210 
 4211     glusterd: store fips-mode-rchecksum option in the info file
 4212     
 4213     commit 146e4b45d0ce906ae50fd6941a1efafd133897ea enabled
 4214     storage.fips-mode-rchecksum option for all new volumes with op-version
 4215     >=GD_OP_VERSION_7_0 but `gluster vol get $volname
 4216     storage.fips-mode-rchecksum` was displaying it as 'off'. This patch fixes it.
 4217     
 4218     fixes: bz#1717782
 4219     Change-Id: Ie09f89838893c5776a3f60569dfe8d409d1494dd
 4220     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 4221 
 4222 commit fdc596731ea49af87a1dfdc4f255459e5fda60aa
 4223 Author: Anoop C S <anoopcs@redhat.com>
 4224 Date:   Thu Jun 6 15:46:15 2019 +0530
 4225 
 4226     glusterd: Fix typos
 4227     
 4228     Change-Id: I8cf0a153f84ef2d162e6dd03261441d211c07d40
 4229     updates: bz#1193929
 4230     Signed-off-by: Anoop C S <anoopcs@redhat.com>
 4231 
 4232 commit 89a34b574ee86b77fbae5295c766471086b9ea8f
 4233 Author: Kotresh HR <khiremat@redhat.com>
 4234 Date:   Thu Jun 6 12:54:04 2019 +0530
 4235 
 4236     tests/utils: Fix py2/py3 util python scripts
 4237     
 4238     Following files are fixed.
 4239     
 4240     tests/bugs/distribute/overlap.py
 4241     tests/utils/changelogparser.py
 4242     tests/utils/create-files.py
 4243     tests/utils/gfid-access.py
 4244     tests/utils/libcxattr.py
 4245     
 4246     Change-Id: I3db857cc19e19163d368d913eaec1269fbc37140
 4247     updates: bz#1193929
 4248     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4249 
 4250 commit a981e7cc12bb89304e8736d857f23f3a394512d0
 4251 Author: Amar Tumballi <amarts@redhat.com>
 4252 Date:   Fri Jun 7 13:55:12 2019 +0530
 4253 
 4254     tests/quick-read-upcall: mark it bad
 4255     
 4256     Frequent intermittent failures observed.
 4257     ```
 4258     08:59:24 ok  11 [     10/      3] <  36> 'write_to /mnt/glusterfs/0/test.txt test-message1'
 4259     08:59:24 ok  12 [     10/      6] <  37> 'test-message1 cat /mnt/glusterfs/0/test.txt'
 4260     08:59:24 ok  13 [     10/      4] <  38> 'test-message0 cat /mnt/glusterfs/1/test.txt'
 4261     08:59:24 not ok  14 [   3715/      6] <  45> 'test-message1 cat /mnt/glusterfs/1/test.txt' -> 'Got "test-message0" instead of "test-message1"'
 4262     08:59:24 ok  15 [     10/    162] <  47> 'gluster --mode=script --wignore volume set patchy features.cache-invalidation on'
 4263     08:59:24 ok  16 [     10/    148] <  48> 'gluster --mode=script --wignore volume set patchy performance.qr-cache-timeout 15'
 4264     ```
 4265     
 4266     updates: bz#1718191
 4267     Change-Id: Ieb9e5a9a428995ff178f77bc4a5155b8298d3fa0
 4268     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4269 
 4270 commit edc2910a8ab3a7d9cfbb19e3f20179c0799c0c1b
 4271 Author: Amar Tumballi <amarts@redhat.com>
 4272 Date:   Fri Jun 7 13:58:48 2019 +0530
 4273 
 4274     tests/volume-scale-shd-mux: mark as bad test
 4275     
 4276     The test is giving frequent failures in regression.
 4277     
 4278     Error seen is normally like below:
 4279     
 4280     `09:09:24 not ok  58 [     14/  80343] < 104> '^3$ number_healer_threads_shd patchy_distribute1 __afr_shd_healer_wait' -> 'Got "1" instead of "^3$"'`
 4281     
 4282     updates: bz#1708929
 4283     Change-Id: I240bdcfb76b1f953d75937a53c5dfabba134f282
 4284     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4285 
 4286 commit 373f045497b3e696ab6492b9c8ea105ffe947b91
 4287 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4288 Date:   Thu May 9 14:07:48 2019 +0530
 4289 
 4290     tests/shd: Add test coverage for shd mux
 4291     
 4292     This patch add more test cases for shd mux test cases
 4293     The test case includes
 4294     1) Createing multiple volumes to check the attach and detach
 4295        of self heal daemon requests.
 4296     2) Make sure the healing happens in all sceanarios
 4297     3) After a volume detach make sure the threads of the detached
 4298        volume is all cleaned.
 4299     4) Repeat all the above tests for ec volume
 4300     5) Node Reboot case
 4301     6) glusterd restart cases
 4302     7) Add-brick/remove brick
 4303     8) Convert a distributed volume to disperse volume
 4304     9) Convert a replicated volume to distributed volume
 4305     
 4306     Change-Id: I7c317ef9d23a45ffd831157e4890d7c83a8fce7b
 4307     fixes: bz#1708929
 4308     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4309 
 4310 commit 76673e983b7eb849011b3fb4417cf1d5f7147352
 4311 Author: Kotresh HR <khiremat@redhat.com>
 4312 Date:   Tue Jun 4 15:10:39 2019 +0530
 4313 
 4314     tests/geo-rep: Add geo-rep cli testcases
 4315     
 4316     Change-Id: Icf93b90bcac022a355d4718220698987dbc91ecf
 4317     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4318     updates: bz#1693692
 4319 
 4320 commit 3949d241e8504b1c5226d0e6f6e06a2a12d8357c
 4321 Author: N Balachandran <nbalacha@redhat.com>
 4322 Date:   Tue Jun 4 14:51:44 2019 +0530
 4323 
 4324     cluster/dht: Fix directory perms during selfheal
 4325     
 4326     Fixed a bug in the revalidate code path that wiped out
 4327     directory permissions if no mds subvol was found.
 4328     
 4329     Change-Id: I8b4239ffee7001493c59d4032a2d3062586ea115
 4330     fixes: bz#1716830
 4331     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 4332 
 4333 commit e7aeab3063ac5645136303278b477d7de35266c0
 4334 Author: Amar Tumballi <amarts@redhat.com>
 4335 Date:   Mon May 20 11:11:39 2019 +0530
 4336 
 4337     across: clang-scan: fix NULL dereferencing warnings
 4338     
 4339     All these checks are done after analyzing clang-scan report produced
 4340     by the CI job @ https://build.gluster.org/job/clang-scan
 4341     
 4342     updates: bz#1622665
 4343     Change-Id: I590305af4ceb779be952974b2a36066ffc4865ca
 4344     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4345 
 4346 commit abc4d4cfa01d922c46ebb1abfa5d801ba8c6b5c8
 4347 Author: Amar Tumballi <amarts@redhat.com>
 4348 Date:   Sat Jun 1 22:43:03 2019 +0530
 4349 
 4350     lcov: run more fops on translators
 4351     
 4352     Translators covered:
 4353     * playground/template
 4354     * debug/delay-gen
 4355     * debug/error-gen
 4356     * features/namespace
 4357     * features/quiesce
 4358     * meta
 4359     
 4360     updates: bz#1693692
 4361     Change-Id: Ic8fde8efcb309ea492d8e819241f786f7ff467a1
 4362     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4363 
 4364 commit 400b66d568ad18fefcb59949d1f8368d487b9a80
 4365 Author: Krutika Dhananjay <kdhananj@redhat.com>
 4366 Date:   Wed May 8 13:00:51 2019 +0530
 4367 
 4368     features/shard: Fix block-count accounting upon truncate to lower size
 4369     
 4370     The way delta_blocks is computed in shard is incorrect, when a file
 4371     is truncated to a lower size. The accounting only considers change
 4372     in size of the last of the truncated shards.
 4373     
 4374     FIX:
 4375     
 4376     Get the block-count of each shard just before an unlink at posix in
 4377     xdata.  Their summation plus the change in size of last shard
 4378     (from an actual truncate) is used to compute delta_blocks which is
 4379     used in the xattrop for size update.
 4380     
 4381     Change-Id: I9128a192e9bf8c3c3a959e96b7400879d03d7c53
 4382     fixes: bz#1705884
 4383     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 4384 
 4385 commit d8bb432eb776f3a8708ed6cacf1c19fca9524d51
 4386 Author: Kotresh HR <khiremat@redhat.com>
 4387 Date:   Mon Jun 3 13:25:16 2019 +0530
 4388 
 4389     tests/geo-rep: Add geo-rep glusterd test cases
 4390     
 4391     1. Add geo-rep fanout test case
 4392     2. Add glusterd geo-rep negative test cases
 4393     3. Add glusterd geo-rep config test cases
 4394     
 4395     Change-Id: I856c087eb3216d8f0ffd1f266deac88e9a4effec
 4396     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4397     updates: bz#1693692
 4398 
 4399 commit 0687befd3332111c7522766aa437ce5166771d0b
 4400 Author: Kotresh HR <khiremat@redhat.com>
 4401 Date:   Mon Jun 3 14:15:51 2019 +0530
 4402 
 4403     tests/geo-rep: Remove a rename test case on EC volume
 4404     
 4405     Rename with existing name testcase is occasionaly
 4406     failing on EC volume. Hence commenting the same
 4407     until it's analysed
 4408     
 4409     Change-Id: Icb2ad189b9e4d12101e8f5abcb8a033181360386
 4410     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4411     updates: bz#1193929
 4412 
 4413 commit 823c65940912d7b10bcdd495035dbb23b5c99478
 4414 Author: Mohit Agrawal <moagrawal@redhat.com>
 4415 Date:   Mon Jun 3 09:49:30 2019 +0530
 4416 
 4417     glusterd: coverity fix
 4418     
 4419     1401716: Resource leak
 4420     1401714: Dereference before null check
 4421     
 4422     updates: bz#789278
 4423     
 4424     Change-Id: I8fb0b143a1d4b37ee6be7d880d9b5b84ba00bf36
 4425     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 4426 
 4427 commit a36c82375723f51e49c0830d47520392d859c307
 4428 Author: hari gowtham <hgowtham@redhat.com>
 4429 Date:   Wed May 29 12:26:01 2019 +0530
 4430 
 4431     glusterd/tier: gluster upgrade broken because of tier
 4432     
 4433     Problem: While tier code was removed, the is_tier_enabled
 4434     related to tier wasn't handled for upgrade.
 4435     As this option was missing in the info file, the checksum
 4436     mismatch issue happens during upgrade.
 4437     This results in the peer rejections happening.
 4438     
 4439     Fix: use the op_version check and note down the is_tier_enabled
 4440     always. This way it will be dummy key, but the future upgrades
 4441     will work fine.
 4442     
 4443     NOTE: Just having the key from 3.10 to 7 will cause issues when
 4444     upgraded from 5 to 8 or any such upgrade which skips the version
 4445     where we handle it.
 4446     
 4447     Change-Id: I9951e2b74f16e58e884e746c34dcf53e559c7143
 4448     fixes: bz#1714973
 4449     Signed-off-by: hari gowtham <hgowtham@redhat.com>
 4450 
 4451 commit 0f29cabac22c48a0895e2b136f3fd48d9577052b
 4452 Author: Amar Tumballi <amarts@redhat.com>
 4453 Date:   Thu May 30 15:25:01 2019 +0530
 4454 
 4455     lcov: improve line coverage
 4456     
 4457     upcall: remove extra variable assignment and use just one
 4458             initialization.
 4459     open-behind: reduce the overall number of lines, in functions
 4460                  not frequently called
 4461     selinux: reduce some lines in init failure cases
 4462     
 4463     updates: bz#1693692
 4464     Change-Id: I7c1de94f2ec76a5bfe1f48a9632879b18e5fbb95
 4465     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4466 
 4467 commit 899b2170945c6023b0037fed70b19aa3cc680a22
 4468 Author: Amar Tumballi <amarts@redhat.com>
 4469 Date:   Fri May 17 11:04:45 2019 +0530
 4470 
 4471     across: coverity fixes
 4472     
 4473     * locks/posix.c: key was not freed in one of the cases.
 4474     * locks/common.c: lock was being free'd out of context.
 4475     * nfs/exports: handle case of missing free.
 4476     * protocol/client: handle case of entry not freed.
 4477     * storage/posix: handle possible case of double free
 4478     
 4479     CID: 1398628, 1400731, 1400732, 1400756, 1124796, 1325526
 4480     
 4481     updates: bz#789278
 4482     Change-Id: Ieeaca890288bc4686355f6565f853dc8911344e8
 4483     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4484     Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 4485 
 4486 commit 950726dfc8e3171bef625b563c0c6dbba1ec2928
 4487 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
 4488 Date:   Mon Nov 19 22:15:25 2018 +0530
 4489 
 4490     posix: add storage.reserve-size option
 4491     
 4492     storage.reserve-size option will take size as input
 4493     instead of percentage. If set, priority will be given to
 4494     storage.reserve-size over storage.reserve. Default value
 4495     of this option is 0.
 4496     
 4497     fixes: bz#1651445
 4498     Change-Id: I7a7342c68e436e8bf65bd39c567512ee04abbcea
 4499     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
 4500 
 4501 commit 6fd8281ac9af58609979f660ece58c2ed1100e72
 4502 Author: Sanju Rakonde <srakonde@redhat.com>
 4503 Date:   Sat Jun 1 18:36:55 2019 +0530
 4504 
 4505     glusterd: remove trivial conditions
 4506     
 4507     updates: bz#1193929
 4508     
 4509     Change-Id: Ieb5e35d454498bc389972f9f15fe46b640f1b97d
 4510     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 4511 
 4512 commit f8f09178bb890924a8050b466cc2e7a0a30e35a7
 4513 Author: Mohit Agrawal <moagrawal@redhat.com>
 4514 Date:   Fri May 17 19:26:48 2019 +0530
 4515 
 4516     glusterd: Optimize code to copy dictionary in handshake code path
 4517     
 4518     Problem: While high no. of volumes are configured around 2000
 4519              glusterd has bottleneck during handshake at the time
 4520              of copying dictionary
 4521     
 4522     Solution: To avoid the bottleneck serialize a dictionary instead
 4523               of copying key-value pair one by one
 4524     
 4525     Change-Id: I9fb332f432e4f915bc3af8dcab38bed26bda2b9a
 4526     fixes: bz#1711297
 4527     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 4528 
 4529 commit fc49927b5fe06380cab309787d2bd62601fa75c4
 4530 Author: Kotresh HR <khiremat@redhat.com>
 4531 Date:   Fri May 31 16:52:04 2019 +0530
 4532 
 4533     tests/geo-rep: Add tests to cover glusterd geo-rep
 4534     
 4535     Change-Id: Ide59a3fde11b23f654b1ec03d72b4ec53b36a03b
 4536     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4537     updates: bz#1693692
 4538 
 4539 commit c848f7163c5ba6b8a081c0f07a4776f7ff8dfca0
 4540 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4541 Date:   Tue May 14 23:12:44 2019 +0530
 4542 
 4543     glusterd/shd: Optimize the glustershd manager to send reconfigure
 4544     
 4545     Traditionally all svc manager will execute process stop and then
 4546     followed by start each time when they called. But that is not
 4547     required by shd, because the attach request implemented in the shd
 4548     multiplex has the intelligence to check whether a detach is required
 4549     prior to attaching the graph. So there is no need to send an explicit
 4550     detach request if we are sure that the next call is an attach request
 4551     
 4552     Change-Id: I9157c8dcaffdac038f73286bcf5646a3f1d3d8ec
 4553     fixes: bz#1710054
 4554     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4555 
 4556 commit e510f55bed6c26c6b995e7d9f3c35e1e4e482769
 4557 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4558 Date:   Sat May 11 22:40:22 2019 +0530
 4559 
 4560     glusterfsd/cleanup: Protect graph object under a lock
 4561     
 4562     While processing a cleanup_and_exit function, we are
 4563     accessing a graph object. But this has not been protected
 4564     under a lock. Because a parallel cleanup of a graph is quite
 4565     possible which might lead to an invalid memory access
 4566     
 4567     Change-Id: Id05ca70d5b57e172b0401d07b6a1f5386c044e79
 4568     fixes: bz#1708926
 4569     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4570 
 4571 commit f8b0ba06c4cea428f6eb7730f4430b3564c83da0
 4572 Author: Shwetha K Acharya <sacharya@redhat.com>
 4573 Date:   Fri May 17 12:24:50 2019 +0530
 4574 
 4575     tests/geo-rep: Add EC volume test case
 4576     
 4577     Added geo-rep regression tests with EC volume.
 4578     
 4579     fixes: bz#1650095
 4580     Change-Id: Ifb6e68e0a6103a98fced7f84d3088b8edf33d52f
 4581     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 4582 
 4583 commit 4b8244df9d0851ae82cfef5cce359233af7812c8
 4584 Author: Amar Tumballi <amarts@redhat.com>
 4585 Date:   Fri May 31 08:53:58 2019 +0530
 4586 
 4587     lcov: more coverage to shard, old-protocol, sdfs
 4588     
 4589     updates: bz#1693692
 4590     Change-Id: If4c30572d4501d169bb4b0871c677d974515867c
 4591     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4592 
 4593 commit 5866f5e9b09bc10dfb1631b5636c5b7870fc61ff
 4594 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4595 Date:   Thu May 30 23:48:05 2019 +0530
 4596 
 4597     glusterd/svc: Stop stale process using the glusterd_proc_stop
 4598     
 4599     While restarting a glusterd process, when we have a stale pid
 4600     we were doing a simple kill. Instead we can use glusterd_proc_stop
 4601     Because it has more logging plus force kill in case if there is
 4602     any problem with kill signal handling.
 4603     
 4604     Change-Id: I4a2dadc210a7a65762dd714e809899510622b7ec
 4605     updates: bz#1710054
 4606     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4607 
 4608 commit e9ec61c9fc264c813bb9ed06891e2294870a50bc
 4609 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 4610 Date:   Wed May 22 13:32:23 2019 +0530
 4611 
 4612     glusterd/svc: glusterd_svcs_stop should call individual wrapper function
 4613     
 4614     glusterd_svcs_stop should call individual wrapper function to stop a
 4615     daemon rather than calling glusterd_svc_stop. For example for shd,
 4616     it should call glusterd_shdsvc_stop instead of calling basic API
 4617     function to stop. Because the individual functions for each daemon
 4618     could be doing some specific operation in their wrapper function.
 4619     
 4620     Change-Id: Ie6d40590251ad470ef3901d1141ab7b22c3498f5
 4621     fixes: bz#1712741
 4622     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 4623 
 4624 commit 4f1b762fb482f2ebddaacfd31a7d43a967fea9e3
 4625 Author: Sanju Rakonde <srakonde@redhat.com>
 4626 Date:   Wed May 15 07:35:45 2019 +0530
 4627 
 4628     glusterd: add an op-version check
 4629     
 4630     Problem: "gluster v status" is hung in heterogenous cluster
 4631     when issued from a non-upgraded node.
 4632     
 4633     Cause: commit 34e010d64 fixes the txn-opinfo mem leak
 4634     in op-sm framework by not setting the txn-opinfo if some
 4635     conditions are true. When vol status is issued from a
 4636     non-upgraded node, command is hanging in its upgraded peer
 4637     as the upgraded node setting the txn-opinfo based on new
 4638     conditions where as non-upgraded nodes are following diff
 4639     conditions.
 4640     
 4641     Fix: Add an op-version check, so that all the nodes follow
 4642     same set of conditions to set txn-opinfo.
 4643     
 4644     fixes: bz#1710159
 4645     Change-Id: Ie1f353212c5931ddd1b728d2e6949dfe6225c4ab
 4646     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 4647 
 4648 commit 2855c6247f7c5a2fafe1c403a112c38eca80d020
 4649 Author: Pranith Kumar K <pkarampu@redhat.com>
 4650 Date:   Mon May 27 19:00:20 2019 +0530
 4651 
 4652     scripts: Find hung frames given a directory with statedumps
 4653     
 4654     Given a directory with statedumps captured at different times if
 4655     there are any stacks that appear in multiple statedumps, it prints
 4656     them.
 4657     
 4658     Sample output:
 4659     glusterdump.25425.dump  repeats=5  stack=0x7f53642cb968  pid=0      unique=0  lk-owner=
 4660     glusterdump.25427.dump  repeats=5  stack=0x7f85002cb968  pid=0      unique=0  lk-owner=
 4661     glusterdump.25428.dump  repeats=5  stack=0x7f962c2cb968  pid=0      unique=0  lk-owner=
 4662     glusterdump.25428.dump  repeats=2  stack=0x7f962c329f18  pid=60830  unique=0  lk-owner=88f50620967f0000
 4663     glusterdump.25429.dump  repeats=5  stack=0x7f20782cb968  pid=0      unique=0  lk-owner=
 4664     glusterdump.25472.dump  repeats=5  stack=0x7f27ac2cb968  pid=0      unique=0  lk-owner=
 4665     glusterdump.25473.dump  repeats=5  stack=0x7f4fbc2cb9d8  pid=0      unique=0  lk-owner=
 4666     NOTE: stacks with lk-owner=""/lk-owner=0000000000000000/unique=0 may not be hung frames and need further inspection
 4667     
 4668     fixes bz#1714415
 4669     Change-Id: Ib64a3fca63f49df2fafedcd4baa57e9b25411b08
 4670     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 4671 
 4672 commit 14d9c6179715205fb6ac816d4621dd087f5afbb2
 4673 Author: Pranith Kumar K <pkarampu@redhat.com>
 4674 Date:   Mon May 27 11:43:26 2019 +0530
 4675 
 4676     stack: Make sure to have unique call-stacks in all cases
 4677     
 4678     At the moment new stack doesn't populate frame->root->unique in all cases. This
 4679     makes it difficult to debug hung frames by examining successive state dumps.
 4680     Fuse and server xlators populate it whenever they can, but other xlators won't
 4681     be able to assign 'unique' when they need to create a new frame/stack because
 4682     they don't know what 'unique' fuse/server xlators already used. What we need is
 4683     for unique to be correct. If a stack with same unique is present in successive
 4684     statedumps, that means the same operation is still in progress. This makes
 4685     'finding hung frames' part of debugging hung frames easier.
 4686     
 4687     fixes bz#1714098
 4688     Change-Id: I3e9a8f6b4111e260106c48a2ac3a41ef29361b9e
 4689     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 4690 
 4691 commit d2576452028db3b817fc5b1f4f924a98bc22c7dc
 4692 Author: Sanju Rakonde <srakonde@redhat.com>
 4693 Date:   Tue May 28 11:52:46 2019 +0530
 4694 
 4695     glusterd: coverity fix
 4696     
 4697     1401590: Deadcode
 4698     
 4699     updates: bz#789278
 4700     
 4701     Change-Id: I3aa1d3aa9769e6990f74b6a53e288e788173c5e0
 4702     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 4703 
 4704 commit 002f4736cd470c20f427d8c25916abb4b95c9240
 4705 Author: Amar Tumballi <amarts@redhat.com>
 4706 Date:   Wed May 29 17:54:45 2019 +0530
 4707 
 4708     marker: remove some unused functions
 4709     
 4710     After basic analysis, found that these methods were not being
 4711     used at all.
 4712     
 4713     updates: bz#1693692
 4714     Change-Id: If9cfa1ab189e6e7b56230c4e1d8e11f9694a9a65
 4715     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4716 
 4717 commit 71caf1423fe5f0eed652210f8158c95fc8a10219
 4718 Author: Amar Tumballi <amarts@redhat.com>
 4719 Date:   Fri Apr 12 08:16:56 2019 +0530
 4720 
 4721     tests: add tests for different signal handling
 4722     
 4723     Also some cleanup:
 4724     * old-protocol.t was actually added to make sure we have line-coverage
 4725     * first-test.t should have been removed as per the comment. It doesn't do anything.
 4726     * add statvfs to rpc-coverage so we can cover statvfs in few xlators.
 4727     
 4728     updates: bz#1693692
 4729     Change-Id: Ie8651ce007de484c4abced16b4de765aa5e517be
 4730     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4731 
 4732 commit bfe58919c03ea746aa6c7800fe698b15ca8c6ecb
 4733 Author: Amgad Saleh <amgad.saleh@nokia.com>
 4734 Date:   Thu May 23 20:27:03 2019 -0500
 4735 
 4736     If bind-address is IPv6 return it successfully
 4737     
 4738     Change-Id: Ibd37b6ea82b781a1a266b95f7596874134f30079
 4739     fixes: bz#1713730
 4740     Signed-off-by: Amgad Saleh <amgad.saleh@nokia.com>
 4741 
 4742 commit 4a5fb52eb1c5387a0fb8bfa1253e5227c7c255e8
 4743 Author: Mohit Agrawal <moagrawal@redhat.com>
 4744 Date:   Fri May 17 18:10:47 2019 +0530
 4745 
 4746     glusterd: bulkvoldict thread is not handling all volumes
 4747     
 4748     Problem: In commit ac70f66c5805e10b3a1072bd467918730c0aeeb4 I
 4749              missed one condition to populate volume dictionary in
 4750              multiple threads while brick_multiplex is enabled.Due
 4751              to that glusterd is not sending volume dictionary for
 4752              all volumes to peer.
 4753     
 4754     Solution: Update the condition in code as well as update test case
 4755               also to avoid the issue
 4756     
 4757     Change-Id: I06522dbdfee4f7e995d9cc7b7098fdf35340dc52
 4758     fixes: bz#1711250
 4759     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 4760 
 4761 commit a9d76758454bf7d9a8a3f70fc47b732bb9f97d9e
 4762 Author: Kotresh HR <khiremat@redhat.com>
 4763 Date:   Wed May 22 12:23:07 2019 +0530
 4764 
 4765     tests: Add changelog api tests
 4766     
 4767     updates: bz#1193929
 4768     Change-Id: Iee9aab8140882069165621189741f189fb2cc884
 4769     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4770 
 4771 commit e1cc4275583dfd8ae8d0433587f39854c1851794
 4772 Author: Hari Gowtham <hgowtham@redhat.com>
 4773 Date:   Thu May 2 18:33:34 2019 +0530
 4774 
 4775     glusterd/tier: remove tier related code from glusterd
 4776     
 4777     The handler functions are pointed to dummy functions.
 4778     The switch case handling for tier also have been moved to
 4779     point default case to avoid issues, if reintroduced.
 4780     
 4781     The tier changes in DHT still remain as such.
 4782     
 4783     updates: bz#1693692
 4784     
 4785     Change-Id: I80d80c9a3eb862b4440a36b31ae82b2e9d92e4dc
 4786     Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
 4787 
 4788 commit cce775726af28c602d99f73a65439a2564790381
 4789 Author: Kotresh HR <khiremat@redhat.com>
 4790 Date:   Tue May 21 15:28:10 2019 +0530
 4791 
 4792     tests: Add history api tests
 4793     
 4794     updates: bz#1193929
 4795     Change-Id: Ic26ab5277f720c734f083150c1c541763dfa64aa
 4796     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 4797 
 4798 commit a5a9ea6fa440ebbaeb40cf17d33d39fc3fd6b312
 4799 Author: Sheetal Pamecha <spamecha@redhat.com>
 4800 Date:   Tue May 7 09:55:08 2019 +0530
 4801 
 4802     gfapi:add missng api to increase code coverage
 4803     
 4804     add test for async Read/Write combinations
 4805     glfs_read_async/write_async
 4806     glfs_pread_async/pwrite_async
 4807     glfs_readv_async/writev_async
 4808     glfs_preadv_async/pwritev_async
 4809     ftruncate/ftruncate_async
 4810     fsync/fsync_async
 4811     fdatasync/fdatasync_async
 4812     
 4813     Updates: #655
 4814     Change-Id: I12beb97029fd60bce79650a376d8fcd8d383ef16
 4815     Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 4816 
 4817 commit 1587a6730ee638d1737b44adbd779d8d2978707d
 4818 Author: Sheetal Pamecha <spamecha@redhat.com>
 4819 Date:   Mon Apr 15 14:59:37 2019 +0530
 4820 
 4821     api/glfsxmp.c: minor fixes
 4822     
 4823     * add more fops: f{get,set,list,remove}xattr(), access(), fstat(), fsetattr(),
 4824     getxattr(), lgetxattr(), llistxattr(), lsetxattr(), fgetxattr()
 4825     * handle some error cases (like volume not found)
 4826     
 4827     Updates: #655
 4828     Change-Id: I3334bdf3090eafd83a54e1be12036ea01b181089
 4829     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 4830     Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 4831 
 4832 commit 5d88111a142b3c37e92bdd36699a04fd054d27f4
 4833 Author: Xavi Hernandez <xhernandez@redhat.com>
 4834 Date:   Wed May 22 17:46:19 2019 +0200
 4835 
 4836     Fix some "Null pointer dereference" coverity issues
 4837     
 4838     This patch fixes the following CID's:
 4839     
 4840       * 1124829
 4841       * 1274075
 4842       * 1274083
 4843       * 1274128
 4844       * 1274135
 4845       * 1274141
 4846       * 1274143
 4847       * 1274197
 4848       * 1274205
 4849       * 1274210
 4850       * 1274211
 4851       * 1288801
 4852       * 1398629
 4853     
 4854     Change-Id: Ia7c86cfab3245b20777ffa296e1a59748040f558
 4855     Updates: bz#789278
 4856     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 4857 
 4858 commit 4c85456e38b9cc2d9698decca15a21e0cb7961a9
 4859 Author: Xavi Hernandez <xhernandez@redhat.com>
 4860 Date:   Thu May 9 11:07:18 2019 +0200
 4861 
 4862     cluster/ec: honor contention notifications for partially acquired locks
 4863     
 4864     EC was ignoring lock contention notifications received while a lock was
 4865     being acquired. When a lock is partially acquired (some bricks have
 4866     granted the lock but some others not yet) we can receive notifications
 4867     from acquired bricks, which should be honored, since we may not receive
 4868     more notifications after that.
 4869     
 4870     Since EC was ignoring them, once the lock was acquired, it was not
 4871     released until the eager-lock timeout, causing unnecessary delays on
 4872     other clients.
 4873     
 4874     This fix takes into consideration the notifications received before
 4875     having completed the full lock acquisition. After that, the lock will
 4876     be releaed as soon as possible.
 4877     
 4878     Fixes: bz#1708156
 4879     Change-Id: I2a306dbdb29fb557dcab7788a258bd75d826cc12
 4880     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 4881 
 4882 commit f6c0b59725615da10435c40fec0f26dae542de74
 4883 Author: Pranith Kumar K <pkarampu@redhat.com>
 4884 Date:   Tue May 21 10:58:44 2019 +0530
 4885 
 4886     tests: Fix spurious failures in ta-write-on-bad-brick.t
 4887     
 4888     Problem:
 4889     afr_child_up_status_meta works only when LOOKUP on $M0 is successful.
 4890     There are cases where quorum is not met and LOOKUP fails on $M0 which
 4891     leads to failures similar to:
 4892     grep: /mnt/glusterfs/0/.meta/graphs/active/patchy-replicate-0/private: Transport endpoint is not connected
 4893     This was happening once in a while based on attribute-timeout and
 4894     md-cache not serving the lookup.
 4895     
 4896     Fix:
 4897     Find child-up status based on statedump instead. Also changed mount
 4898     options to include --entry-timeout=0 and --attribute-timeout=0
 4899     
 4900     updates bz#1193929
 4901     Change-Id: Ic0de72c3006d7399a5feb3e4d10d4748949b2ab3
 4902     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 4903 
 4904 commit 0b83b8af60916dcdb850f15da7e7b406809dd1d5
 4905 Author: Pranith Kumar K <pkarampu@redhat.com>
 4906 Date:   Mon May 6 15:27:44 2019 +0530
 4907 
 4908     tests: Test openfd heal doesn't truncate files
 4909     
 4910     fixes bz#1706603
 4911     Change-Id: I0bfd30f787f157b7a54f71088f767ccfd7621208
 4912     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 4913 
 4914 commit 2a31a7130dd866eed5848caaf9588e6461aca836
 4915 Author: Sanju Rakonde <srakonde@redhat.com>
 4916 Date:   Fri May 17 14:27:58 2019 +0530
 4917 
 4918     glusterd: coverity fix
 4919     
 4920     CID: 1401345 - Unused value
 4921     
 4922     updates: bz#789278
 4923     
 4924     Change-Id: I6b8f2611151ce0174042384b7632019c312ebae3
 4925     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 4926 
 4927 commit 38f23ad8333faa2dd0d8ab23104aad4824fbe4a3
 4928 Author: Shwetha K Acharya <sacharya@redhat.com>
 4929 Date:   Thu May 9 10:43:01 2019 +0530
 4930 
 4931     geo-rep: Geo-rep help text issue
 4932     
 4933     Modified Geo-rep help text for better sanity.
 4934     
 4935     fixes: bz#1652887
 4936     
 4937     Change-Id: I40ef7ef709eaecf0125ab4b4a7517e2c5d1ef4a0
 4938     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 4939 
 4940 commit 3b5eb592f543e15e16996ba83182635a4e07ab74
 4941 Author: Yaniv Kaul <ykaul@redhat.com>
 4942 Date:   Tue May 7 13:33:30 2019 +0300
 4943 
 4944     glusterd-utils.c: skip checksum when possible.
 4945     
 4946     We only need to calculate and write the checksum in case of
 4947     !is_quota_conf .
 4948     
 4949     Align the code in accordance.
 4950     Also, use a smaller buffer (to write few chars).
 4951     
 4952     Change-Id: I40c83ce10447df77ff9975d314d768ec2c0087c2
 4953     updates: bz#1193929
 4954     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 4955 
 4956 commit e1d2ce02135819898f166de9d9903404eb812046
 4957 Author: N Balachandran <nbalacha@redhat.com>
 4958 Date:   Tue May 21 16:51:09 2019 +0530
 4959 
 4960     cli:  Fixed typos
 4961     
 4962     Change-Id: I14957c5161f31d5dfc6cf56f8d7ccf4d39372f39
 4963     fixes: bz#1711820
 4964     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 4965 
 4966 commit 93156e203c2f51d8a4047889a4c769564b8107b1
 4967 Author: Xie Changlong <xiechanglong@cmss.chinamobile.com>
 4968 Date:   Fri May 17 18:33:11 2019 +0800
 4969 
 4970     inode: fix wrong loop count in __inode_ctx_free
 4971     
 4972     Avoid serious memory leak
 4973     
 4974     fixes: bz#1711240
 4975     Change-Id: Ic61a8fdd0e941e136c98376a87b5a77fa8c22316
 4976     Signed-off-by: Xie Changlong <xiechanglong@cmss.chinamobile.com>
 4977 
 4978 commit 3b36543be48e68d20b4df1a8a5ed1c264158af74
 4979 Author: N Balachandran <nbalacha@redhat.com>
 4980 Date:   Mon May 20 15:23:42 2019 +0530
 4981 
 4982     cluster/dht: Lookup all files when processing directory
 4983     
 4984     A rebalance process currently only looks up files
 4985     that it is supposed to migrate. This could cause issues
 4986     when lookup-optimize is enabled as the dir layout can be
 4987     updated with the commit hash before all files are looked up.
 4988     This is expecially problematic of one of the rebalance processes
 4989     fails to complete as clients will try to access files whose
 4990     linkto files might not have been created.
 4991     Each process will now lookup every file in the directory it is
 4992     processing.
 4993     Pros: Less likely that files will be inaccessible.
 4994     Cons: More lookup requests sent to the bricks and a potential
 4995     performance hit.
 4996     Note: this does not handle races such as when a layout is updated on disk
 4997     just as the create fop is sent by the client.
 4998     
 4999     Change-Id: I22b55846effc08d3b827c3af9335229335f67fb8
 5000     fixes: bz#1711764
 5001     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 5002 
 5003 commit 2bb1807879493cb77ec9b5088485d88f13b84828
 5004 Author: Susant Palai <spalai@redhat.com>
 5005 Date:   Tue May 21 16:17:09 2019 +0530
 5006 
 5007     lock: check null value of dict to avoid log flooding
 5008     
 5009     updates: bz#1712322
 5010     Change-Id: I120a1d23506f9ebcf88c7ea2f2eff4978a61cf4a
 5011     Signed-off-by: Susant Palai <spalai@redhat.com>
 5012 
 5013 commit 43ade7abac6c1d648ef337ace92194d36c8894a4
 5014 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 5015 Date:   Tue May 21 17:15:07 2019 +0530
 5016 
 5017     ec/fini: Fix race with ec_fini and ec_notify
 5018     
 5019     During a graph cleanup, we first sent a PARENT_DOWN and wait for
 5020     a child down to ultimately free the xlator and the graph.
 5021     
 5022     In the ec xlator, we cleanup the threads when we get a PARENT_DOWN event.
 5023     But a racing event like CHILD_UP or event xl_op may trigger healing threads
 5024     after threads cleanup.
 5025     
 5026     So there is a chance that the threads might access a freed private variabe
 5027     
 5028     Change-Id: I252d10181bb67b95900c903d479de707a8489532
 5029     fixes: bz#1703948
 5030     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 5031 
 5032 commit 72a83c71cc506e3a4d775b622717052c93f5242f
 5033 Author: Amar Tumballi <amarts@redhat.com>
 5034 Date:   Tue May 21 11:20:01 2019 +0530
 5035 
 5036     tests/quick-read-with-upcall.t: increase the timeout
 5037     
 5038     Running with 2 second sleep at this place caused failures like:
 5039     `not ok  14 [   2014/      7] <  41> 'test-message1 cat /mnt/glusterfs/1/test.txt' -> 'Got "test-message0" instead of "test-message1"'`
 5040     
 5041     in few runs in 100 iterations. But when increased to higher than sleep 3,
 5042     have not seen any failures in 100 runs.
 5043     
 5044     While I don't know the exact reasons for the behavior yet, looks like this
 5045     increase in wait helps to pass the regression without failures.
 5046     
 5047     updates: bz#1693692
 5048     Change-Id: I0610b79bea53e36de3eea6c11234b7fc9dfd6232
 5049     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 5050 
 5051 commit c8ba4c5f6f0bac4f9bdc7d6dec217deecbeb717a
 5052 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 5053 Date:   Fri May 17 23:03:35 2019 +0530
 5054 
 5055     afr/frame: Destroy frame after afr_selfheal_entry_granular
 5056     
 5057     In function "afr_selfheal_entry_granular", after completing the
 5058     heal we are not destroying the frame. This will lead to crash.
 5059     when we execute statedump operation, where it tried to access
 5060     xlator object. If this xlator object is freed as part of the
 5061     graph destroy this will lead to an invalid memory access
 5062     
 5063     Change-Id: I0a5e78e704ef257c3ac0087eab2c310e78fbe36d
 5064     fixes: bz#1708926
 5065     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 5066 
 5067 commit 2f50486f431b37f4a16541911f50f2042049b0e6
 5068 Author: Amar Tumballi <amarts@redhat.com>
 5069 Date:   Tue May 21 01:37:47 2019 +0000
 5070 
 5071     Revert "rpc: implement reconnect back-off strategy"
 5072     
 5073     This reverts commit 59841f7e1ff0511b04884015441a181a56d07bea.
 5074     
 5075     This revert is done as a 'possible' fix for frequent regression
 5076     failures, which are random in nature too (ie, different tests fails
 5077     in different runs).
 5078     
 5079     Why exactly this patch? Because this patch seemed like most probable
 5080     candidate which got merged in last 15days, and after which regressions
 5081     are failing more often.
 5082     
 5083     Updates: bz#1711827
 5084     Change-Id: I35333162fcd4064f9609525ca93c666053c6d959
 5085 
 5086 commit 836e5b6b76ee74a486b6d41c4a2d3de91e4ad2c1
 5087 Author: Sanju Rakonde <srakonde@redhat.com>
 5088 Date:   Thu May 16 18:37:48 2019 +0530
 5089 
 5090     tests: change usleep() to sleep()
 5091     
 5092     While running a test case the following warning messages are seen
 5093     on the display. To avoid suh warnings changing usleep() to sleep().
 5094     
 5095     warning: usleep is deprecated, and will be removed in near future!
 5096     warning: use "sleep 0.25" instead...
 5097     
 5098     updates: bz#1193929
 5099     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 5100     
 5101     Change-Id: I48b79ede1c70b101f654635dd4cc83e50ea55b73
 5102 
 5103 commit 7ead11711181104b23c004e0cd5e9e3c3c981a4f
 5104 Author: Krutika Dhananjay <kdhananj@redhat.com>
 5105 Date:   Fri Apr 5 10:30:23 2019 +0530
 5106 
 5107     features/shard: Fix crash during background shard deletion in a specific case
 5108     
 5109     Consider the following case -
 5110     1. A file gets FALLOCATE'd such that > "shard-lru-limit" number of
 5111        shards are created.
 5112     2. And then it is deleted after that.
 5113     
 5114     The unique thing about FALLOCATE is that unlike WRITE, all of the
 5115     participant shards are resolved and created and fallocated in a single
 5116     batch. This means, in this case, after the first "shard-lru-limit"
 5117     number of shards are resolved and added to lru list, as part of
 5118     resolution of the remaining shards, some of the existing shards in lru
 5119     list will need to be evicted. So these evicted shards will be
 5120     inode_unlink()d as part of eviction. Now once the fop gets to the actual
 5121     FALLOCATE stage, the lru'd-out shards get added to fsync list.
 5122     
 5123     2 things to note at this point:
 5124     i. the lru'd out shards are only part of fsync list, so each holds 1 ref
 5125        on base shard
 5126     ii. and the more recently used shards are part of both fsync and lru list.
 5127         So each of these shards holds 2 refs on base inode  - one for being
 5128         part of fsync list, and the other for being part of lru list.
 5129     
 5130     FALLOCATE completes successfully and then this very file is deleted, and
 5131     background shard deletion launched. Here's where the ref counts get mismatched.
 5132     First as part of inode_resolve()s during the deletion, the lru'd-out inodes
 5133     return NULL, because they are inode_unlink()'d by now. So these inodes need to
 5134     be freshly looked up. But as part of linking them in lookup_cbk (precisely in
 5135     shard_link_block_inode()), inode_link() returns the lru'd-out inode object.
 5136     And its inode ctx is still valid and ctx->base_inode valid from the last
 5137     time it was added to list.
 5138     
 5139     But shard_common_lookup_shards_cbk() passes NULL in the place of base_pointer
 5140     to __shard_update_shards_inode_list(). This means, as part of adding the lru'd out
 5141     inode back to lru list, base inode is not ref'd since its NULL.
 5142     
 5143     Whereas post unlinking this shard, during shard_unlink_block_inode(),
 5144     ctx->base_inode is accessible and is unref'd because the shard was found to be part
 5145     of LRU list, although the matching ref didn't occur. This at some point leads to
 5146     base_inode refcount becoming 0 and it getting destroyed and released back while some
 5147     of its associated shards are continuing to be unlinked in parallel and the client crashes
 5148     whenever it is accessed next.
 5149     
 5150     Fix is to pass base shard correctly, if available, in shard_link_block_inode().
 5151     
 5152     Also, the patch fixes the ret value check in tests/bugs/shard/shard-fallocate.c
 5153     
 5154     Change-Id: Ibd0bc4c6952367608e10701473cbad3947d7559f
 5155     Updates: bz#1696136
 5156     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 5157 
 5158 commit 40b7121afbd3969706acb8198cf660a710583e70
 5159 Author: Kotresh HR <khiremat@redhat.com>
 5160 Date:   Tue May 14 11:05:45 2019 +0530
 5161 
 5162     geo-rep: Convert gfid conflict resolutiong logs into debug
 5163     
 5164     The gfid conflict resolution code path is not supposed
 5165     to hit in generic code path. But few of the heavy rename
 5166     workload (BUG: 1694820) makes it a generic case. So
 5167     logging the entries to be fixed as INFO floods the log
 5168     in these particular workloads. Hence convert them to DEBUG.
 5169     
 5170     fixes: bz#1709653
 5171     Change-Id: I4d5e102b87be5fe5b54f78f329e588882d72b9d9
 5172     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 5173 
 5174 commit f0d3690e8916cfb5e10a0df2e9721a0fd079bfce
 5175 Author: Kotresh HR <khiremat@redhat.com>
 5176 Date:   Wed May 8 11:26:06 2019 +0530
 5177 
 5178     geo-rep: Fix sync hang with tarssh
 5179     
 5180     Problem:
 5181     Geo-rep sync hangs when tarssh is used as sync
 5182     engine at heavy workload.
 5183     
 5184     Analysis and Root cause:
 5185     It's found out that the tar process was hung.
 5186     When debugged further, it's found out that stderr
 5187     buffer of tar process on master was full i.e., 64k.
 5188     When the buffer was copied to a file from /proc/pid/fd/2,
 5189     the hang is resolved.
 5190     
 5191     This can happen when files picked by tar process
 5192     to sync doesn't exist on master anymore. If this count
 5193     increases around 1k, the stderr buffer is filled up.
 5194     
 5195     Fix:
 5196     The tar process is executed using Popen with stderr as PIPE.
 5197     The final execution is something like below.
 5198     
 5199     tar | ssh <args> root@slave tar --overwrite -xf - -C <path>
 5200     
 5201     It was waiting on ssh process first using communicate() and then tar.
 5202     Note that communicate() reads stdout and stderr. So when stderr of tar
 5203     process is filled up, there is no one to read until untar via ssh is
 5204     completed. This can't happen and leads to deadlock.
 5205     Hence we should be waiting on both process parallely, so that stderr is
 5206     read on both processes.
 5207     
 5208     Change-Id: I609c7cc5c07e210c504771115b4d551a2e891adf
 5209     fixes: bz#1707728
 5210     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 5211 
 5212 commit e2adc9dc66dc46519007790ecd7dd57642dff0fd
 5213 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 5214 Date:   Mon Apr 29 13:22:32 2019 +0530
 5215 
 5216     ec/shd: Cleanup self heal daemon resources during ec fini
 5217     
 5218     We were not properly cleaning self-heal daemon resources
 5219     during ec fini. With shd multiplexing, it is absolutely
 5220     necessary to cleanup all the resources during ec fini.
 5221     
 5222     Change-Id: Iae4f1bce7d8c2e1da51ac568700a51088f3cc7f2
 5223     fixes: bz#1703948
 5224     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 5225 
 5226 commit 59841f7e1ff0511b04884015441a181a56d07bea
 5227 Author: Xavier Hernandez <jahernan@redhat.com>
 5228 Date:   Fri Jan 19 12:18:13 2018 +0100
 5229 
 5230     rpc: implement reconnect back-off strategy
 5231     
 5232     When a connection failure happens, gluster tries to reconnect every 3
 5233     seconds. In some cases the failure is spurious, so a delay of 3 seconds
 5234     could be unnecessarily long.
 5235     
 5236     This patch implements a back-off strategy that tries a reconnect as soon
 5237     as 1 tenth of a second. If this fails, the time is doubled until it's
 5238     around 3 seconds. After that, the reconnect is attempted every 3 seconds
 5239     as before.
 5240     
 5241     Change-Id: Icb3fbe20d618f50cbbb599dce542b4e871c22149
 5242     Updates: bz#1193929
 5243     Signed-off-by: Xavier Hernandez <xhernandez@redhat.com>
 5244 
 5245 commit da4601d536da761ce908a2461a0930857f99f171
 5246 Author: Anoop C S <anoopcs@redhat.com>
 5247 Date:   Fri May 10 12:21:31 2019 +0530
 5248 
 5249     libglusterfs: Remove decompunder helper routines from symbol export
 5250     
 5251     decompounder and related sources were removed via the following commits:
 5252     
 5253     https://review.gluster.org/#/c/glusterfs/+/22627/
 5254     https://review.gluster.org/#/c/glusterfs/+/22629/
 5255     
 5256     Therefore taking out symbol exports for those removed routines.
 5257     
 5258     Change-Id: I2ef99a318de1e4b512cabd2fa923225c5b79b1e5
 5259     updates: bz#1193929
 5260     Signed-off-by: Anoop C S <anoopcs@redhat.com>
 5261 
 5262 commit 8e1d53f14730ac1b1ca0ce9d9a0ccb32578fd4fb
 5263 Author: Mohit Agrawal <moagrawal@redhat.com>
 5264 Date:   Thu May 9 10:08:25 2019 +0530
 5265 
 5266     core: Capture process memory usage at the time of call gf_msg_nomem
 5267     
 5268     Problem: All gluster processes call gf_mgm_nomem while calloc/malloc/realloc
 5269              throw an error but the message does not capture current memory usage of
 5270              gluster process
 5271     
 5272     Solution: Call getrusage to capture current memory usage of gluster
 5273               process
 5274     
 5275     Change-Id: I2e0319da1f33b177fa042fdc9e7268068576c9c3
 5276     fixes: bz#1708051
 5277     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 5278 
 5279 commit af4d9131c8d09907853ee2f6e30b2a9bd80f3c84
 5280 Author: Kotresh HR <khiremat@redhat.com>
 5281 Date:   Tue Apr 23 12:41:32 2019 +0530
 5282 
 5283     cli: Validate invalid slave url
 5284     
 5285     This patch validates the invalid slave url
 5286     in cli itself and throws appropriate error.
 5287     
 5288     fixes: bz#1098991
 5289     Change-Id: I278e2a04a4d619d2c2d1db0dd56ab5bdf7e7f469
 5290     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 5291 
 5292 commit b4db967224db3b16bc1d749fc2cb6f795363362d
 5293 Author: Vishal Pandey <vpandey@redhat.com>
 5294 Date:   Thu May 9 14:37:22 2019 +0530
 5295 
 5296     glusterd: Add gluster volume stop operation to glusterd_validate_quorum()
 5297     
 5298     ISSUE: gluster volume stop succeeds even if quorum is not met.
 5299     
 5300     Fix: Add GD_OP_STOP_VOLUME to gluster_validate_quorum in
 5301     glusterd_mgmt_v3_pre_validate ().
 5302     
 5303     Since the volume stop command has been ported from synctask to mgmt_v3,
 5304     the quorum check was missed out.
 5305     
 5306     Change-Id: I7a634ad89ec2e286ea262d7952061efad5360042
 5307     fixes: bz#1690753
 5308     Signed-off-by: Vishal Pandey <vpandey@redhat.com>
 5309 
 5310 commit 5b7ab2e1699f35a0a14211a4e85805d95bcadb62
 5311 Author: Ravishankar N <ravishankar@redhat.com>
 5312 Date:   Thu May 9 14:43:06 2019 +0530
 5313 
 5314     tests: fix bug-1319374.c compile warnings.
 5315     
 5316     I was looking at a downstream failure of bug-1319374-THIS-crash.t when I
 5317     saw the compiler was throwing a warning while running the test:
 5318     
 5319     tests/bugs/gfapi/bug-1319374.c:17:61: warning: implicit declaration of function ‘strerror’; did you mean ‘perror’? [-Wimplicit-function-declaration]
 5320              fprintf(stderr, "\nglfs_new: returned NULL (%s)\n", strerror(errno));
 5321                                                                  ^~~~~~~~
 5322                                                                  perror
 5323     
 5324     So I compiled the .c with -Wall and saw a lot many more warnings, all
 5325     due of a missing header. This patch fixes it.
 5326     
 5327     fixes: bz#1708163
 5328     Change-Id: I8b6dd8e1404178a3d99b2d92d01f4575f5203e58
 5329     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 5330 
 5331 commit b475551c66b86863cc93ebdfa6daeeab67bdbd9e
 5332 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 5333 Date:   Mon May 6 23:35:08 2019 +0530
 5334 
 5335     shd/glusterd: Serialize shd manager to prevent race condition
 5336     
 5337     At the time of a glusterd restart, while doing a handshake
 5338     there is a possibility that multiple shd manager might get
 5339     executed. Because of this, there is a chance that multiple
 5340     shd get spawned during a glusterd restart
 5341     
 5342     Change-Id: Ie20798441e07d7d7a93b7d38dfb924cea178a920
 5343     fixes: bz#1707081
 5344     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 5345 
 5346 commit 9ab2747da78061882f6734df4b265bce11adaef1
 5347 Author: Ravishankar N <ravishankar@redhat.com>
 5348 Date:   Tue Apr 9 09:44:33 2019 +0530
 5349 
 5350     afr: thin-arbiter lock release fixes
 5351     
 5352     - pass fop state instead of afr local to
 5353     afr_ta_dom_lock_check_and_release()
 5354     
 5355     - avoid afr_lock_release_synctask() being called simultaneosuly from
 5356     notify code path and transaction (post-op) code path due to races.
 5357     
 5358     - Check if the post-op on TA is valid based on event_gen checks.
 5359     
 5360     - Invalidate in-memory information when we get TA child down.
 5361     
 5362     Note: Thi patch addresses some pending review comments of commit
 5363     053b1309dc8fbc05fcde5223e734da9f694cf5cc
 5364     (https://review.gluster.org/#/c/glusterfs/+/20095/)
 5365     
 5366     fixes: bz#1698449
 5367     Change-Id: I2ccd7e1b53362f9f3fed8680aecb23b5011eb18c
 5368     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 5369 
 5370 commit 13d09055f7b266a934960f8db9572ec8fd2f6dfa
 5371 Author: Atin Mukherjee <amukherj@redhat.com>
 5372 Date:   Wed May 8 12:13:59 2019 +0530
 5373 
 5374     glusterd: fix inconsistent global option output in volume get
 5375     
 5376     volume get all all | grep <key> & volume get <volname> all | grep <key>
 5377     dumps two different output value for cluster.brick-multiplex and
 5378     cluster.server-quorum-ratio
 5379     
 5380     Fixes: bz#1707700
 5381     Change-Id: Id131734e0502aa514b84768cf67fce3c22364eae
 5382     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 5383 
 5384 commit 6a73800b45952a823d808f4efb01d40a6d1257f4
 5385 Author: Yaniv Kaul <ykaul@redhat.com>
 5386 Date:   Thu May 2 18:06:13 2019 +0300
 5387 
 5388     glusterd: reduce some work in glusterd-utils.c
 5389     
 5390     Similar to https://review.gluster.org/#/c/glusterfs/+/22652/ ,
 5391     reduce some of the work by using smaller buffers and less
 5392     conversion of parameters when snprintf()'ing them.
 5393     
 5394     On the way, remove some clang warnings, mainly on dead assignment.
 5395     
 5396     Change-Id: Ie51e6d6f14df6b2ccbebba314cf937af08839741
 5397     updates: bz#1193929
 5398     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 5399 
 5400 commit aee9e3d27f56e4c0c2f981f20b15189eb7ffce51
 5401 Author: Xavier Hernandez <jahernan@redhat.com>
 5402 Date:   Fri Jan 19 12:18:13 2018 +0100
 5403 
 5404     tests: improve and fix some test scripts
 5405     
 5406     Change-Id: Iceefe22af754096c599dc570d4894d14fce4deae
 5407     Updates: bz#1193929
 5408     Signed-off-by: Xavier Hernandez <xhernandez@redhat.com>
 5409 
 5410 commit 84b7cc57df065e2d8c0ac88b179aab3614ec814a
 5411 Author: Kotresh HR <khiremat@redhat.com>
 5412 Date:   Wed May 8 10:56:31 2019 +0530
 5413 
 5414     geo-rep: Fix sync-method config
 5415     
 5416     Problem:
 5417     When 'use_tarssh' is set to true, it exits with successful
 5418     message but the default 'rsync' was used as sync-engine.
 5419     The new config 'sync-method' is not allowed to set from cli.
 5420     
 5421     Analysis and Fix:
 5422     The 'use_tarssh' config is deprecated with new
 5423     config framework and 'sync-method' is the new
 5424     config to choose sync-method i.e. tarssh or rsync.
 5425     This patch fixes the 'sync-method' config. The allowed
 5426     values are tarssh and rsync.
 5427     
 5428     Change-Id: I0edb0319cad0455b29e49f2f08a64ce324735e84
 5429     fixes: bz#1707686
 5430     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 5431 
 5432 commit 288cffd1ab7180cccfcdea36d0c469b9fa52108f
 5433 Author: Kotresh HR <khiremat@redhat.com>
 5434 Date:   Wed May 8 14:10:05 2019 +0530
 5435 
 5436     tests/geo-rep: Fix arequal checksum comparison
 5437     
 5438     The arequal checkusm comparison was always returning
 5439     as successful, eventhough, if it was not. Fixed the same.
 5440     
 5441     Change-Id: I5083da25c0954126e452d06311d2d376f8540555
 5442     fixes: bz#1707742
 5443     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 5444 
 5445 commit d42221bec9ebb87df0c10b8e99edde60729250e3
 5446 Author: Sanju Rakonde <srakonde@redhat.com>
 5447 Date:   Wed May 8 07:58:27 2019 +0530
 5448 
 5449     glusterd: improve logging in __server_getspec()
 5450     
 5451     updates: bz#1193929
 5452     
 5453     Change-Id: Idad745d5869c92e6bed71842f14bc1a3362ca4bd
 5454     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 5455 
 5456 commit 40983d802f41033a29d4f21d2996e9bda31a91c1
 5457 Author: Ravishankar N <ravishankar@redhat.com>
 5458 Date:   Wed May 8 04:51:27 2019 -0400
 5459 
 5460     afr: log before attempting data self-heal.
 5461     
 5462     I was working on a blog about troubleshooting AFR issues and I wanted to copy
 5463     the messages logged by self-heal for my blog. I then realized that AFR-v2 is not
 5464     logging *before* attempting data heal while it logs it for metadata and entry
 5465     heals.
 5466     
 5467     I [MSGID: 108026] [afr-self-heal-entry.c:883:afr_selfheal_entry_do]
 5468     0-testvol-replicate-0: performing entry selfheal on
 5469     d120c0cf-6e87-454b-965b-0d83a4c752bb
 5470     I [MSGID: 108026] [afr-self-heal-common.c:1741:afr_log_selfheal]
 5471     0-testvol-replicate-0: Completed entry selfheal on
 5472     d120c0cf-6e87-454b-965b-0d83a4c752bb. sources=[0] 2  sinks=1
 5473     I [MSGID: 108026] [afr-self-heal-common.c:1741:afr_log_selfheal]
 5474     0-testvol-replicate-0: Completed data selfheal on
 5475     a9b5f183-21eb-4fb3-a342-287d3a7dddc5. sources=[0] 2  sinks=1
 5476     I [MSGID: 108026] [afr-self-heal-metadata.c:52:__afr_selfheal_metadata_do]
 5477     0-testvol-replicate-0: performing metadata selfheal on
 5478     a9b5f183-21eb-4fb3-a342-287d3a7dddc5
 5479     I [MSGID: 108026] [afr-self-heal-common.c:1741:afr_log_selfheal]
 5480     0-testvol-replicate-0: Completed metadata selfheal on
 5481     a9b5f183-21eb-4fb3-a342-287d3a7dddc5. sources=[0] 2  sinks=1
 5482     
 5483     Adding it in this patch. Now there is a 'performing' and a corresponding
 5484     'Completed' message for every type of heal.
 5485     
 5486     fixes: bz#1707746
 5487     Change-Id: I0b954cf1e17b48280aefa76640b5119b92133d61
 5488     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 5489 
 5490 commit 87ba764b2e46cf4782820990f6e4252c8fb59a16
 5491 Author: Amar Tumballi <amarts@redhat.com>
 5492 Date:   Mon Apr 1 10:57:58 2019 +0530
 5493 
 5494     tests: enhance the auth.allow test to validate all failures of 'login' module
 5495     
 5496     now the enhanced test covers most of the code in auth.login and auth.addr module.
 5497     
 5498     updates: bz#1693692
 5499     Change-Id: I1f43c7dc414e2e4d443a93e9a37051359fd46ea4
 5500     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 5501 
 5502 commit 5c9ec08d36b825cd8abd0489dc5f77488dbfbc8b
 5503 Author: Sunny Kumar <sunkumar@redhat.com>
 5504 Date:   Tue May 7 13:35:47 2019 +0530
 5505 
 5506     geo-rep: fix incorrectly formatted authorized_keys
 5507     
 5508     There are two ways for creating secret pem pub file during geo-rep
 5509     setup.
 5510     1. gluster-georep-sshkey generate
 5511     2. gluster system:: execute gsec_create
 5512     
 5513     Below patch solves this problem for `gluster-georep-sshkey generate`
 5514     method.
 5515     Patch link: https://review.gluster.org/#/c/glusterfs/+/22246/
 5516     
 5517     This patch is added to support old way of creating secret pem pub file
 5518     `gluster system:: execute gsec_create`.
 5519     
 5520     Problem:  While Geo-rep setup when creating an ssh authorized_keys
 5521               the geo-rep setup inserts an extra space before the "ssh-rsa" label.
 5522               This gets flagged by an enterprise customer's security scan as a
 5523               security violation.
 5524     Solution: Remove extra space while creating secret key.
 5525     
 5526     fixes: bz#1679401
 5527     Change-Id: I92ba7e25aaa5123dae9ebe2f3c68d14315aa5f0e
 5528     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 5529 
 5530 commit 1fa089e7a2b180e0bdcc1e7e09a63934a2a0c0ef
 5531 Author: Yaniv Kaul <ykaul@redhat.com>
 5532 Date:   Sun Apr 28 22:05:44 2019 +0300
 5533 
 5534     glusterd/store: store all key-values in one shot
 5535     
 5536     Instead of saving each key-value separately, which is slow (
 5537     especially as we fflush() after each!), store them all as one
 5538     string and write all together.
 5539     
 5540     Implements https://github.com/gluster/glusterfs/issues/629
 5541     
 5542     Change-Id: Ie77a272446b0b6785584b710a4fdd9c613dd9578
 5543     updates: bz#1193929
 5544     Signed-off-by: Yaniv Kaul <ykaul@redhat,.com>
 5545 
 5546 commit aa52259de7b50625b754ce9fb5c0f38e22d79dd6
 5547 Author: root <root@localhost.localdomain>
 5548 Date:   Sun Apr 7 19:31:17 2019 +0530
 5549 
 5550     dht: Custom xattrs are not healed in case of add-brick
 5551     
 5552     Problem: If any custom xattrs are set on the directory before
 5553              add a brick, xattrs are not healed on the directory
 5554              after adding a brick.
 5555     
 5556     Solution: xattr are not healed because dht_selfheal_dir_mkdir_lookup_cbk
 5557               checks the value of MDS and if MDS value is not negative
 5558               selfheal code path does not take reference of MDS xattrs.Change the
 5559               condition to take reference of MDS xattr so that custom xattrs are
 5560               populated on newly added brick
 5561     
 5562     Updates: bz#1702299
 5563     Change-Id: Id14beedb98cce6928055f294e1594b22132e811c
 5564     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 5565 
 5566 commit bbb87ee8a433949eea8b3a2f0bef152ead37ccd7
 5567 Author: Rinku Kothiya <rkothiya@redhat.com>
 5568 Date:   Tue Apr 23 15:55:22 2019 +0000
 5569 
 5570     afr : fix Coverity CID 1398627
 5571     
 5572     Fixed coverity error, "Unchecked return value (CHECKED_RETURN)".
 5573     Checking return value & logging error message if afr_set_pending_dict
 5574     fails.
 5575     
 5576     updates: bz#789278
 5577     
 5578     Change-Id: Iab7da6b4f3cd0622b95b8e1c412b007a330467e5
 5579     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 5580 
 5581 commit 291e5ec2a09a145ebb0f4c3ef0b78d616786532f
 5582 Author: Pranith Kumar K <pkarampu@redhat.com>
 5583 Date:   Mon May 6 15:57:16 2019 +0530
 5584 
 5585     libglusterfs: Fix compilation when --disable-mempool is used
 5586     
 5587     updates bz#1193929
 5588     Change-Id: I245c065b209bcce5db939b6a0a934ba6fd393b47
 5589     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 5590 
 5591 commit 6454132342c0b549365d92bcf3572ecd914f7fa8
 5592 Author: Raghavendra G <rgowdapp@redhat.com>
 5593 Date:   Fri May 3 10:14:48 2019 +0530
 5594 
 5595     performance/write-behind: remove request from wip list in wb_writev_cbk
 5596     
 5597     There is a race in the way O_DIRECT writes are handled. Assume two
 5598     overlapping write requests w1 and w2.
 5599     
 5600     * w1 is issued and is in wb_inode->wip queue as the response is still
 5601       pending from bricks. Also wb_request_unref in wb_do_winds is not yet
 5602       invoked.
 5603     
 5604            list_for_each_entry_safe (req, tmp, tasks, winds) {
 5605     		list_del_init (&req->winds);
 5606     
 5607                     if (req->op_ret == -1) {
 5608     			call_unwind_error_keep_stub (req->stub, req->op_ret,
 5609     		                                     req->op_errno);
 5610                     } else {
 5611                             call_resume_keep_stub (req->stub);
 5612     		}
 5613     
 5614                     wb_request_unref (req);
 5615             }
 5616     
 5617     * w2 is issued and wb_process_queue is invoked. w2 is not picked up
 5618       for winding as w1 is still in wb_inode->wip. w1 is added to todo
 5619       list and wb_writev for w2 returns.
 5620     
 5621     * response to w1 is received and invokes wb_request_unref. Assume
 5622       wb_request_unref in wb_do_winds (see point 1) is not invoked
 5623       yet. Since there is one more refcount, wb_request_unref in
 5624       wb_writev_cbk of w1 doesn't remove w1 from wip.
 5625     
 5626     * wb_process_queue is invoked as part of wb_writev_cbk of w1. But, it
 5627       fails to wind w2 as w1 is still in wip.
 5628     
 5629     * wb_requet_unref is invoked on w1 as part of wb_do_winds. w1 is
 5630       removed from all queues including w1.
 5631     
 5632     * After this point there is no invocation of wb_process_queue unless
 5633       new request is issued from application causing w2 to be hung till
 5634       the next request.
 5635     
 5636     This bug is similar to bz 1626780 and bz 1379655.
 5637     
 5638     Change-Id: Iaa47437613591699d4c8ad18bc0b32de6affcc31
 5639     Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
 5640     Fixes: bz#1705865
 5641 
 5642 commit ecd1292eaea8873298357ab2d903110f713f7185
 5643 Author: Yaniv Kaul <ykaul@redhat.com>
 5644 Date:   Wed Feb 27 15:48:42 2019 +0200
 5645 
 5646     mem-pool.{c|h}: minor changes
 5647     
 5648     1. Removed some code that was not needed. It did not really do anything.
 5649     2. CALLOC -> MALLOC in one place.
 5650     
 5651     Compile-tested only!
 5652     updates: bz#1193929
 5653     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 5654     
 5655     Change-Id: I4419161e1bb636158e32b5d33044b06f1eef2449
 5656 
 5657 commit aff76bc71c1910128b04bb151817606a020ef575
 5658 Author: Raghavendra Bhat <raghavendra@redhat.com>
 5659 Date:   Tue Apr 30 14:06:03 2019 -0400
 5660 
 5661     tests: delete the snapshots and the volume after the tests
 5662     
 5663     In uss.t multiple snapshots are taken and after all the tests
 5664     things are left for the cleanup () function to get removed.
 5665     Instead of that, delete the snapshots and the volume once all
 5666     the tests are over so that cleanup operation becomes relatively
 5667     a light operation.
 5668     
 5669     Change-Id: I2342740bbb185cd6c9a450eb3b4f5cbbba78974c
 5670     fixes: bz#1704888
 5671     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 5672 
 5673 commit db9c31fcf57024abfdc7b35825409166f17d5aac
 5674 Author: Amar Tumballi <amarts@redhat.com>
 5675 Date:   Fri Apr 12 07:55:04 2019 +0530
 5676 
 5677     tests: validate volfile grammar - strings in volfile
 5678     
 5679     * libglusterfs/graph-print: remove unused code
 5680     
 5681     updates: bz#1693692
 5682     Change-Id: Iae81bb6a3af5911c3da07ab8f1d8f58f27e06905
 5683     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 5684 
 5685 commit e0dadeb3242a10827c6142f609c87d860b3ce546
 5686 Author: Atin Mukherjee <amukherj@redhat.com>
 5687 Date:   Mon May 6 10:35:23 2019 +0530
 5688 
 5689     glusterd: coverity fix
 5690     
 5691     CID: 1382403 (CHECKED_RETURN)
 5692     
 5693     Updates: bz#789278
 5694     Change-Id: I4c57b93fd3d14c524ff8519ed876f029834de306
 5695     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 5696 
 5697 commit 0d85c6abf5002ff88f17a5292cdde45847154d25
 5698 Author: Kinglong Mee <kinglongmee@gmail.com>
 5699 Date:   Thu Apr 25 18:20:25 2019 +0800
 5700 
 5701     cluster/ec: fix shd healer wait timeout
 5702     
 5703     Right now, the timeout is written by hard code,
 5704     fix it by using heal-timeout.
 5705     
 5706     fixes: bz#1703020
 5707     Change-Id: I0d154e7807f9dba7efc3896805559bbfaa7af2ad
 5708     Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
 5709 
 5710 commit e18e98659dd2b41eb59cf593fd625f1821a20abf
 5711 Author: Krutika Dhananjay <kdhananj@redhat.com>
 5712 Date:   Fri May 3 10:50:40 2019 +0530
 5713 
 5714     features/shard: Fix integer overflow in block count accounting
 5715     
 5716     ... by holding delta_blocks in 64-bit int as opposed to 32-bit int.
 5717     
 5718     Change-Id: I2c1ddab17457f45e27428575ad16fa678fd6c0eb
 5719     updates: bz#1705884
 5720     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 5721 
 5722 commit b2d7644435b92bd2468bbaaef7451a64e08c08bd
 5723 Author: Niels de Vos <ndevos@redhat.com>
 5724 Date:   Fri May 3 09:18:31 2019 +0200
 5725 
 5726     glusterd: prevent use-after-free in glusterd_op_ac_send_brick_op()
 5727     
 5728     Coverity reported that GF_FREE(req_ctx) could be called 2x on req_ctx.
 5729     
 5730     Change-Id: I9120686e5920de8c27688e10de0db6aa26292064
 5731     CID: 1401115
 5732     Updates: bz#789278
 5733     Signed-off-by: Niels de Vos <ndevos@redhat.com>
 5734 
 5735 commit 920a9fe5cb5769470d31f5676ccb55dcdbd3a939
 5736 Author: Pranith Kumar K <pkarampu@redhat.com>
 5737 Date:   Sun May 5 21:17:24 2019 +0530
 5738 
 5739     cluster/ec: Reopen shouldn't happen with O_TRUNC
 5740     
 5741     Problem:
 5742     Doing re-open with O_TRUNC will truncate the fragment even when it is not
 5743     needed needing extra heals
 5744     
 5745     Fix:
 5746     At the time of re-open don't use O_TRUNC.
 5747     
 5748     fixes bz#1706603
 5749     Change-Id: Idc6408968efaad897b95a5a52481c66e843d3fb8
 5750     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 5751 
 5752 commit 0d83a087ddf0fb6b843150c7b801bb10f6fd98db
 5753 Author: Yaniv Kaul <ykaul@redhat.com>
 5754 Date:   Wed May 1 15:45:09 2019 +0300
 5755 
 5756     glusterd-utils.c: reduce work in glusterd_add_volume_to_dict()
 5757     
 5758     1. Use small arrays, 32 or 64 bytes should suffice.
 5759     2. Do not repeat the pattern of
 5760     snprintf '%s.%d', prefix, count
 5761     over and over.
 5762     
 5763     Change-Id: Ief6de78b766d9a07acb6256fc4830f4f3cfba7c9
 5764     updates: bz#1193929
 5765     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 5766 
 5767 commit 91c19c50a3c7b336177dda186500568be43626b8
 5768 Author: Atin Mukherjee <amukherj@redhat.com>
 5769 Date:   Thu Apr 25 12:00:52 2019 +0530
 5770 
 5771     glusterd: Fix coverity defects & put coverity annotations
 5772     
 5773     Along with fixing few defect, put the required annotations for the defects which
 5774     are marked ignore/false positive/intentional as per the coverity defect sheet.
 5775     This should avoid the per component graph showing many defects as open in the
 5776     coverity glusterfs web page.
 5777     
 5778     Updates: bz#789278
 5779     Change-Id: I19461dc3603a3bd8f88866a1ab3db43d783af8e4
 5780     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 5781 
 5782 commit 60d6e90bd0565f8d56641ff97dd90348894ac870
 5783 Author: Sanju Rakonde <srakonde@redhat.com>
 5784 Date:   Thu Apr 25 19:02:39 2019 +0530
 5785 
 5786     tests/cli: add .t file to increase line coverage in cli
 5787     
 5788     updates: bz#1693692
 5789     
 5790     Change-Id: Ib188c5fddea8c762e89ff15aa83b08c35cdb21e1
 5791     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 5792 
 5793 commit 31411a771f9eea4b65e9dd49f213d021bde51bfe
 5794 Author: rishubhjain <rishubhjain47@gmail.com>
 5795 Date:   Thu Apr 25 18:44:44 2019 +0530
 5796 
 5797     tests: add .t files to increase cli code coverage
 5798     
 5799     different volume profile sub options are added in the test.
 5800     
 5801     Change-Id: I93100c37f51afc10870e60b91fcd86e7859e734a
 5802     updates: bz#1693692
 5803     Signed-off-by: rishubhjain <rishubhjain47@gmail.com>
 5804 
 5805 commit bff877b6e0004076ba3d7d4fac3912e8ad9d676d
 5806 Author: Kotresh HR <khiremat@redhat.com>
 5807 Date:   Tue Apr 16 20:54:24 2019 +0530
 5808 
 5809     tests: Add changelog snapshot testcase
 5810     
 5811     Add testcase to test snapshot creation
 5812     while I/O is happening with changelog
 5813     enabled.
 5814     
 5815     updates: bz#1193929
 5816     Change-Id: Ice4cb596286c583ed7308484d65902007a48396c
 5817     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 5818 
 5819 commit ac70f66c5805e10b3a1072bd467918730c0aeeb4
 5820 Author: Mohit Agrawal <moagrawal@redhat.com>
 5821 Date:   Mon Apr 29 18:48:36 2019 +0530
 5822 
 5823     glusterd: Fix bulkvoldict thread logic in brick multiplexing
 5824     
 5825     Problem: Currently glusterd spawn bulkvoldict in brick_mux
 5826              environment while no. of volumes are less than configured
 5827              glusterd.vol_count_per_thread
 5828     
 5829     Solution: Correct the logic to spawn bulkvoldict thread
 5830               1) Calculate endindex only while total thread is non zero
 5831               2) Update end index correctly to pass index for bulkvoldict
 5832                  thread
 5833     
 5834     Fixes: bz#1704252
 5835     Change-Id: I1def847fbdd6a605e7687bfc4e42b706bf0eb70b
 5836     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 5837 
 5838 commit cfd838c27cc88acd431549f2b8ed515c9ce3e55f
 5839 Author: Susant Palai <spalai@redhat.com>
 5840 Date:   Mon Apr 29 11:36:16 2019 +0530
 5841 
 5842     cloudsync/plugin: coverity fixes
 5843     
 5844     CID 1401087:  Null pointer dereferences  (REVERSE_INULL)
 5845     CID 1401088:  Null pointer dereferences  (FORWARD_NULL)
 5846     
 5847     Change-Id: I71bf67af80e1b22bcd2eb997b01a1a5ef0b4d80b
 5848     Updates: bz#789278
 5849     Signed-off-by: Susant Palai <spalai@redhat.com>
 5850 
 5851 commit e6721e1426b116af7460111e8dddd432aea504a2
 5852 Author: Yaniv Kaul <ykaul@redhat.com>
 5853 Date:   Mon Apr 22 21:34:19 2019 +0300
 5854 
 5855     options.c,h: minor changes to GF_OPTION_RECONF
 5856     
 5857     Minor code changes (less variables and if statements)
 5858     and use dict_get_strn(), since all options are fixed strings.
 5859     
 5860     Similar changes could be done to GF_OPTION_INIT() as well.
 5861     
 5862     Change-Id: I4a523f67183f4c4852a3d4de5e3cac52df68d3cf
 5863     updates: bz#1193929
 5864     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 5865 
 5866 commit 5ba81308d58b26f8baff17b44c235d68f88d5f19
 5867 Author: Amar Tumballi <amarts@redhat.com>
 5868 Date:   Wed Apr 24 22:29:55 2019 +0530
 5869 
 5870     libglusterfs: remove compound-fop helper functions
 5871     
 5872     updates: bz#1693692
 5873     Change-Id: If69702990af273be1f38855ba56b3b89fabff167
 5874     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 5875 
 5876 commit d23e918d954e985b13295ba00353e4f47759e59e
 5877 Author: Xavier Hernandez <jahernan@redhat.com>
 5878 Date:   Fri Jan 19 12:18:13 2018 +0100
 5879 
 5880     storage/posix: fix fresh file detection delay
 5881     
 5882     Current implementation made it possible to consider that a file was not
 5883     fresh even if it was created less than a second ago. This patch fixes
 5884     the way in which the delay is computed to ensure that at least one
 5885     second has elapsed.
 5886     
 5887     Change-Id: I05f7b99e7e8dd97e31f7ebaaec6c39eecf98b00f
 5888     Updates: bz#1193929
 5889     Signed-off-by: Xavier Hernandez <jahernan@redhat.com>
 5890 
 5891 commit 45b19d569e9f61410e4a700950e3cf4d7e6838f1
 5892 Author: Sheetal Pamecha <spamecha@redhat.com>
 5893 Date:   Thu Apr 25 14:46:37 2019 +0530
 5894 
 5895     nl-cache:add test to increase code coverage
 5896     
 5897     Change-Id: Ie0a5c522dfa0123ca45f9decf5015d39b92cb0f3
 5898     updates: bz#1693692
 5899     Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
 5900 
 5901 commit 48d160756813875cf1889b4ce96493d25f96c726
 5902 Author: Amar Tumballi <amarts@redhat.com>
 5903 Date:   Sat Apr 20 11:55:12 2019 +0530
 5904 
 5905     protocol: remove compound fop
 5906     
 5907     Compound fops are kept on wire as a backward compatibility with
 5908     older AFR modules. The AFR module used beyond 4.x releases are
 5909     not using compound fops. Hence removing the compound fop in the
 5910     protocol code.
 5911     
 5912     Note that, compound-fops was already an 'option' in AFR, and
 5913     completely removed since 4.1.x releases.
 5914     
 5915     So, point to note is, with this change, we have 2 ways to upgrade
 5916     when clients of 3.x series are present.
 5917     
 5918     i) set 'use-compound-fops' option to 'false' on any volume which
 5919        is of replica type. And then upgrade the servers.
 5920     
 5921     ii) Do a two step upgrade. First from current version (which will
 5922         already be EOL if it's using compound) to a 4.1..6.x version,
 5923         and then an upgrade to 7.x.
 5924     
 5925     Consider the overall code which we are removing for the option
 5926     seems quite high, I believe it is worth it.
 5927     
 5928     updates: bz#1693692
 5929     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 5930     Change-Id: I0a8876d0367a15e1410ec845f251d5d3097ee593
 5931 
 5932 commit 88418f400507fba109971f169ce0a2c4243a31c9
 5933 Author: Amar Tumballi <amarts@redhat.com>
 5934 Date:   Wed Apr 24 22:23:36 2019 +0530
 5935 
 5936     performance/decompounder: remove the translator as the feature is not used anymore
 5937     
 5938     updates: bz#1693692
 5939     Change-Id: Id5932b11e115ca6da1c2bfff7ae1460787109e06
 5940     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 5941 
 5942 commit 5d866c13efdcdeddf184f012aa88a652e90ff22e
 5943 Author: Sanju Rakonde <srakonde@redhat.com>
 5944 Date:   Fri Apr 26 22:28:53 2019 +0530
 5945 
 5946     glusterd: define dumpops in the xlator_api of glusterd
 5947     
 5948     Problem: statedump is not capturing information related to glusterd
 5949     
 5950     Solution: statdump is not capturing glusterd info because
 5951     trav->dumpops is null in gf_proc_dump_single_xlator_info ()
 5952     where trav is glusterd xlator object. trav->dumpops is null
 5953     because we missed to define dumpops in xlator_api of glusterd.
 5954     defining dumpops in xlator_api of glusterd fixes the issue.
 5955     
 5956     fixes: bz#1703629
 5957     Change-Id: If85429ecb1ef580aced8d5b88d09fc15258bfc4c
 5958     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 5959 
 5960 commit e10946dbfe18204d3e4a50e218ac3dbdab82a3a9
 5961 Author: Anuradha Talur <atalur@commvault.com>
 5962 Date:   Wed Apr 24 12:35:08 2019 -0700
 5963 
 5964     cloudsync: Fix bug in cloudsync-fops-c.py
 5965     
 5966     In some of the fops generated by generator.py, xdata request
 5967     was not being wound to the child xlator correctly.
 5968     
 5969     This was happening because when though the logic in
 5970     cloudsync-fops-c.py was correct, generator.py was generating
 5971     a resultant code that omits this logic.
 5972     
 5973     Made changes in cloudsync-fops-c.py so that correct code is
 5974     produced.
 5975     
 5976     Change-Id: I6f25bdb36ede06fd03be32c04087a75639d79150
 5977     updates: bz#1642168
 5978     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 5979 
 5980 commit 68138b00ca0d093304a903544d13d0010e7ffcc1
 5981 Author: Anuradha Talur <atalur@commvault.com>
 5982 Date:   Fri Nov 30 11:23:07 2018 -0800
 5983 
 5984     cloudsync/cvlt: Cloudsync plugin for commvault store
 5985     
 5986     Change-Id: Icbe53e78e9c4f6699c7a26a806ef4b14b39f5019
 5987     updates: bz#1642168
 5988     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 5989 
 5990 commit 13e1fe6dbd39ef88cadce1590b5d4c45b67387cb
 5991 Author: Atin Mukherjee <amukherj@redhat.com>
 5992 Date:   Fri Apr 26 08:47:12 2019 +0530
 5993 
 5994     glusterd: coverity fixes
 5995     
 5996     1400775 - USE_AFTER_FREE
 5997     1400742 - Missing Unlock
 5998     1400736 - CHECKED_RETURN
 5999     1398470 - Missing Unlock
 6000     
 6001     Missing unlock is the tricky one, we have had annotation added, but
 6002     coverity still continued to complaint. Added pthread_mutex_unlock to
 6003     clean up the lock before destroying it to see if it makes coverity
 6004     happy.
 6005     
 6006     Updates: bz#789278
 6007     Change-Id: I1d892612a17f805144d96c1b15004a85a1639414
 6008     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 6009 
 6010 commit 146e4b45d0ce906ae50fd6941a1efafd133897ea
 6011 Author: Ravishankar N <ravishankar@redhat.com>
 6012 Date:   Tue Apr 23 18:05:36 2019 +0530
 6013 
 6014     glusterd: enable fips-mode-rchecksum for new volumes
 6015     
 6016     ...during volume create if the cluster op-version is >=GD_OP_VERSION_7_0.
 6017     
 6018     This option itself was introduced in GD_OP_VERSION_4_0_0 via commit 6daa65356.
 6019     We missed enabling it by default for new volume creates in that commit.
 6020     If we are to do it now safely, we need to use op version
 6021     GD_OP_VERSION_7_0 and target it for release-7.
 6022     
 6023     fixes: bz#1702303
 6024     Change-Id: I7c6d4a8abe0816367e7069cb5cad01744f04858f
 6025     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 6026 
 6027 commit 6434e8687572fabd5e9092652ff36e35f868b67b
 6028 Author: Saravanakumar Arumugam <sarumuga@redhat.com>
 6029 Date:   Thu Jul 9 15:56:28 2015 +0530
 6030 
 6031     tools/glusterfind : validate session name
 6032     
 6033     Validate a session name(during create) for the following:
 6034     1. minimum 2 character length.
 6035     2. Maximum 256 characters.
 6036     3. No special characters apart from underscore, hyphen allowed.
 6037     
 6038     Also, validate volume(expect, while using glusterfind list).
 6039     
 6040     Change-Id: I1b1e64e218f93d0a531d3cf69fc2ce7e2ed11d01
 6041     BUG: 1241494
 6042     Signed-off-by: Saravanakumar Arumugam <sarumuga@redhat.com>
 6043 
 6044 commit e7e89c9ec8b56ad5a442ad105c0b05e674a591cd
 6045 Author: Sunny Kumar <sunkumar@redhat.com>
 6046 Date:   Tue Apr 2 12:38:09 2019 +0530
 6047 
 6048     geo-rep: Fix rename with existing destination with same gfid
 6049     
 6050     Problem:
 6051        Geo-rep fails to sync the rename properly if destination exists.
 6052     It results in source to be remained on slave causing more number of
 6053     files on slave. Also heavy rename workload like logrotate caused
 6054     lot of ESTALE errors
 6055     
 6056     Cause:
 6057        Geo-rep fails to sync rename if destination exists if creation
 6058     of source file also falls into single batch of changelogs being
 6059     processed. This is because, after fixing problematic gfids verifying
 6060     from master, while re-processing original entries, CREATE also was
 6061     re-processed causing more files on slave and rename to be failed.
 6062     
 6063     Solution:
 6064        Entries need to be removed from retrial list after fixing
 6065     problematic gfids on slave so that it's not re-created again on slave.
 6066        Also treat ESTALE as EEXIST so that the error is properly handled
 6067     verifying the op on master volume.
 6068     
 6069     Change-Id: I50cf289e06b997adddff0552bf2466d9201dd1f9
 6070     fixes: bz#1694820
 6071     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 6072     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 6073 
 6074 commit a9143223c515b82f6382f1372dfbdc0439dba198
 6075 Author: Pranith Kumar K <pkarampu@redhat.com>
 6076 Date:   Mon Apr 1 11:14:56 2019 +0530
 6077 
 6078     features/locks: error-out {inode,entry}lk fops with all-zero lk-owner
 6079     
 6080     Problem:
 6081     Sometimes we find that developers forget to assign lk-owner for an
 6082     inodelk/entrylk/lk before writing code to wind these fops. locks
 6083     xlator at the moment allows this operation. This leads to multiple
 6084     threads in the same client being able to get locks on the inode
 6085     because lk-owner is same and transport is same. So isolation
 6086     with locks can't be achieved.
 6087     
 6088     Fix:
 6089     Disallow locks with lk-owner zero.
 6090     
 6091     fixes bz#1624701
 6092     Change-Id: I1aadcfbaaa4d49308f7c819505857e201809b3bc
 6093     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 6094 
 6095 commit edeb0d6e616cf4750ea9f6b6245631de8db233cf
 6096 Author: Sanju Rakonde <srakonde@redhat.com>
 6097 Date:   Thu Apr 25 14:12:28 2019 +0530
 6098 
 6099     man/gluster: remove tier information from gluster manual page
 6100     
 6101     fixes: bz#1702952
 6102     Change-Id: I650a3695d702c03dc60660ff197676c6d536a2ea
 6103     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 6104 
 6105 commit de11b4a476b297129065bc7477229e57643ac196
 6106 Author: Anuradha Talur <atalur@commvault.com>
 6107 Date:   Wed Apr 24 12:06:23 2019 -0700
 6108 
 6109     cloudsync: Make readdirp return stat info of all the dirents
 6110     
 6111     This change got missed while the initial changes were sent.
 6112     Should have been a part of :
 6113     	https://review.gluster.org/#/c/glusterfs/+/21757/
 6114     
 6115     Gist of the change:
 6116     	Function that fills in stat info for dirents is
 6117     invoked in readdirp in posix when cloudsync populates xdata
 6118     request with GF_CS_OBJECT_STATUS.
 6119     
 6120     Change-Id: Ide0c4e80afb74cd2120f74ba934ed40123152d69
 6121     updates: bz#1642168
 6122     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 6123 
 6124 commit 2b86da69df423a90b76932bd32b7a17bd5ac2add
 6125 Author: Sanju Rakonde <srakonde@redhat.com>
 6126 Date:   Mon Apr 22 19:50:19 2019 +0530
 6127 
 6128     tier/cli: remove tier code to increase code coverage in cli
 6129     
 6130     Change-Id: I56cc09243dab23b3be86a7faac45001dda77181f
 6131     updates: bz#1693692
 6132     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 6133 
 6134 commit c827682e4df44ec6aaae3780c325568fb43053ff
 6135 Author: Atin Mukherjee <amukherj@redhat.com>
 6136 Date:   Wed Apr 24 22:02:51 2019 +0530
 6137 
 6138     glusterd: coverity fixes
 6139     
 6140     Addresses the following:
 6141     
 6142     * CID 1124776:  Resource leaks  (RESOURCE_LEAK) - Variable "aa" going out
 6143     of scope leaks the storage it points to in glusterd-volgen.c
 6144     
 6145     * Bunch of CHECKED_RETURN defects in the callers of synctask_barrier_init
 6146     
 6147     * CID 1400755:  Error handling issues  (CHECKED_RETURN) - Calling
 6148     "gf_is_service_running" without checking return value in
 6149     xlators/mgmt/glusterd/src/glusterd-shd-svc.c: 671 in
 6150     glusterd_shdsvc_stop()
 6151     
 6152     * CID 1400745:  Memory - illegal accesses  (USE_AFTER_FREE) - Dereferencing
 6153     freed pointer "volinfo" in /xlators/mgmt/glusterd/src/glusterd-shd-svc.c: 460 in glusterd_shdsvc_start()
 6154     
 6155     * CID 1400742:  Program hangs  (LOCK) - adding annotation to fix this
 6156     false positive
 6157     
 6158     Updates: bz#789278
 6159     Change-Id: I02f16e7eeb8c5cf72f7d0b29d00df4f03b3718b3
 6160     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 6161 
 6162 commit 647e2d3a9fbe36f2fbf062feda53b7cb6aa4830b
 6163 Author: Raghavendra Bhat <raghavendra@redhat.com>
 6164 Date:   Mon Mar 11 12:16:50 2019 -0400
 6165 
 6166     features/bit-rot: Unconditionally sign the files during oneshot crawl
 6167     
 6168     Currently bit-rot feature has an issue with disabling and reenabling it
 6169     on the same volume. Consider enabling bit-rot detection which goes on to
 6170     crawl and sign all the files present in the volume. Then some files are
 6171     modified and the bit-rot daemon goes on to sign the modified files with
 6172     the correct signature. Now, disable bit-rot feature. While, signing and
 6173     scrubbing are not happening, previous checksums of the files continue to
 6174     exist as extended attributes. Now, if some files with checksum xattrs get
 6175     modified, they are not signed with new signature as the feature is off.
 6176     
 6177     At this point, if the feature is enabled again, the bit rot daemon will
 6178     go and sign those files which does not have any bit-rot specific xattrs
 6179     (i.e. those files which were created after bit-rot was disabled). Whereas
 6180     the files with bit-rot xattrs wont get signed with proper new checksum.
 6181     At this point if scrubber runs, it finds the on disk checksum and the actual
 6182     checksum of the file to be different (because the file got modified) and
 6183     marks the file as corrupted.
 6184     
 6185     FIX:
 6186     
 6187     The fix is to unconditionally sign the files when the bit-rot daemon
 6188     comes up (instead of skipping the files with bit-rot xattrs).
 6189     
 6190     Change-Id: Iadfb47dd39f7e2e77f22d549a4a07a385284f4f5
 6191     fixes: bz#1700078
 6192     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 6193 
 6194 commit 8d51cb05d9745643f2dfaa6ef35938db9d2d47f6
 6195 Author: Amar Tumballi <amarts@redhat.com>
 6196 Date:   Sat Apr 13 11:19:20 2019 +0530
 6197 
 6198     build-aux/pkg-version: provide option for depth=1
 6199     
 6200     Change-Id: I385063b757ae71db70f22a2f7c94e6abeedff426
 6201     updates: bz#1701337
 6202     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 6203 
 6204 commit 3db4f4ed6dec55316e7167eaddd9ddf0af875185
 6205 Author: Yaniv Kaul <ykaul@redhat.com>
 6206 Date:   Fri Mar 8 14:13:32 2019 +0200
 6207 
 6208     logging.c/h: aggressively remove sprintfs()
 6209     
 6210     Try to reduce the number of sprintf() and string copies until we finally
 6211     log a log line.
 6212     
 6213     Specifically, do not sprintf separately the timestr string and
 6214     do not sprintf/strcpy the appmsgstr separately - just stick it with
 6215     the header.
 6216     Hoping I did not leak anything or changed the log line formatting.
 6217     
 6218     Also, allocate 4K (GF_LOG_BACKTRACE_SIZE) of memory
 6219     dynamically for trace output -
 6220     only if trace was actually requested (previously, it was
 6221     unconditionally)
 6222     
 6223     In addition, some minor code formatting (unrelated to the above).
 6224     
 6225     updates: bz#1193929
 6226     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 6227     
 6228     Change-Id: Id2ccc85f9213a2b1c6eaa4a2f58ce043eac1824f
 6229 
 6230 commit 1ccc62d11287e8ffd091123517f7988a4e7f1935
 6231 Author: N Balachandran <nbalacha@redhat.com>
 6232 Date:   Wed Apr 10 14:28:55 2019 +0530
 6233 
 6234     cluster/dht: Refactor dht lookup functions
 6235     
 6236     Part 2: Modify dht_revalidate_cbk to call
 6237     dht_selfheal_directory instead of separate calls
 6238     to heal attrs and xattrs.
 6239     
 6240     Change-Id: Id41ac6c4220c2c35484812bbfc6157fc3c86b142
 6241     updates: bz#1590385
 6242     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 6243 
 6244 commit e0a6941af6ed352911698012ada895d1296b549e
 6245 Author: Kotresh HR <khiremat@redhat.com>
 6246 Date:   Tue Apr 23 10:45:25 2019 +0530
 6247 
 6248     geo-rep: Fix entries and metadata counters in geo-rep status
 6249     
 6250     Entries counter was incremented twice and decremented only
 6251     once. And entries count was being used in place of metadata
 6252     entries. This patch fixes both of them.
 6253     
 6254     fixes: bz#1512093
 6255     Change-Id: I5601a5fe8d25c9d65b72eb529171e7117ebbb67f
 6256     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 6257 
 6258 commit 1b9b0c2db9b54cddf817bde95a43894a91440b35
 6259 Author: Shwetha K Acharya <sacharya@redhat.com>
 6260 Date:   Mon Apr 1 17:04:01 2019 +0530
 6261 
 6262     tests/geo-rep: Add pause and resume test case for geo-rep
 6263     
 6264     Added pause and resume test case for geo-rep
 6265     
 6266     fixes: bz#1696077
 6267     Change-Id: Ib6fcc1926c3be1263bca1235194f737b895c8333
 6268     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 6269 
 6270 commit 7d2c1abd25353ae4f1fe86f6d851b9a0cc93d2f6
 6271 Author: rishubhjain <rishubhjain47@gmail.com>
 6272 Date:   Mon Apr 22 20:48:02 2019 +0530
 6273 
 6274     tests: add .t files to increase cli code coverage
 6275     
 6276     Tests added for gluster volume top and profile
 6277     with and without xml output
 6278     
 6279     Change-Id: I66aa6390b53ca448014059a3d27dc72e405216d2
 6280     updates: bz#1693692
 6281     Signed-off-by: rishubhjain <rishubhjain47@gmail.com>
 6282 
 6283 commit 15ba102feba723b7707ab5efbd614e3da2c59555
 6284 Author: Sanju Rakonde <srakonde@redhat.com>
 6285 Date:   Mon Apr 22 18:10:05 2019 +0530
 6286 
 6287     tests: add .t file to increase cli code coverage
 6288     
 6289     updates: bz#1693692
 6290     
 6291     Change-Id: I848e622d7b8562e864f0e208aafdc21d9cb757d3
 6292     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 6293 
 6294 commit 2d39572821306496c96797f4d122f8200aae4585
 6295 Author: Kotresh HR <khiremat@redhat.com>
 6296 Date:   Fri Apr 19 11:34:37 2019 +0530
 6297 
 6298     ctime: Fix log repeated logging during open
 6299     
 6300     The log "posix set mdata failed, No ctime" logged repeatedly
 6301     after the fix [1]. Those could be internal fops. This patch
 6302     fixes the same.
 6303     
 6304     [1] https://review.gluster.org/22540
 6305     
 6306     fixes: bz#1701457
 6307     Change-Id: I42799a90b976982cedb0ca11fa224d555eb05650
 6308     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 6309 
 6310 commit d8eadde7d498939c746ea8ddd9dc70a1029b4070
 6311 Author: Xavi Hernandez <xhernandez@redhat.com>
 6312 Date:   Tue Mar 5 18:58:20 2019 +0100
 6313 
 6314     core: avoid dynamic TLS allocation when possible
 6315     
 6316     Some interdependencies between logging and memory management functions
 6317     make it impossible to use the logging framework before initializing
 6318     memory subsystem because they both depend on Thread Local Storage
 6319     allocated through pthread_key_create() during initialization.
 6320     
 6321     This causes a crash when we try to log something very early in the
 6322     initialization phase.
 6323     
 6324     To prevent this, several dynamically allocated TLS structures have
 6325     been replaced by static TLS reserved at compile time using '__thread'
 6326     keyword. This also reduces the number of error sources, making
 6327     initialization simpler.
 6328     
 6329     Updates: bz#1193929
 6330     Change-Id: I8ea2e072411e30790d50084b6b7e909c7bb01d50
 6331     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 6332 
 6333 commit 87ae36774a0e5a8af9330cf651d93f5cc84cb515
 6334 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 6335 Date:   Tue Apr 23 13:03:28 2019 +0530
 6336 
 6337     glusterd/shd: Keep a ref on volinfo until attach rpc execute cbk
 6338     
 6339     When svc attach execute for multiplexing a daemon, we have to keep
 6340     a ref on volinfo until it finish the execution. Because, if the attach
 6341     is an aysnc call, then a parallel volume delete can lead to free the
 6342     volinfo
 6343     
 6344     Change-Id: Ibc02b89557baaed2f63db63d7fb1a7480444ae0d
 6345     fixes: bz#1702185
 6346     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 6347 
 6348 commit 17992b69ccc729d59241ceff2aa480d1976e02fc
 6349 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 6350 Date:   Mon Apr 1 09:03:12 2019 -0400
 6351 
 6352     build: conditional rpcbind for gnfs in glusterd.service
 6353     
 6354     Don't Require: rpcbind in glusterd.service when gnfs isn't built
 6355     
 6356     Also add .../gluster-ta-volume.service to .gitignore
 6357     
 6358     See https://github.com/gluster/glusterfs/issues/647
 6359     
 6360     Change-Id: I4d90cf66b12c378c0a9aace89a3a4bbf3784c284
 6361     Fixes: #647
 6362     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 6363 
 6364 commit 4f0db1373be93e05b6fc451d2f07514704d3c4ca
 6365 Author: Xavi Hernandez <xhernandez@redhat.com>
 6366 Date:   Fri Apr 12 17:54:44 2019 +0200
 6367 
 6368     cluster/ec: fix fd reopen
 6369     
 6370     Currently EC tries to reopen fd's that have been opened while a brick
 6371     was down. This is done as part of regular write operations, just after
 6372     having acquired the locks, and it's sent as a sub-fop of the main write
 6373     fop.
 6374     
 6375     There were two problems:
 6376     
 6377     1. The reopen was attempted on all UP bricks, even if a previous lock
 6378     didn't succeed. This is incorrect because most probably the open will
 6379     fail.
 6380     
 6381     2. If reopen is sent and fails, the error is propagated to the main
 6382     operation, causing it to fail when it shouldn't.
 6383     
 6384     To fix this, we only attempt reopens on bricks where the current fop
 6385     owns a lock, and we prevent any error to be propagated to the main
 6386     fop.
 6387     
 6388     To implement this behaviour an argument used to indicate the minimum
 6389     number of required answers has overloaded to also include some flags. To
 6390     make the change consistent, it has been necessary to rename the
 6391     argument, which means that a lot of files have been changed. However
 6392     there are no functional changes.
 6393     
 6394     This change has also uncovered a problem in discard code, which didn't
 6395     correctely process requests of small sizes because no real discard fop
 6396     was being processed, only a write of 0's on some region. In this case
 6397     some fields of the fop remained uninitialized or with incorrect values.
 6398     To fix this, a new function has been created to simulate success on a
 6399     fop and it's used in the discard case.
 6400     
 6401     Thanks to Pranith for providing a test script that has also detected an
 6402     issue in this patch. This patch includes a small modification of this
 6403     script to force data to be written into bricks before stopping them.
 6404     
 6405     Change-Id: If272343873369186c2fb8f43c1d9c52c3ea304ec
 6406     Fixes: bz#1699866
 6407     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 6408 
 6409 commit 132f03a0b77980b25a8b499ad1fe1e4ab2aee40e
 6410 Author: Susant Palai <spalai@redhat.com>
 6411 Date:   Mon Apr 22 21:18:30 2019 +0530
 6412 
 6413     core: fix hang issue in __gf_free
 6414     
 6415     Currently GF_ASSERT is done under mem_accounting lock at some places.
 6416     On a GF_ASSERT failure, gf_msg_callingfn is called which calls gf_malloc
 6417     internally and it takes the same mem_accounting lock leading to deadlock.
 6418     
 6419     This is a temporary fix to avoid any hang issue in master.
 6420     https://review.gluster.org/#/c/glusterfs/+/22589/ is being worked on
 6421     in the mean while so that GF_ASSERT can be used under mem_accounting
 6422     lock.
 6423     
 6424     Change-Id: I6d67f23979e7edd2695bdc6aab2997dae4a4060a
 6425     updates: bz#1700865
 6426     Signed-off-by: Susant Palai <spalai@redhat.com>
 6427 
 6428 commit a0814b96828505441fbb7f1801e751d98f5a1cc0
 6429 Author: Pranith Kumar K <pkarampu@redhat.com>
 6430 Date:   Wed Apr 17 00:16:49 2019 +0530
 6431 
 6432     features/sdfs: Assign unique lk-owner for entrylk fop
 6433     
 6434     sdfs is supposed to serialize entry fops by doing entrylk, but all the locks
 6435     are being done with all-zero lk-owner. In essence sdfs doesn't achieve its goal
 6436     of mutual exclusion when conflicting operations are executed by same client
 6437     because two locks on same entry with same all-zero-owner will get locks.
 6438     
 6439     Fixed this up by assigning lk-owner before taking entrylk
 6440     
 6441     updates bz#1624701
 6442     Change-Id: Ifabfc998c9f1724915d38e90ed8287e05797d769
 6443     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 6444 
 6445 commit d9bfccc8425befa5d13058b5f5352598a2085161
 6446 Author: Pranith Kumar K <pkarampu@redhat.com>
 6447 Date:   Wed Apr 17 13:58:21 2019 +0530
 6448 
 6449     cluster/afr: Set lk-owner before inodelk/entrylk/lk
 6450     
 6451     Updates: bz#1624701
 6452     Change-Id: I7152c28ad85925abccdcc4cd6de8cb2a2b847a51
 6453     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 6454 
 6455 commit 119b4e6371f20d20b74ba854d463f827de0609c2
 6456 Author: rishubhjain <rishubhjain47@gmail.com>
 6457 Date:   Mon Apr 8 20:20:12 2019 +0530
 6458 
 6459     GlusterD:Checking for null value to void explicit dereferencing of null pointer
 6460     
 6461     Before calling strtok_r a check for null pointer is necessary to avoid
 6462     dereferencing of null pointer
 6463     
 6464     CID:1398617
 6465     CID:1274074
 6466     
 6467     Change-Id: I34956c6e04af1faa22d550e6474909ecd36f5d6c
 6468     updates: bz#789278
 6469     Signed-off-by: rishubhjain <rishubhjain47@gmail.com>
 6470 
 6471 commit b0fce72477d56eeca616ab089756eab4f4b4bf8e
 6472 Author: Xavi Hernandez <xhernandez@redhat.com>
 6473 Date:   Fri Apr 12 13:40:59 2019 +0200
 6474 
 6475     core: handle memory accounting correctly
 6476     
 6477     When a translator stops, memory accounting for that translator is not
 6478     destroyed (because there could remain memory allocated that references
 6479     it), but mutexes that coordinate updates of memory accounting were
 6480     destroyed. This caused incorrect memory accounting and even crashes in
 6481     debug mode.
 6482     
 6483     This patch also fixes some other things:
 6484     
 6485     * Reduce the number of atomic operations needed to manage memory
 6486       accounting.
 6487     * Correctly account memory when realloc() is used.
 6488     * Merge two critical sections into one.
 6489     * Cleaned the code a bit.
 6490     
 6491     Change-Id: Id5eaee7338729b9bc52c931815ca3ff1e5a7dcc8
 6492     Updates: bz#1659334
 6493     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 6494 
 6495 commit 02a7a9ef1c0703990d6333b8b800a36da04c9f3e
 6496 Author: Xavi Hernandez <xhernandez@redhat.com>
 6497 Date:   Wed Apr 17 08:58:57 2019 +0200
 6498 
 6499     features/locks: fix coverity issues
 6500     
 6501     This patch fixes the following NULL dereferences identified by Coverity:
 6502     
 6503       * CID 1398619
 6504       * CID 1398621
 6505       * CID 1398623
 6506       * CID 1398625
 6507       * CID 1398626
 6508     
 6509     Change-Id: Id6af0d7cba0bb3346005376bc27180e8476255a4
 6510     Updates: bz#789278
 6511     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 6512 
 6513 commit 1ad201a9fd6748d7ef49fb073fcfe8c6858d557d
 6514 Author: Milan Zink <mzink@redhat.com>
 6515 Date:   Mon Feb 5 15:04:37 2018 +0100
 6516 
 6517     extras/hooks: syntactical errors in SELinux hooks, scipt logic improved
 6518     
 6519     Fixes: bz#1542072
 6520     Change-Id: Ia5fa1df81bbaec3a84653d136a331c76b457f42c
 6521     Signed-off-by: Milan Zink <zeten30@gmail.com>
 6522 
 6523 commit e97aa3b36627a821af164ab292259b320993495c
 6524 Author: Atin Mukherjee <amukherj@redhat.com>
 6525 Date:   Tue Apr 16 17:20:34 2019 +0530
 6526 
 6527     glusterd: fix loading ctime in client graph logic
 6528     
 6529     Commit efbf8ab wasn't handling all the scenarios of toggling ctime
 6530     option correctly and more over a ! had completely tossed up the logic.
 6531     
 6532     Fixes: bz#1697907
 6533     Change-Id: If12e2f69045e59878992ee2cd0518cc0eabcce0d
 6534     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 6535 
 6536 commit 785f3276d2e325a991b64aed66a326ea95fffef3
 6537 Author: Atin Mukherjee <amukherj@redhat.com>
 6538 Date:   Tue Apr 16 22:14:47 2019 +0530
 6539 
 6540     Revert "features/locks: error-out {inode,entry}lk fops with all-zero lk-owner"
 6541     
 6542     This reverts commit 3883887427a7f2dc458a9773e05f7c8ce8e62301 as it has
 6543     broken sdfs-sanity.t.
 6544     
 6545     Updates: bz#1624701
 6546     Change-Id: Icb2b0d6bfcce4d556f1cd0f11695c03ffc138736
 6547     Signed-off-by: Atin Mukherjee  <amukherj@redhat.com>
 6548 
 6549 commit b922793588ad23a9b12ce65abd29e8f45ac87998
 6550 Author: Raghavendra Bhat <raghavendra@redhat.com>
 6551 Date:   Mon Apr 15 14:09:34 2019 -0400
 6552 
 6553     features/bit-rot-stub: clean the mutex after cancelling the signer thread
 6554     
 6555     When bit-rot feature is disabled, the signer thread from the bit-rot-stub
 6556     xlator (the thread which performs the setxattr of the signature on to the
 6557     disk) is cancelled. But, if the cancelled signer thread had already held
 6558     the mutex (&priv->lock) which it uses to monitor the queue of files to
 6559     be signed, then the mutex is never released. This creates problems in
 6560     future when the feature is enabled again. Both the new instance of the
 6561     signer thread and the regular thread which enqueues the files to be
 6562     signed will be blocked on this mutex.
 6563     
 6564     So, as part of cancelling the signer thread, unlock the mutex associated
 6565     with it as well using pthread_cleanup_push and pthread_cleanup_pop.
 6566     
 6567     Change-Id: Ib761910caed90b268e69794ddeb108165487af40
 6568     updates: bz#1700078
 6569     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 6570 
 6571 commit e5ff6cc397e7a23dff4024efb6806cb004a89ee6
 6572 Author: Atin Mukherjee <amukherj@redhat.com>
 6573 Date:   Tue Apr 16 08:46:21 2019 +0530
 6574 
 6575     glusterd: fix op-version of glusterd.vol_count_per_thread
 6576     
 6577     It was hardcoded and with a wrong value.
 6578     
 6579     Fixes: bz#1699339
 6580     Change-Id: Ibabe2424a0d35e172a9259bd8849c9bb7cebff1e
 6581     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 6582 
 6583 commit b3a6d4e32ec5826ce4e389030b99d7b08274ed29
 6584 Author: Pranith Kumar K <pkarampu@redhat.com>
 6585 Date:   Tue Apr 16 14:19:47 2019 +0530
 6586 
 6587     tests: Heal should fail when read/write fails
 6588     
 6589     updates: bz#1699866
 6590     Change-Id: I7ccd1fc5fc134eeb6d443c755962a20819320d48
 6591     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 6592 
 6593 commit 3883887427a7f2dc458a9773e05f7c8ce8e62301
 6594 Author: Pranith Kumar K <pkarampu@redhat.com>
 6595 Date:   Mon Apr 1 11:14:56 2019 +0530
 6596 
 6597     features/locks: error-out {inode,entry}lk fops with all-zero lk-owner
 6598     
 6599     Problem:
 6600     Sometimes we find that developers forget to assign lk-owner for an
 6601     inodelk/entrylk/lk before writing code to wind these fops. locks
 6602     xlator at the moment allows this operation. This leads to multiple
 6603     threads in the same client being able to get locks on the inode
 6604     because lk-owner is same and transport is same. So isolation
 6605     with locks can't be achieved.
 6606     
 6607     Fix:
 6608     Disallow locks with lk-owner zero.
 6609     
 6610     fixes bz#1624701
 6611     Change-Id: I1c816280cffd150ebb392e3dcd4d21007cdd767f
 6612     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 6613 
 6614 commit 26a19d9da3ab5604db02d4ca02ce868fb57193a4
 6615 Author: Mohit Agrawal <moagrawal@redhat.com>
 6616 Date:   Fri Mar 29 11:48:32 2019 +0530
 6617 
 6618     glusterd: Optimize glusterd handshaking code path
 6619     
 6620     Problem: At the time of handshaking glusterd populate volume
 6621              data in a dictionary.While no. of volumes are configured
 6622              more than 1500 glusterd takes more than 10 min to generated
 6623              the data.Due to taking more time rpc request times out and
 6624              rpc start bailing of call frames.
 6625     
 6626     Solution: To optimize the code done below changes
 6627               1) Spawn multiple threads to populate volumes data in bulk
 6628                  in separate dictionary and introduce an option
 6629                  glusterd.brick-dict-thread-count to configure no. of threads
 6630                  to populate volume data.
 6631               2) Populate tier data only while volume type is tier
 6632               3) Compare snap data only while snap_count is non zero
 6633     
 6634     Fixes: bz#1699339
 6635     Change-Id: I38dc71970c049217f9d1a06fc0aaf4c26eab18f5
 6636     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 6637 
 6638 commit f316c8b797283818bd800569771870a4b9bf1310
 6639 Author: Sunny Kumar <sunkumar@redhat.com>
 6640 Date:   Fri Apr 12 19:55:10 2019 +0530
 6641 
 6642     libgfchangelog : use find_library to locate shared library
 6643     
 6644     Issue:
 6645     
 6646     libgfchangelog.so: cannot open shared object file
 6647     
 6648     Due to hardcoded shared library name runtime loader looks for particular version of
 6649     a shared library.
 6650     
 6651     Solution:
 6652     
 6653     Using find_library to locate shared library at runtime solves this issue.
 6654     
 6655     Traceback (most recent call last):
 6656       File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py", line 323, in main
 6657         func(args)
 6658       File "/usr/libexec/glusterfs/python/syncdaemon/subcmds.py", line 82, in subcmd_worker
 6659         local.service_loop(remote)
 6660       File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 1261, in service_loop
 6661         changelog_agent.init()
 6662       File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 233, in __call__
 6663         return self.ins(self.meth, *a)
 6664       File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 215, in __call__
 6665         raise res
 6666     OSError: libgfchangelog.so: cannot open shared object file: No such file or directory
 6667     
 6668     Change-Id: I3dd013d701ed1cd99ba7ef20d1898f343e1db8f5
 6669     fixes: bz#1699394
 6670     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 6671 
 6672 commit c27eee869f319fa2afbce31f1ab332d381015256
 6673 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 6674 Date:   Fri Apr 5 12:33:55 2019 +0530
 6675 
 6676     shd/mux: Fix coverity issues introduced by shd mux patch
 6677     
 6678     CID 1400475:  Null pointer dereferences  (FORWARD_NULL)
 6679     CID 1400474:  Null pointer dereferences  (FORWARD_NULL)
 6680     CID 1400471:  Code maintainability issues  (UNUSED_VALUE)
 6681     CID 1400470:  Null pointer dereferences  (FORWARD_NULL)
 6682     CID 1400469:  Memory - illegal accesses  (USE_AFTER_FREE)
 6683     CID 1400467:  Code maintainability issues  (UNUSED_VALUE)
 6684     
 6685     Change-Id: I0ca1c733be335c6e5844f44850f8066626ac40d4
 6686     updates: bz#789278
 6687     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 6688 
 6689 commit 8239efc76b56f1f4ce16bab263f7b355d8205820
 6690 Author: Pranith Kumar K <pkarampu@redhat.com>
 6691 Date:   Thu Apr 4 15:31:56 2019 +0530
 6692 
 6693     cluster/afr: Remove local from owners_list on failure of lock-acquisition
 6694     
 6695     When eager-lock lock acquisition fails because of say network failures, the
 6696     local is not being removed from owners_list, this leads to accumulation of
 6697     waiting frames and the application will hang because the waiting frames are
 6698     under the assumption that another transaction is in the process of acquiring
 6699     lock because owner-list is not empty. Handled this case as well in this patch.
 6700     Added asserts to make it easier to find these problems in future.
 6701     
 6702     fixes bz#1696599
 6703     Change-Id: I3101393265e9827755725b1f2d94a93d8709e923
 6704     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 6705 
 6706 commit 798aadbe51a9a02dd98a0f861cc239ecf7c8ed57
 6707 Author: Mohit Agrawal <moagrawal@redhat.com>
 6708 Date:   Thu Apr 4 09:56:11 2019 +0530
 6709 
 6710     core: Log level changes do not effect on running client process
 6711     
 6712     Problem: commit c34e4161f3cb6539ec83a9020f3d27eb4759a975 set log-level
 6713              per xlator during reconfigure only for a brick process not for
 6714              the client process.
 6715     
 6716     Solution: 1) Change per xlator log-level only if brick_mux is enabled.To make sure
 6717                  about brick multiplex introudce a flag brick_mux at ctx->cmd_args.
 6718     
 6719     Note: There are two other changes done with this patch
 6720           1) Ignore client-log-level option to attach a brick with
 6721              already running brick if brick_mux is enabled
 6722           2) Add a log to print pid of the running process to make easier
 6723              debugging
 6724     
 6725     Change-Id: I39e85de778e150d0685cd9a79425ce8b4783f9c9
 6726     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 6727     Fixes: bz#1696046
 6728 
 6729 commit a67929e18a39d5c79a4a7e2b78015523626a367e
 6730 Author: Yaniv Kaul <ykaul@redhat.com>
 6731 Date:   Mon Mar 25 19:07:16 2019 +0200
 6732 
 6733     graph.c: remove extra gettimeofday() - reuse the graph dob.
 6734     
 6735     It was written just before fill_void() call.
 6736     
 6737     Note that there was a possible overflow if the hostname was too long
 6738     (unrelated to this patch), but it is now also fixed, as we use a smaller buffer
 6739     for the hostname. This, in turn, forces us to check if gethostname() failed
 6740     and add explicitly the terminating null to it.
 6741     
 6742     Change-Id: I45fbc0a8e105f1247f3cbf61befac06fabbaea06
 6743     updates: bz#1193929
 6744     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 6745 
 6746 commit c56f102da21c5b69e656a055aaf736281596284d
 6747 Author: Kotresh HR <khiremat@redhat.com>
 6748 Date:   Tue Apr 9 18:23:05 2019 +0530
 6749 
 6750     posix/ctime: Fix stat(time attributes) inconsistency during readdirp
 6751     
 6752     Problem:
 6753        Creation of tar file on gluster volume throws warning
 6754     'file changed as we read it'
 6755     
 6756     Cause:
 6757        During readdirp, for few of the files whose inode is not
 6758     present, time attributes were served from backend. This caused
 6759     the ctime of few files to be different between before readdir
 6760     and after readdir by tar.
 6761     
 6762     Solution:
 6763       If ctime feature is enabled and inode is not present, don't
 6764     serve the time attributes from backend file, serve it from xattr.
 6765     
 6766     fixes: bz#1698078
 6767     Change-Id: I427ef865f97399475faf5aa6ca495f7e317603ae
 6768     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 6769 
 6770 commit bcd1207fcd8e7cc278971e16a781bca3c1606969
 6771 Author: Amar Tumballi <amarts@redhat.com>
 6772 Date:   Mon Apr 1 10:33:37 2019 +0530
 6773 
 6774     marker-quota: remove dead code
 6775     
 6776     also make minor changes for signature (int -> void) where return value
 6777     was not checked anywhere.
 6778     
 6779     updates: bz#1693692
 6780     Change-Id: Iff117712eb65e0b6b8b441a779202a117fcdf1fb
 6781     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 6782 
 6783 commit b777d83001d8006420b6c7d2d88fe68950aa7e00
 6784 Author: Mohit Agrawal <moagrawal@redhat.com>
 6785 Date:   Thu Apr 11 20:38:53 2019 +0530
 6786 
 6787     core: Brick is not able to detach successfully in brick_mux environment
 6788     
 6789     Problem: In brick_mux environment, while volumes are stopped in a
 6790              loop bricks are not detached successfully. Brick's are not
 6791              detached because xprtrefcnt has not become 0 for detached brick.
 6792              At the time of initiating brick detach process server_notify
 6793              saves xprtrefcnt on detach brick and once counter has become
 6794              0 then server_rpc_notify spawn a server_graph_janitor_threads
 6795              for cleanup brick resources.xprtrefcnt has not become 0 because
 6796              socket framework is not working due to assigning 0 as a fd for socket.
 6797              In commit dc25d2c1eeace91669052e3cecc083896e7329b2
 6798              there was a change in changelog fini to close htime_fd if htime_fd is not
 6799              negative, by default htime_fd is 0 so it close 0 also.
 6800     
 6801     Solution: Initialize htime_fd to -1 after just allocate changelog_priv
 6802               by GF_CALLOC
 6803     
 6804     Fixes: bz#1699025
 6805     Change-Id: I5f7ca62a0eb1c0510c3e9b880d6ab8af8d736a25
 6806     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 6807 
 6808 commit e87423a826aa4d17c8638b829da7813e41e1a2fd
 6809 Author: Yaniv Kaul <ykaul@redhat.com>
 6810 Date:   Tue Apr 9 20:51:21 2019 +0300
 6811 
 6812     glusterd-volgen.c: skip fetching some vol settings in a bricks loop.
 6813     
 6814     The values are per volume, and are not going to change
 6815     while processing its bricks, as far as I can understand the code.
 6816     Fetch them and store them outside the loop.
 6817     
 6818     updates: bz#1193929
 6819     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 6820     
 6821     Change-Id: I2bc263f92f9141ea26a9dfb8265225f38307cbac
 6822 
 6823 commit c261eb6c1fa41b6a0eadabbb3a2f64dc194ec254
 6824 Author: Vijay Bellur <vbellur@redhat.com>
 6825 Date:   Wed Feb 27 16:02:43 2019 -0800
 6826 
 6827     Replace memdup() with gf_memdup()
 6828     
 6829     memdup() and gf_memdup() have the same implementation. Removed one API
 6830     as the presence of both can be confusing.
 6831     
 6832     Change-Id: I562130c668457e13e4288e592792872d2e49887e
 6833     updates: bz#1193929
 6834     Signed-off-by: Vijay Bellur <vbellur@redhat.com>
 6835 
 6836 commit 0e1223491e964096384edfae5032ed0d50d028ad
 6837 Author: Kinglong Mee <kinglongmee@gmail.com>
 6838 Date:   Fri Apr 12 11:35:55 2019 +0800
 6839 
 6840     ec: fix truncate lock to cover the write in tuncate clean
 6841     
 6842     ec_truncate_clean does writing under the lock granted for truncate,
 6843     but the lock is calculated by ec_adjust_offset_up, so that,
 6844     the write in ec_truncate_clean is out of lock.
 6845     
 6846     Updates: bz#1699189
 6847     Change-Id: Idbe1fd48d26afe49c36b77db9f12e0907f5a4134
 6848     Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
 6849 
 6850 commit 3140f7d8663da3879be7974e40407d817c570e90
 6851 Author: N Balachandran <nbalacha@redhat.com>
 6852 Date:   Thu Apr 11 12:12:12 2019 +0530
 6853 
 6854     tests/dht: Test that lookups are sent post brick up
 6855     
 6856     Change-Id: I3556793c5e9d58cc6a08644b41dc5740fab2610b
 6857     updates: bz#1628194
 6858     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 6859 
 6860 commit 2589658c7cd967d977fc4f8541379ee2f40eb2fa
 6861 Author: karthik-us <ksubrahm@redhat.com>
 6862 Date:   Mon Mar 18 11:57:28 2019 +0530
 6863 
 6864     cluster/afr: Thin-arbiter SHD fixes
 6865     
 6866     This patch address post-merge review comments for commit
 6867     5784a00f997212d34bd52b2303e20c097240d91c
 6868     
 6869     Change-Id: I7ed954664a2ae8e1091d23ee3ceb9c66e83bfeac
 6870     fixes: bz#1697930
 6871     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 6872 
 6873 commit a1ce2910522335c2fffaebd941c4aaf861ef04fa
 6874 Author: Mohit Agrawal <moagrawa@redhat.com>
 6875 Date:   Mon Apr 8 19:18:51 2019 +0530
 6876 
 6877     test: Change glustershd_pid update in .t file
 6878     
 6879     Problem: bug-1650403.t && bug-858215.t are throwing error
 6880              at the time of access glustershd pidfile
 6881     
 6882     Solution: Use ps command to findout glustershd pid
 6883     
 6884     Change-Id: I3477345b6220aa039e012e674cba21d741e9abab
 6885     fixes: bz#1697486
 6886     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
 6887 
 6888 commit d08144b64642bf05fdee538b2992278a012737d4
 6889 Author: Sanju Rakonde <srakonde@redhat.com>
 6890 Date:   Thu Apr 11 18:13:31 2019 +0530
 6891 
 6892     glusterd: display an error when rebalance start is failed
 6893     
 6894     fixes: bz#1699176
 6895     credits: Hari Gowtham <hgowtham@redhat.com>
 6896     
 6897     Change-Id: I59134336febf0dc4043483f2f413ac83e3bc79f5
 6898     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 6899 
 6900 commit cec63a35289e5ee3f3bae8d318350e3f5082325c
 6901 Author: Amar Tumballi <amarts@redhat.com>
 6902 Date:   Wed Apr 3 16:49:19 2019 +0530
 6903 
 6904     tests: make sure to traverse all of meta dir
 6905     
 6906     Just to make all files will be listed, which means we have max code-coverage
 6907     
 6908     updates: bz#1693692
 6909     Change-Id: I11d36ac2f4d6d4fb91223aacd423ad23242eb454
 6910     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 6911 
 6912 commit 7108913337f24d3d7a39d919a29872fe50072cf4
 6913 Author: Atin Mukherjee <amukherj@redhat.com>
 6914 Date:   Mon Apr 8 18:54:46 2019 +0530
 6915 
 6916     glusterd: remove glusterd_check_volume_exists() call
 6917     
 6918     As the same functionality is covered in glusterd_volinfo_find
 6919     
 6920     Updates: bz#1193929
 6921     Change-Id: I2308c5fa9b2ca9edaa95f172d0bd914103808c36
 6922     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 6923 
 6924 commit 35dd17e222fe172866e15824e5ac9d242382178c
 6925 Author: Sanju Rakonde <srakonde@redhat.com>
 6926 Date:   Tue Apr 9 13:56:24 2019 +0530
 6927 
 6928     glusterd: provide a way to detach failed node
 6929     
 6930     When a gluster node in trusted storage pool has failed
 6931     due to hardware issues, volume delete operation fails
 6932     saying "Not all peers are up" and peer detach for failed
 6933     node fails saying "Brick(s) with peer <peer_ip> exists
 6934     in cluster".
 6935     
 6936     The idea here is to use either replace-brick or remove-brick
 6937     command to remove all the bricks hosted by failed node and
 6938     then re-attempting the peer detach. This change adds this
 6939     trick in peer detach error message.
 6940     
 6941     fixes: bz#1697866
 6942     
 6943     Change-Id: I0c58887479d31db603ad8d6535ea9d547880ccc8
 6944     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 6945 
 6946 commit 4bae0b170d5b4fafe4327b8263c1895316ba3696
 6947 Author: Niels de Vos <ndevos@redhat.com>
 6948 Date:   Mon Apr 8 12:14:34 2019 +0200
 6949 
 6950     core: only log seek errors if SEEK_HOLE/SEEK_DATA is available
 6951     
 6952     On RHEL-6 there is no support for SEEK_HOLE/SEEK_DATA and this causes
 6953     the POSIX xlator to return errno=EINVAL. Because of this, the rpc-server
 6954     xlator will log all 'failed' seek attempts. When applications call
 6955     seek() often, the brick logs can grow very quickly and fill up the
 6956     disks.
 6957     
 6958     Messages that get logged are like
 6959     [server-rpc-fops.c:2091:server_seek_cbk] 0-vol01-server: 4947: SEEK-2 (53920aee-062c-4598-aa50-2b4d7821b204), client: worker.example.com-7808-2019/02/08-18:04:57:903430-vol01-client-0-0-0, error-xlator: vol01-posix [Invalid argument]
 6960     
 6961     The problem can be reproduced by running a Gluster Server on RHEL-6,
 6962     with a client running on RHEL-7. The client should execute an
 6963     application that calls lseek() with SEEK_HOLE/SEEK_DATA.
 6964     
 6965     Change-Id: I7b6c16f8e0ba1a183e845cfdb8d5a3f8caeab138
 6966     Fixes: bz#1697316
 6967     Signed-off-by: Niels de Vos <ndevos@redhat.com>
 6968 
 6969 commit 0496523d3c1ac874eeecbb0ecb6516d88438d3c9
 6970 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 6971 Date:   Mon Apr 1 14:44:20 2019 +0530
 6972 
 6973     client/fini: return fini after rpc cleanup
 6974     
 6975     There is a race condition in rpc_transport later
 6976     and client fini.
 6977     
 6978     Sequence of events to happen the race condition
 6979     1) When we want to destroy a graph, we send a parent down
 6980        event first
 6981     2) Once parent down received on a client xlator, we will
 6982        initiates a rpc disconnect
 6983     3) This will in turn generates a child down event.
 6984     4) When we process child down, we first do fini for
 6985        Every xlator
 6986     5) On successful return of fini, we delete the graph
 6987     
 6988     Here after the step 5, there is a chance that the fini
 6989     on client might not be finished. Because an rpc_tranpsort
 6990     ref can race with the above sequence.
 6991     
 6992     So we have to wait till all rpc's are successfully freed
 6993     before returning the fini from client
 6994     
 6995     Change-Id: I20145662d71fb837e448a4d3210d1fcb2855f2d4
 6996     fixes: bz#1659708
 6997     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 6998 
 6999 commit d82640511f51a79db6dabea8599c805028fefafb
 7000 Author: Anuradha Talur <atalur@commvault.com>
 7001 Date:   Thu Nov 29 12:54:21 2018 -0800
 7002 
 7003     features/cloudsync : Added some new functions
 7004     
 7005     This patch contains the following changes:
 7006     1) Store ID info will now be stored in the inode ctx
 7007     2) Added new readv type where read is made directly
 7008        from the remote store. This choice is made by
 7009        volume set operation.
 7010     3) cs_forget() was missing. Added it.
 7011     
 7012     Change-Id: Ie3232b3d7ffb5313a03f011b0553b19793eedfa2
 7013     fixes: bz#1642168
 7014     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 7015 
 7016 commit 734e6a7e389ea309d5528133ed5bd19064799f13
 7017 Author: Xavi Hernandez <xhernandez@redhat.com>
 7018 Date:   Thu Apr 4 22:28:51 2019 +0200
 7019 
 7020     tests: correctly check open fd's when gfid is missing
 7021     
 7022     The helper funcion get_fd_count() returns how many open fd's has a given
 7023     gfid on a brick. It could happen that the brick doesn't have information
 7024     about that inode because it has not been previously accessed.
 7025     
 7026     Before this patch, the function returned "" when the inode was not
 7027     present. This caused basic/ec/ec-fix-openfd.t test to fail because it
 7028     was expecting '0' as the result.
 7029     
 7030     This patch forces get_fd_count() to return '0' when the gfid is not
 7031     present in the state dump.
 7032     
 7033     Change-Id: I848b57744e96656bf81fbb7b126a5faf44e535eb
 7034     updates: bz#1193929
 7035     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 7036 
 7037 commit dc06e4c408187afcc58ebd72386490ad1e58de03
 7038 Author: Anuradha Talur <atalur@commvault.com>
 7039 Date:   Tue Nov 20 13:15:26 2018 -0800
 7040 
 7041     storage/posix: changes with respect to cloudsync
 7042     
 7043     Main changes include logic to update iatt buf
 7044     with file size from extended attributes in posix
 7045     rather than having this logic in cloudsync xlator.
 7046     
 7047     Change-Id: I44f5f8df7a01e496372557fe2f4eff368dbdaa33
 7048     fixes: bz#1642168
 7049     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 7050 
 7051 commit d837b4518c3148752b2eb4d55d22f22c57aa96c2
 7052 Author: Anuradha Talur <atalur@commvault.com>
 7053 Date:   Mon Nov 19 17:57:18 2018 -0800
 7054 
 7055     mgmt/glusterd: Make changes related to cloudsync xlator
 7056     
 7057     1) The placement of cloudsync xlator has been changed
 7058     to make it shard xlator's child. If cloudsync has to
 7059     work with shard in the graph, it needs to be child of shard.
 7060     
 7061     Change-Id: Ib55424fdcb7ce8edae9f19b8a6e3d3ba86c1f0c4
 7062     fixes: bz#1642168
 7063     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 7064 
 7065 commit 22e848f88e2cb9510e82fb4875c182240fff3303
 7066 Author: Amar Tumballi <amarts@redhat.com>
 7067 Date:   Fri Mar 29 08:30:49 2019 +0530
 7068 
 7069     protocol: add an option to force using old-protocol
 7070     
 7071     As protocol implements every fop, and in general a large part of
 7072     the codebase. Considering our regression is run mostly in 1 machine,
 7073     there was no way of forcing the client to use old protocol (while new
 7074     one is available). With this patch, a new 'testing' option is provided
 7075     which forces client to use old protocol if found.
 7076     
 7077     This should help increase the code coverage by at least 10k lines overall.
 7078     
 7079     updates: bz#1693692
 7080     Change-Id: Ie45256f7dea250671b689c72b4b6f25037cef948
 7081     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7082 
 7083 commit 398b53adb281e459281f74a9f96a12ee48da7daa
 7084 Author: Xavi Hernandez <xhernandez@redhat.com>
 7085 Date:   Thu Apr 4 23:57:20 2019 +0200
 7086 
 7087     ec: increase line coverage of ec
 7088     
 7089     Test ec-cpu-extensions.t has been modified so that it uses a bigger
 7090     matrix. This makes use of more functions from ec-code-c.c. Changing
 7091     read-policy to round-robin increases even more the functions used,
 7092     reaching 100% of line and function coverage for this file.
 7093     
 7094     Change-Id: I26e4d33269cbd67f5d76d862f4cf1e69285e85e1
 7095     updates: bz#1193929
 7096     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 7097 
 7098 commit eeacb402ac465a1981b7b53b9796fa65a40bdde2
 7099 Author: Amar Tumballi <amarts@redhat.com>
 7100 Date:   Fri Mar 29 00:10:15 2019 +0530
 7101 
 7102     tests: add a tests for trace xlator
 7103     
 7104     this test alone covers most of code of trace xlator
 7105     
 7106     updates: bz#1693692
 7107     Change-Id: I287c72ee89bd1c02d992b020d5644e8dac0b77ab
 7108     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7109 
 7110 commit 064aad721c249d63fb89686b32e5d15de50e2f8c
 7111 Author: Mohit Agrawal <moagrawal@redhat.com>
 7112 Date:   Fri Apr 5 09:17:02 2019 +0530
 7113 
 7114     build: glusterfs build is failing on RHEL-6
 7115     
 7116     Problem: glusterfs build is throwing error undefined
 7117              reference to `dlclose' on RHEL 6
 7118     
 7119     Solution: Add LIB_DL link in Makefile.am to resolve the same
 7120     
 7121     Fixes: bz#1696512
 7122     Change-Id: I58019ca9e29d569d8e6df282b8ab178ad540843b
 7123     Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
 7124 
 7125 commit efbf8abcc3bc729a90d4a7b57dc515f1df8a5863
 7126 Author: Atin Mukherjee <amukherj@redhat.com>
 7127 Date:   Tue Apr 9 14:58:29 2019 +0530
 7128 
 7129     glusterd: load ctime in the client graph only if it's not turned off
 7130     
 7131     Considering ctime is a client side feature, we can't blindly load ctime
 7132     xlator into the client graph if it's explicitly turned off, that'd
 7133     result into backward compatibility issue where an old client can't mount
 7134     a volume configured on a server which is having ctime feature.
 7135     
 7136     Fixes: bz#1697907
 7137     Change-Id: I6ae7b96d056073aa6746de9a449cf319786d45cc
 7138     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 7139 
 7140 commit ae097b8ad5c160aed43d82187b623f053adf11b4
 7141 Author: Yaniv Kaul <ykaul@redhat.com>
 7142 Date:   Fri Apr 5 08:59:35 2019 +0300
 7143 
 7144     glusterd-volgen.c: skip fetching skip-CLIOT in a loop.
 7145     
 7146     Its value is not going to change within the loop, as far as I can
 7147     understand the code.
 7148     Fetch and store it outside the loop.
 7149     
 7150     Change-Id: I6327c23212dceec6006349421ef185495892dd8a
 7151     updates: bz#1193929
 7152     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 7153 
 7154 commit 4bd4b0a9437189cef439833a0ed70005db9f8409
 7155 Author: Atin Mukherjee <amukherj@redhat.com>
 7156 Date:   Wed Apr 3 08:27:05 2019 +0530
 7157 
 7158     glusterd: remove redundant glusterd_check_volume_exists () calls
 7159     
 7160     A pattern of following was found in multiple places where both
 7161     glusterd_check_volume_exists and glusterd_volinfo_find do the same job.
 7162     We just need one of them not both. In a scaled environment having many
 7163     volumes this is a bottleneck to iterate over the volume list to find a
 7164     volume twice!
 7165     
 7166         exists = glusterd_check_volume_exists(volname);
 7167         ret = glusterd_volinfo_find(volname, &volinfo);
 7168         if ((ret) || (!exists)) {
 7169     
 7170     Credits: ykaul@redhat.com for finding this out
 7171     
 7172     Updates: bz#1193929
 7173     Change-Id: Ie116fe5c93e261a2bddd267c28ccb20a2884a36f
 7174     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 7175 
 7176 commit 4f6749aa308152dc6350632991a6ae11b8467fb1
 7177 Author: rishubhjain <rishubhjain47@gmail.com>
 7178 Date:   Sat Mar 30 15:46:38 2019 +0530
 7179 
 7180     GlusterD: Resolves the issue of referencing memory after it has been freed
 7181     
 7182     Setting the pointer to NULL after GF_FREE() and checking the pointer value
 7183     before calling GF_FREE() to avoid referencing memory after its has been freed
 7184     
 7185     CID: 1398622
 7186     
 7187     Change-Id: Iba0d8879abccf5923a69132a207d53bb94551417
 7188     updates: bz#789278
 7189     Signed-off-by: rishubhjain <rishubhjain47@gmail.com>
 7190 
 7191 commit 66b32363b203a21c41fa4988b55ca91f99d07d6b
 7192 Author: N Balachandran <nbalacha@redhat.com>
 7193 Date:   Mon Mar 25 15:56:56 2019 +0530
 7194 
 7195     cluster/dht: refactor dht lookup functions
 7196     
 7197     Part 1:  refactor the dht_lookup_dir_cbk
 7198     and dht_selfheal_directory functions.
 7199     Added a simple dht selfheal directory test
 7200     
 7201     Change-Id: I1410c26359e3c14b396adbe751937a52bd2fcff9
 7202     updates: bz#1590385
 7203     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 7204 
 7205 commit 443cb74587c251fecbcdfa119a3620ff01131a36
 7206 Author: Pranith Kumar K <pkarampu@redhat.com>
 7207 Date:   Thu Apr 4 12:23:11 2019 +0530
 7208 
 7209     cluster/afr: Invalidate inode on change of split-brain-choice
 7210     
 7211     When split-brain choice is changed from one brick to another
 7212     brick, inode-invalidate is not called so readv call is served
 7213     from cache leading to failures in split-brain-resolution.t.
 7214     Fixed it by calling inode_invaldate() when this happens.
 7215     
 7216     updates bz#1193929
 7217     Change-Id: I2624614eec38c0303f3e1dc55dfae3d4b864218b
 7218     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 7219 
 7220 commit 0e067fa663dcfdafa093c4a5fa8bdc47eb57cbe0
 7221 Author: Raghavendra Bhat <raghavendra@redhat.com>
 7222 Date:   Tue Apr 2 16:21:51 2019 -0400
 7223 
 7224     tests/bitrot: enable self-heal daemon before accessing the files
 7225     
 7226     For testing the recovery of bad (or corrupted files) in a dispersed
 7227     volume, first enable self-heal daemon and let heal happen.
 7228     
 7229     In bitrot feature, if a file becomes corrupted, the solution recommended
 7230     is to remove that file directly from the backend and then allowing heal
 7231     to happen. Hence turn on self-heal daemon and allow the heal to happen
 7232     after removing corrupted copy from the backend.
 7233     
 7234     Change-Id: I7186110398ec1aee7e5727b9d1aac9a01db4d831
 7235     fixes: bz#1695327
 7236     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 7237 
 7238 commit da47caf2405c08c9abafc4a55525a8b2c2dd5bb8
 7239 Author: Ashish Pandey <aspandey@redhat.com>
 7240 Date:   Mon Mar 18 12:54:54 2019 +0530
 7241 
 7242     cluster/ec: Fix handling of heal info cases without locks
 7243     
 7244     When we use heal info command, it takes lot of time as in
 7245     some cases it takes lock on entries to find out if the
 7246     entry actually needs heal or not.
 7247     
 7248     There are some cases where we can avoid these locks and
 7249     can conclude if the entry needs heal or not.
 7250     
 7251     1 - We do a lookup (without lock) on an entry, which we found in
 7252     .glusterfs/indices/xattrop, and find that lock count is
 7253     zero. Now if the file contains dirty bit set on all or any
 7254     brick, we can say that this entry needs heal.
 7255     
 7256     2 - If the lock count is one and dirty is greater than 1,
 7257     then it also means that some fop had left the dirty bit set
 7258     which made the dirty count of current fop (which has taken lock)
 7259     more than one. At this point also we can definitely say that
 7260     this entry needs heal.
 7261     
 7262     This patch is modifying code to take into consideration above two
 7263     points.
 7264     It is also changing code to not to call ec_heal_inspect if ec_heal_do
 7265     was called from client side heal. Client side heal triggeres heal
 7266     only when it is sure that it requires heal.
 7267     
 7268     [We have changed the code to not to call heal for lookup]
 7269     
 7270     updates bz#1689799
 7271     Change-Id: I7f09f0ecd12f65a353297aefd57026fd2bebdf9c
 7272     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
 7273 
 7274 commit 1a59cf8c6354ad970edc96f7b74a834672ab2df6
 7275 Author: Anuradha Talur <atalur@commvault.com>
 7276 Date:   Thu Oct 25 17:23:10 2018 -0400
 7277 
 7278     libglusterfs: define macros needed for cloudsync
 7279     
 7280     Change-Id: Iec5ce7f17fbf899f881a58cd20c4c967e3b71668
 7281     fixes: bz#1642168
 7282     Signed-off-by: Anuradha Talur <atalur@commvault.com>
 7283 
 7284 commit d8233cbe529e22f920ea0485ed55d99384642155
 7285 Author: Amar Tumballi <amarts@redhat.com>
 7286 Date:   Thu Mar 28 22:07:34 2019 +0530
 7287 
 7288     sdfs: enable pass-through
 7289     
 7290     we have 'sdfs-sanity.t' which covers at least 90% of the functions
 7291     and 70% of lines in the translator. But the recent changes to
 7292     disable it due to performance impact made even the test to not
 7293     consider the translator.
 7294     
 7295     updates: bz#1693692
 7296     Change-Id: I0ebcb307c4ab48a6e59ded27bf39f72ce2304ebc
 7297     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7298 
 7299 commit 024cafea8965086267645be0eae86bcdf5a5d106
 7300 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 7301 Date:   Thu Mar 28 09:36:33 2019 -0400
 7302 
 7303     rpclib: slow floating point math and libm
 7304     
 7305     In release-6 rpc/rpc-lib (libgfrpc) added the function
 7306     get_rightmost_set_bit() which calls log2(3), a call that takes
 7307     a floating point parameter.
 7308     
 7309     It's used thusly:
 7310         right_most_unset_bit = get_rightmost_set_bit(...);
 7311     
 7312     (So is it really the right-most unset bit, or the right-most set bit?)
 7313     
 7314     It's unclear to me whether this is in the data path or not. If it is,
 7315     it's rather scary to think about integer-to-float conversions and slow
 7316     calls to libm functions in the data path.
 7317     
 7318     gcc and clang have __builtin_ctz() which returns the same result as
 7319     get_rightmost_set_bit(), and does it substantially faster. Approx
 7320     20M iterations of get_rightmost_set_bit() took ~33sec of wall clock
 7321     time on my devel machine, while 20M iterations of __builtin_ctz()
 7322     took < 9sec; get_rightmost_set_bit() is 3x slower than __builtin_ctz().
 7323     
 7324     And as a side benefit, we can again eliminate the need to link libgfrpc
 7325     with libm.
 7326     
 7327     Change-Id: If9e7e80874577c52223f8125b385fc930de20699
 7328     updates: bz#1193929
 7329     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 7330 
 7331 commit cada4b432e9373c3ff8423a23c41a455aba4fc4a
 7332 Author: Yaniv Kaul <ykaul@redhat.com>
 7333 Date:   Wed Mar 20 18:10:57 2019 +0200
 7334 
 7335     changelog: remove unused code.
 7336     
 7337     Seems to be unused.
 7338     
 7339     Change-Id: I75eed9641dd030a1fbb1b942a9d818f10a7e1437
 7340     updates: bz#1193929
 7341     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 7342 
 7343 commit e3ef34cc33772e1f05a6a3dbaad2352f6561e5f0
 7344 Author: Amar Tumballi <amarts@redhat.com>
 7345 Date:   Mon Apr 1 09:55:54 2019 +0530
 7346 
 7347     posix-acl: remove default functions, and use library fn instead
 7348     
 7349     this works as a better solution, as we reuse more functions from library.
 7350     
 7351     Also just do write/read on a file when acl is enabled, so we can see
 7352     improvement in code coverage.
 7353     
 7354     updates: bz#1693692
 7355     Change-Id: If3359260c8ec2cf4fcf148fb4b95fdecc922c252
 7356     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7357 
 7358 commit ec1b84300fe267dd12c1e42e7e91905db935f1e2
 7359 Author: Raghavendra G <rgowdapp@redhat.com>
 7360 Date:   Fri Mar 22 10:40:45 2019 +0530
 7361 
 7362     transport/socket: log shutdown msg occasionally
 7363     
 7364     Change-Id: If3fc0884e7e2f45de2d278b98693b7a473220a5f
 7365     Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
 7366     Fixes: bz#1691616
 7367 
 7368 commit 0a827c1da96302661202e46ea43b6e2526a7ac87
 7369 Author: Pranith Kumar K <pkarampu@redhat.com>
 7370 Date:   Mon Apr 1 11:53:57 2019 +0530
 7371 
 7372     cluster/afr: Send inodelk/entrylk with non-zero lk-owner
 7373     
 7374     Found missing assignment of lk-owner for an inodelk/entrylk before winding
 7375     the fops. locks xlator at the moment allows this operation. This leads to
 7376     multiple threads in the same client being able to get locks on the inode
 7377     because lk-owner is same and transport is same. So isolation with locks can't
 7378     be achieved. To fix it, we need locks xlator change which will disallow
 7379     null-lk-owner based inodelk/entrylk/lk. To achieve that we need to first
 7380     fix all the places which do this mistake.
 7381     
 7382     updates bz#1624701
 7383     Change-Id: Ic3431da3f451a1414f1f4fdcfc4cf41e555f69dd
 7384     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 7385 
 7386 commit d0d3e10d44366c68fc153e48b229e72a4aa26e61
 7387 Author: Atin Mukherjee <amukherj@redhat.com>
 7388 Date:   Tue Apr 2 10:45:15 2019 +0530
 7389 
 7390     logging: Fix GF_LOG_OCCASSIONALLY API
 7391     
 7392     GF_LOG_OCCASSIONALLY doesn't log on the first instance rather at every
 7393     42nd iterations which isn't effective as in some cases we might not have
 7394     the code flow hitting the same log for as many as 42 times and we'd end
 7395     up suppressing the log.
 7396     
 7397     Fixes: bz#1694925
 7398     Change-Id: Iee293281d25a652b64df111d59b13de4efce06fa
 7399     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 7400 
 7401 commit dfa255ae7f2dab4fb3d84c67a0452c5b32455877
 7402 Author: Amar Tumballi <amarts@redhat.com>
 7403 Date:   Fri Mar 29 00:05:47 2019 +0530
 7404 
 7405     tests: add statedump to playground
 7406     
 7407     It helps in increased code coverage of playground.
 7408     
 7409     updates: bz#1693692
 7410     Change-Id: I81bcf30be1450948a6360d8915f06b973387a560
 7411     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7412 
 7413 commit bc3694d7cfc868a2ed6344ea123faf19fce28d13
 7414 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 7415 Date:   Mon Feb 25 10:05:32 2019 +0530
 7416 
 7417     mgmt/shd: Implement multiplexing in self heal daemon
 7418     
 7419     Problem:
 7420     
 7421     Shd daemon is per node, which means they create a graph
 7422     with all volumes on it. While this is a great for utilizing
 7423     resources, it is so good in terms of performance and managebility.
 7424     
 7425     Because self-heal daemons doesn't have capability to automatically
 7426     reconfigure their graphs. So each time when any configurations
 7427     changes happens to the volumes(replicate/disperse), we need to restart
 7428     shd to bring the changes into the graph.
 7429     
 7430     Because of this all on going heal for all other volumes has to be
 7431     stopped in the middle, and need to restart all over again.
 7432     
 7433     Solution:
 7434     
 7435     This changes makes shd as a per volume daemon, so that the graph
 7436     will be generated for each volumes.
 7437     
 7438     When we want to start/reconfigure shd for a volume, we first search
 7439     for an existing shd running on the node, if there is none, we will
 7440     start a new process. If already a daemon is running for shd, then
 7441     we will simply detach a graph for a volume and reatach the updated
 7442     graph for the volume. This won't touch any of the on going operations
 7443     for any other volumes on the shd daemon.
 7444     
 7445     Example of an shd graph when it is per volume
 7446     
 7447                                graph
 7448                          -----------------------
 7449                          |     debug-iostat    |
 7450                          -----------------------
 7451                         /         |             \
 7452                        /          |              \
 7453                   ---------    ---------      ----------
 7454                   | AFR-1 |    | AFR-2 |      |  AFR-3 |
 7455                   --------     ---------      ----------
 7456     
 7457     A running shd daemon with 3 volumes will be like-->
 7458     
 7459                                graph
 7460                          -----------------------
 7461                          |     debug-iostat    |
 7462                          -----------------------
 7463                         /           |           \
 7464                        /            |            \
 7465                   ------------   ------------  ------------
 7466                   | volume-1 |   | volume-2 |  | volume-3 |
 7467                   ------------   ------------  ------------
 7468     
 7469     Change-Id: Idcb2698be3eeb95beaac47125565c93370afbd99
 7470     fixes: bz#1659708
 7471     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 7472 
 7473 commit 92ae26ae8039847e38c738ef98835a14be9d4296
 7474 Author: Pranith Kumar K <pkarampu@redhat.com>
 7475 Date:   Thu Mar 28 17:55:54 2019 +0530
 7476 
 7477     protocol/client: Do not fallback to anon-fd if fd is not open
 7478     
 7479     If an open comes on a file when a brick is down and after the brick comes up,
 7480     a fop comes on the fd, client xlator would still wind the fop on anon-fd
 7481     leading to wrong behavior of the fops in some cases.
 7482     
 7483     Example:
 7484     If lk fop is issued on the fd just after the brick is up in the scenario above,
 7485     lk fop will be sent on anon-fd instead of failing it on that client xlator.
 7486     This lock will never be freed upon close of the fd as flush on anon-fd is
 7487     invalid and is not wound below server xlator.
 7488     
 7489     As a fix, failing the fop unless the fd has FALLBACK_TO_ANON_FD flag.
 7490     
 7491     Change-Id: I77692d056660b2858e323bdabdfe0a381807cccc
 7492     fixes bz#1390914
 7493     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 7494 
 7495 commit 500bd0014128e6727e83b6cb77e8ac94304b8f4a
 7496 Author: Ravishankar N <ravishankar@redhat.com>
 7497 Date:   Thu Mar 7 17:02:36 2019 +0530
 7498 
 7499     afr: thin-arbiter read txn fixes
 7500     
 7501     - Fixes afr_ta_read_txn() to handle inode refresh failures.
 7502     code-path.
 7503     - Fixes a double free issue of dict.
 7504     
 7505     Note: This patch address post-merge review comments for commit
 7506     69532c141be160b3fea03c1579ae4ac13018dcdf
 7507     
 7508     fixes: bz#1686398
 7509     Change-Id: Id5299b45b68569d47df6b73755918237a1592cb4
 7510     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 7511 
 7512 commit c3fb394137769429a296a41160be8284e10d1412
 7513 Author: Amar Tumballi <amarts@redhat.com>
 7514 Date:   Wed Mar 13 08:51:31 2019 +0530
 7515 
 7516     mount.glusterfs: change the error message
 7517     
 7518     In scenarios where a mount fails before creating log file, doesn't
 7519     make sense to give message to 'check log file'. See below:
 7520     
 7521     ```
 7522     ERROR: failed to create logfile "/var/log/glusterfs/mnt.log" (No space left on device)
 7523     ERROR: failed to open logfile /var/log/glusterfs/mnt.log
 7524     Mount failed. Please check the log file for more details.
 7525     ```
 7526     
 7527     Fixes: bz#1688068
 7528     Change-Id: I1d837caa4f9bc9f1a37780783e95007e01ae4e3f
 7529     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7530 
 7531 commit 4a03a71c6171f6e8382664d9d29857d06ef37741
 7532 Author: Soumya Koduri <skoduri@redhat.com>
 7533 Date:   Thu Mar 28 14:59:00 2019 +0530
 7534 
 7535     gfapi: Unblock epoll thread for upcall processing
 7536     
 7537     With commit#ad35193,we have made changes to offload
 7538     processing upcall notifications to synctask so as not
 7539     to block epoll threads. However seems like the issue wasnt
 7540     fully addressed.
 7541     
 7542     In "glfs_cbk_upcall_data" -> "synctask_new1" after creating synctask
 7543     if there is no callback defined, the thread waits on synctask_join
 7544     till the syncfn is finished. So that way even with those changes,
 7545     epoll threads are blocked till the upcalls are processed.
 7546     
 7547     Hence the right fix now is to define a callback function for that
 7548     synctask "glfs_cbk_upcall_syncop" so as to unblock epoll/notify threads
 7549     completely and the upcall processing can happen in parallel by synctask
 7550     threads.
 7551     
 7552     Change-Id: I4d8645e3588fab2c3ca534e0112773aaab68a5dd
 7553     fixes: bz#1693575
 7554     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 7555 
 7556 commit 877af725b3e35b548d6d7aeec5adb21721d8bf8b
 7557 Author: Kotresh HR <khiremat@redhat.com>
 7558 Date:   Thu Mar 28 07:17:16 2019 -0400
 7559 
 7560     geo-rep: Fix syncing multiple rename of symlink
 7561     
 7562     Problem:
 7563     Geo-rep fails to sync rename of symlink if it's
 7564     renamed multiple times if creation and rename
 7565     happened successively
 7566     
 7567     Worker crash at slave:
 7568     Traceback (most recent call last):
 7569       File "/usr/libexec/glusterfs/python/syncdaemon/repce.py",  in worker
 7570         res = getattr(self.obj, rmeth)(*in_data[2:])
 7571       File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", in entry_ops
 7572         [ESTALE, EINVAL, EBUSY])
 7573       File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", in errno_wrap
 7574         return call(*arg)
 7575       File "/usr/libexec/glusterfs/python/syncdaemon/libcxattr.py", in lsetxattr
 7576         cls.raise_oserr()
 7577       File "/usr/libexec/glusterfs/python/syncdaemon/libcxattr.py", in raise_oserr
 7578         raise OSError(errn, os.strerror(errn))
 7579     OSError: [Errno 12] Cannot allocate memory
 7580     
 7581     Geo-rep Behaviour:
 7582     1. SYMLINK doesn't record target path in changelog.
 7583        So while syncing SYMLINK, readlink is done on
 7584        master to get target path.
 7585     
 7586     2. Geo-rep will create destination if source is not
 7587        present while syncing RENAME. Hence while syncing
 7588        RENAME of SYMLINK, target path is collected from
 7589        destination.
 7590     
 7591     Cause:
 7592     If symlink is created and renamed multiple times, creation of
 7593     symlink is ignored, as it's no longer present on master at
 7594     that path. While symlink is renamed multiple times at master,
 7595     when syncing first RENAME of SYMLINK, both source and destination
 7596     is not present, hence target path is not known.  In this case,
 7597     while creating destination directly at slave,  regular file
 7598     attributes were encoded into blob instead of symlink,
 7599     causing failure in gfid-access translator while decoding
 7600     blob.
 7601     
 7602     Solution:
 7603     While syncing of RENAME of SYMLINK, when target is not known
 7604     and when src and destination is not present on the master,
 7605     don't create destination. Ignore the rename. It's ok to ignore.
 7606     If it's unliked, it's fine.  If it's renamed to something else,
 7607     it will be synced then.
 7608     
 7609     Change-Id: Ibdfa495513b7c05b5370ab0b89c69a6802338d87
 7610     fixes: bz#1693648
 7611     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 7612 
 7613 commit 6ae36418834ddcd9f68fe7ef9b09b077cdf68ca3
 7614 Author: Poornima G <pgurusid@redhat.com>
 7615 Date:   Sun Mar 24 09:40:50 2019 +0530
 7616 
 7617     client-rpc: Fix the payload being sent on the wire
 7618     
 7619     The fops allocate 3 kind of payload(buffer) in the client xlator:
 7620     - fop payload, this is the buffer allocated by the write and put fop
 7621     - rsphdr paylod, this is the buffer required by the reply cbk of
 7622       some fops like lookup, readdir.
 7623     - rsp_paylod, this is the buffer required by the reply cbk of fops like
 7624       readv etc.
 7625     
 7626     Currently, in the lookup and readdir fop the rsphdr is sent as payload,
 7627     hence the allocated rsphdr buffer is also sent on the wire, increasing
 7628     the bandwidth consumption on the wire.
 7629     
 7630     With this patch, the issue is fixed.
 7631     
 7632     Fixes: bz#1692093
 7633     Change-Id: Ie8158921f4db319e60ad5f52d851fa5c9d4a269b
 7634     Signed-off-by: Poornima G <pgurusid@redhat.com>
 7635 
 7636 commit 108e4f3481225f98c12f7c283e1ef0388863cf8b
 7637 Author: Pranith Kumar K <pkarampu@redhat.com>
 7638 Date:   Thu Mar 28 11:03:34 2019 +0530
 7639 
 7640     rpc: Remove duplicate code
 7641     
 7642     rpc_clnt_disable() and rpc_clnt_disconnect() have same code.
 7643     Removed rpc_clnt_disconnect() and moved calls to rpc_clnt_disconnect()
 7644     to rpc_clnt_disable()
 7645     
 7646     updates bz#1193929
 7647     Change-Id: I965f57cc1d5af36d266810125558b6f5e5f279d4
 7648     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 7649 
 7650 commit a7110486d048fa379f33ae4e0ba94b5ef3560489
 7651 Author: Zhang Huan <zhanghuan@open-fs.com>
 7652 Date:   Tue Mar 26 10:08:00 2019 +0800
 7653 
 7654     glusterd: fix potential locking issue on peer probe
 7655     
 7656     There are two cases to restart brick, one is when glusterd starts or
 7657     quorum is met, another is when new peers are joined and quorum is
 7658     changes. In the later case, sync_lock is not taken, and may cause lock
 7659     corruption.
 7660     
 7661     Change-Id: I0844e7a631350f5ee00bdacb613602bffffcdf9f
 7662     fixes: bz#1692612
 7663     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
 7664 
 7665 commit c574984e19d59e351372eacce0ce11fb36e96dd4
 7666 Author: Aravinda VK <avishwan@redhat.com>
 7667 Date:   Tue Mar 26 13:20:13 2019 +0530
 7668 
 7669     geo-rep: fix integer config validation
 7670     
 7671     ssh-port validation is mentioned as `validation=int` in template
 7672     `gsyncd.conf`, but not handled this during geo-rep config set.
 7673     
 7674     Fixes: bz#1692666
 7675     Change-Id: I3f19d9b471b0a3327e4d094dfbefcc58ed2c34f6
 7676     Signed-off-by: Aravinda VK <avishwan@redhat.com>
 7677 
 7678 commit 313dcefe7a62bd16cd794040df068f9bec9c6927
 7679 Author: Ashish Pandey <aspandey@redhat.com>
 7680 Date:   Wed Nov 28 11:22:52 2018 +0530
 7681 
 7682     cluster/ec: Don't enqueue an entry if it is already healing
 7683     
 7684     Problem:
 7685     1 - heal-wait-qlength is by default 128. If shd is disabled
 7686     and we need to heal files, client side heal is needed.
 7687     If we access these files that will trigger the heal.
 7688     However, it has been observed that a file will be enqueued
 7689     multiple times in the heal wait queue, which in turn causes
 7690     queue to be filled and prevent other files to be enqueued.
 7691     
 7692     2 - While a file is going through healing and a write fop from
 7693     mount comes on that file, it sends write on all the bricks including
 7694     healing one. At the end it updates version and size on all the
 7695     bricks. However, it does not unset dirty flag on all the bricks,
 7696     even if this write fop was successful on all the bricks.
 7697     After healing completion this dirty flag remain set and never
 7698     gets cleaned up if SHD is disabled.
 7699     
 7700     Solution:
 7701     1 - If an entry is already in queue or going through heal process,
 7702     don't enqueue next client side request to heal the same file.
 7703     
 7704     2 - Unset dirty on all the bricks at the end if fop has succeeded on
 7705     all the bricks even if some of the bricks are going through heal.
 7706     
 7707     Change-Id: Ia61ffe230c6502ce6cb934425d55e2f40dd1a727
 7708     updates: bz#1593224
 7709     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
 7710 
 7711 commit 8016d51a3bbd410b0b927ed66be50a09574b7982
 7712 Author: Ravishankar N <ravishankar@redhat.com>
 7713 Date:   Fri Mar 15 19:31:03 2019 +0530
 7714 
 7715     afr: add client-pid to all gf_event() calls
 7716     
 7717     client-pid for glustershd is GF_CLIENT_PID_SELF_HEALD
 7718     client-pid for glfsheal is GF_CLIENT_PID_GLFS_HEALD
 7719     
 7720     updates: bz#1689250
 7721     Change-Id: Ib3a863af160ff48c822a5e6b0c27c575c9887470
 7722     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 7723 
 7724 commit 08d502c3b05c6f7831bb4cc764bd458b405a99b1
 7725 Author: Ravishankar N <ravishankar@redhat.com>
 7726 Date:   Thu Mar 14 18:41:11 2019 +0530
 7727 
 7728     gfapi: add function to set client-pid
 7729     
 7730     This api offers the ability to set the pid of a client to a particular
 7731     value, identical to how gluster fuse clients provide the --client-pid
 7732     option. This is an internal API to be used by gluster processes only. See
 7733     https://lists.gluster.org/pipermail/gluster-devel/2019-March/055925.html
 7734     for more details. Currently glfsheal is the only proposed consumer.
 7735     
 7736     updates: bz#1689250
 7737     Change-Id: I0620be2127d79d69cdd57cffb29bba44e6e5da1f
 7738     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 7739 
 7740 commit a87038229e26723406e48035519f0e6dfea4e45c
 7741 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 7742 Date:   Thu Mar 21 01:21:13 2019 -0400
 7743 
 7744     build: link libgfrpc with MATH_LIB (libm, -lm)
 7745     
 7746     tl;dnr: libgfrpc.so calls log2(3) from libm; it should be explicitly
 7747     linked with -lm
 7748     
 7749     the autoconf/automake/libtool stack is more or less forgiving on
 7750     different distributions. On forgiving systems libtool will semi-
 7751     magically link with implicit dependencies. But on Ubuntu, which
 7752     seems to be tending toward being less forgiving, the link of libgfrpc
 7753     will fail with an unresolved referencee to log2(3).
 7754     
 7755     Change-Id: I9fae09ddb81e49004fbea4d7d83b95fb64a484b0
 7756     updates: bz#1193929
 7757     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 7758 
 7759 commit c9408e1bbfc4e2a85080bc6410bd2c9cdf259534
 7760 Author: Yaniv Kaul <ykaul@redhat.com>
 7761 Date:   Thu Mar 21 19:51:30 2019 +0200
 7762 
 7763     mem-pool: remove dead code.
 7764     
 7765     Change-Id: I3bbda719027b45e1289db2e6a718627141bcbdc8
 7766     updates: bz#1193929
 7767     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 7768 
 7769 commit 263dc982264f0ef646dbd4977254b39928ae6410
 7770 Author: Pranith Kumar K <pkarampu@redhat.com>
 7771 Date:   Mon Mar 25 14:06:25 2019 +0530
 7772 
 7773     cluster/afr: Remove un-used variables related to pump
 7774     
 7775     updates bz#1193929
 7776     Change-Id: I01b60d644f517c00a1bcc127bf9a8ed90b6eb7a0
 7777     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 7778 
 7779 commit 34e010d64905b7387de57840d3fb16a326853c9b
 7780 Author: Atin Mukherjee <amukherj@redhat.com>
 7781 Date:   Mon Mar 18 16:08:04 2019 +0530
 7782 
 7783     glusterd: fix txn-id mem leak
 7784     
 7785     This commit ensures the following:
 7786     1. Don't send commit op request to the remote nodes when gluster v
 7787     status all is executed as for the status all transaction the local
 7788     commit gets the name of the volumes and remote commit ops are
 7789     technically a no-op. So no need for additional rpc requests.
 7790     2. In op state machine flow, if the transaction is in staged state and
 7791     op_info.skip_locking is true, then no need to set the txn id in the
 7792     priv->glusterd_txn_opinfo dictionary which never gets freed.
 7793     
 7794     Fixes: bz#1691164
 7795     Change-Id: Ib6a9300ea29633f501abac2ba53fb72ff648c822
 7796     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 7797 
 7798 commit 4acf03d304e88ca3d10d3d7076208f1462228bbb
 7799 Author: Yaniv Kaul <ykaul@redhat.com>
 7800 Date:   Tue Mar 19 16:45:06 2019 +0200
 7801 
 7802     Multiple files: remove HAVE_BD_XLATOR related code.
 7803     
 7804     The BD translator was removed some time ago,
 7805     (in commit a907e468e724c32b9833ce59806fc215c7122d63).
 7806     This completes the work.
 7807     
 7808     Compile-tested only!
 7809     updates: bz#1635688
 7810     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 7811     
 7812     Change-Id: I999df52e479a72d3cc9523f22f9056de17eb559c
 7813 
 7814 commit 1f94395c356748c0f51c76d5de3be5f6cf603547
 7815 Author: Atin Mukherjee <amukherj@redhat.com>
 7816 Date:   Thu Mar 21 09:57:10 2019 +0530
 7817 
 7818     inode: fix unused vars
 7819     
 7820     Commit 6d6a3b2 introduced some unused vars. This patch defines them
 7821     within #ifdef DEBUG
 7822     
 7823     Fixes: bz#1580315
 7824     Change-Id: I8a332b00c3ffb66689b4b6480c490b9436c17d63
 7825     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 7826 
 7827 commit a7c746577249af6326907e280843e1f4c0231bb0
 7828 Author: Sunny Kumar <sunkumar@redhat.com>
 7829 Date:   Tue Mar 19 22:51:14 2019 +0530
 7830 
 7831     fuse : fix high sev coverity issue
 7832     
 7833     This patch fixed coverity issue in fuse-bridge.c.
 7834     
 7835     CID : 1398630 : Resource leak
 7836     CID : 1399757 : Uninitialized pointer read
 7837     
 7838     updates: bz#789278
 7839     
 7840     Change-Id: I69f8591400ee56a5d215eeac443a8e3d7777db27
 7841     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 7842 
 7843 commit 8aff9cc5c6277ef7dacfb89f1392b7c2eda9b825
 7844 Author: Yaniv Kaul <ykaul@redhat.com>
 7845 Date:   Wed Mar 20 13:05:44 2019 +0200
 7846 
 7847     server.c: fix Coverity CID 1399758
 7848     
 7849     1399758 Dereference before null check
 7850     
 7851     It was introduced @ commit 67f48bfcc16a38052e6c9ae7c25e69b03b8ae008
 7852     
 7853     
 7854     updates: bz#789278
 7855     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 7856     
 7857     Change-Id: I1424b008b240691fe2a8924e31c708d0fb4f362d
 7858 
 7859 commit f2f07591b2de9ba45bbc3eb4f601d1e9a327190b
 7860 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 7861 Date:   Tue Feb 26 18:04:18 2019 +0530
 7862 
 7863     rpc/transport: Missing a ref on dict while creating transport object
 7864     
 7865     while creating rpc_tranpsort object, we store a dictionary without
 7866     taking a ref on dict but it does an unref during the cleaning of the
 7867     transport object.
 7868     
 7869     So the rpc layer expect the caller to take a ref on the dictionary
 7870     before passing dict to rpc layer. This leads to a lot of confusion
 7871     across the code base and leads to ref leaks.
 7872     
 7873     Semantically, this is not correct. It is the rpc layer responsibility
 7874     to take a ref when storing it, and free during the cleanup.
 7875     
 7876     I'm listing down the total issues or leaks across the code base because
 7877     of this confusion. These issues are currently present in the upstream
 7878     master.
 7879     
 7880     1) changelog_rpc_client_init
 7881     
 7882     2) quota_enforcer_init
 7883     
 7884     3) rpcsvc_create_listeners : when there are two transport, like tcp,rdma.
 7885     
 7886     4) quotad_aggregator_init
 7887     
 7888     5) glusterd: init
 7889     
 7890     6) nfs3_init_state
 7891     
 7892     7) server: init
 7893     
 7894     8) client:init
 7895     
 7896     This patch does the cleanup according to the semantics.
 7897     
 7898     Change-Id: I46373af9630373eb375ee6de0e6f2bbe2a677425
 7899     updates: bz#1659708
 7900     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 7901 
 7902 commit 6d6a3b298ee81c6c7d93941365852c1bdb42c3c1
 7903 Author: Amar Tumballi <amarts@redhat.com>
 7904 Date:   Wed Mar 13 09:42:33 2019 +0530
 7905 
 7906     inode: don't dump the whole table to CLI
 7907     
 7908     dumping the whole inode table detail to screen doesn't solve any
 7909     purpose. We should be getting only toplevel details on CLI, and then
 7910     if one wants to debug further, then they need to get to 'statedump'
 7911     to get full details.
 7912     
 7913     Fixes: bz#1580315
 7914     Change-Id: Iaf3de94602f9c76832c3c918ffe2ad13c0b0e448
 7915     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 7916 
 7917 commit 7413d0c0c20243764858ef817c5e2b42791ff302
 7918 Author: Yaniv Kaul <ykaul@redhat.com>
 7919 Date:   Mon Mar 18 11:16:49 2019 +0200
 7920 
 7921     glusterd-locks: misc. changes.
 7922     
 7923     Move to use dict_*n() functions, where it made sense.
 7924     
 7925     Compile-tested only!
 7926     updates: bz#1193929
 7927     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 7928     
 7929     Change-Id: Ie9c4b2021d2229ea9a815cc75e9eb8c3945c109e
 7930 
 7931 commit 06fa261207f0f0625c52fa977b96e5875e9a91e0
 7932 Author: Milind Changire <mchangir@redhat.com>
 7933 Date:   Thu Mar 14 10:55:52 2019 +0530
 7934 
 7935     socket/ssl: fix crl handling
 7936     
 7937     Problem:
 7938     Just setting the path to the CRL directory in socket_init() wasn't working.
 7939     
 7940     Solution:
 7941     Need to use special API to retrieve and set X509_VERIFY_PARAM and set
 7942     the CRL checking flags explicitly.
 7943     Also, setting the CRL checking flags is a big pain, since the connection
 7944     is declared as failed if any CRL isn't found in the designated file or
 7945     directory. A comment has been added to the code appropriately.
 7946     
 7947     Change-Id: I8a8ed2ddaf4b5eb974387d2f7b1a85c1ca39fe79
 7948     fixes: bz#1687326
 7949     Signed-off-by: Milind Changire <mchangir@redhat.com>
 7950 
 7951 commit 43092dfd25295aba9d2426a82ea4027e08a7a2c5
 7952 Author: Kinglong Mee <kinglongmee@gmail.com>
 7953 Date:   Mon Mar 18 20:47:54 2019 +0800
 7954 
 7955     cluster-syncop: avoid duplicate unlock of inodelk/entrylk
 7956     
 7957     When using ec, there are many messages at brick log as,
 7958     
 7959     [inodelk.c:514:__inode_unlock_lock] 0-test-locks:  Matching lock not found for unlock 0-9223372036854775807, lo=68e040a84b7f0000 on 0x7f208c006f78
 7960     [MSGID: 115053] [server-rpc-fops_v2.c:280:server4_inodelk_cbk] 0-test-server: 2557439: INODELK <gfid:df4e41be-723f-4289-b7af-b4272b3e880c> (df4e41be-723f-4289-b7af-b4272b3e880c), client: CTX_ID:67d4a7f3-605a-4965-89a5-31309d62d1fa-GRAPH_ID:0-PID:1659-HOST:openfs-node2-PC_NAME:test-client-1-RECON_NO:-28, error-xlator: test-locks [Invalid argument]
 7961     
 7962     Change-Id: Ib164d29ebb071f620a4ca9679c4345ef7c88512a
 7963     Updates: bz#1689920
 7964     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
 7965 
 7966 commit 4d98b55eadf46beb35de88e6584c694ec75cd49d
 7967 Author: Pranith Kumar K <pkarampu@redhat.com>
 7968 Date:   Tue Feb 26 14:27:33 2019 +0530
 7969 
 7970     mount/fuse: Fix spelling mistake
 7971     
 7972     updates bz#1193929
 7973     Change-Id: I55ffa8f086ad9570f2526d91c196d7de9ffe6add
 7974     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 7975 
 7976 commit 240e1d6821fbb779c3dd73f6f0225d755a5b7cc6
 7977 Author: Aravinda VK <avishwan@redhat.com>
 7978 Date:   Thu Mar 14 20:06:54 2019 +0530
 7979 
 7980     geo-rep: IPv6 support
 7981     
 7982     `address_family=inet6` needs to be added while mounting master and
 7983     slave volumes in gverify script.
 7984     
 7985     New option introduced to gluster cli(`--inet6`) which will be used
 7986     internally by geo-rep while calling `gluster volume info
 7987     --remote-host=<ipv6>`.
 7988     
 7989     Fixes: bz#1688833
 7990     Change-Id: I1e0d42cae07158df043e64a2f991882d8c897837
 7991     Signed-off-by: Aravinda VK <avishwan@redhat.com>
 7992 
 7993 commit 3f3da526333b91c787b2388319cb16297b4d8cc3
 7994 Author: Kinglong Mee <kinglongmee@gmail.com>
 7995 Date:   Wed Mar 13 21:13:38 2019 +0800
 7996 
 7997     shard: fix crash caused by using null inode
 7998     
 7999     Change-Id: I156bf962223304e586b83a36be59a0ca74589b43
 8000     Updates: bz#1688287
 8001     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
 8002 
 8003 commit 63159cdb5374f458d7d2bffec24d4720ffc96d6c
 8004 Author: Ashish Pandey <aspandey@redhat.com>
 8005 Date:   Fri Mar 8 10:42:12 2019 +0530
 8006 
 8007     cluster/afr : TA: Return actual error code in case of failure
 8008     
 8009     In afr_ta_post_op_do, we were sending EIO for every failure.
 8010     However, the original error code should be sent.
 8011     
 8012     Change-Id: I9fdc15dac00d758baf8e6f14db244f526481a63a
 8013     updates: bz#1686711
 8014     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
 8015 
 8016 commit f5987d38f216a3142dfe45f03bf66ff4827d9b55
 8017 Author: Pranith Kumar K <pkarampu@redhat.com>
 8018 Date:   Mon Mar 11 14:04:39 2019 +0530
 8019 
 8020     storage/posix: Remove nr_files usage
 8021     
 8022     nr_files is supposed to represent the number of files opened in posix.
 8023     Present logic doesn't seem to handle anon-fds because of which the
 8024     counts would always be wrong.
 8025     
 8026     I don't remember anyone using this value in debugging any problem probably
 8027     because we always have 'ls -l /proc/<pid>/fd' which not only prints the
 8028     fds that are active but also prints their paths. It also handles directories
 8029     and anon-fds which actually opened the file. So removing this code
 8030     instead of fixing the buggy logic to have the nr_files.
 8031     
 8032     fixes bz#1688106
 8033     Change-Id: Ibf8713fdfdc1ef094e08e6818152637206a54040
 8034     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 8035 
 8036 commit 08a9f198d576bbae3596536bbd2c4d34dadd1a93
 8037 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 8038 Date:   Wed Mar 13 12:56:58 2019 +0530
 8039 
 8040     tests/bug-844688.t: test bug-844688.t is failing on master
 8041     
 8042     Test case bug-844688.t is failing quite frequently on master.
 8043     This test check for the existence of call_stack, frame creation
 8044     time.
 8045     
 8046     But there is a chance that at a point in time, the stack count
 8047     might become zero. So doing the check in EXPECT_WITHIN make
 8048     more sense.
 8049     
 8050     Change-Id: Id2ede7f6fdcb5f016f52c5c0557ce6ac510d4e96
 8051     updates: bz#1688116
 8052     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 8053 
 8054 commit 67f48bfcc16a38052e6c9ae7c25e69b03b8ae008
 8055 Author: Mohit Agrawal <moagrawal@redhat.com>
 8056 Date:   Tue Mar 12 13:27:34 2019 +0530
 8057 
 8058     glusterfsd: Brick is getting crash at the time of startup
 8059     
 8060     Problem: Brick is getting crash because graph was not activated
 8061              at the time of accessing server_conf
 8062     
 8063     Solution: To avoid the crash check ctx->active before processing
 8064               a request
 8065     
 8066     Change-Id: Ib112e0eace19189e45f430abdac5511c026bed47
 8067     fixes: bz#1687705
 8068     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 8069 
 8070 commit a395395e7fa16e12b3c3d9f9ba2a7bdbf4b50d74
 8071 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 8072 Date:   Wed Mar 13 13:05:59 2019 +0530
 8073 
 8074     test: Fix a missing a '$' symbol
 8075     
 8076     While checking a test case using EXPECT_WITHIN, the
 8077     argument is actually missing a '$' symbol to denote
 8078     the token as a variable in bash
 8079     
 8080     Change-Id: I5b9150acdea000b29e94cfb01d975c77f5ece3e5
 8081     fixes: bz#1688116
 8082     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 8083 
 8084 commit a9d04541fd0f0018d196c08b0f0091a19649cb93
 8085 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 8086 Date:   Tue Mar 12 18:00:37 2019 +0530
 8087 
 8088     dht: NULL check before setting error flag
 8089     
 8090     Function dht_common_mark_mdsxattr blindly setting value for
 8091     an integer pointer without validating it. In fact there are
 8092     two callers of this function that passes NULL value to the
 8093     same pointer which leads to a crash.
 8094     
 8095     Change-Id: Id94ffe216f6a21f007b3291bff0b1e1c1989075c
 8096     fixes: bz#1687811
 8097     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 8098 
 8099 commit 66986594a9023c49e61b32769b7e6b260b600626
 8100 Author: Mohit Agrawal <moagrawal@redhat.com>
 8101 Date:   Fri Mar 1 13:41:24 2019 +0530
 8102 
 8103     glusterfsd: Multiple shd processes are spawned on brick_mux environment
 8104     
 8105     Problem: Multiple shd processes are spawned while starting volumes
 8106              in the loop on brick_mux environment.glusterd spawn a process
 8107              based on a pidfile and shd daemon is taking some time to
 8108              update pid in pidfile due to that glusterd is not able to
 8109              get shd pid
 8110     
 8111     Solution: Commit cd249f4cb783f8d79e79468c455732669e835a4f changed
 8112               the code to update pidfile in parent for any gluster daemon
 8113               after getting the status of forking child in parent.To resolve
 8114               the same correct the condition update pidfile in parent only
 8115               for glusterd and for rest of the daemon pidfile is updated in
 8116               child
 8117     
 8118     Change-Id: Ifd14797fa949562594a285ec82d58384ad717e81
 8119     fixes: bz#1684404
 8120     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 8121 
 8122 commit 3e36060b13a86ea4e39fb717dc7f59aacd47bf4f
 8123 Author: Yaniv Kaul <ykaul@redhat.com>
 8124 Date:   Wed Feb 27 22:05:51 2019 +0200
 8125 
 8126     io-threads.c: Potentially skip a lock.
 8127     
 8128     Before going into the lock, verify stub_cnt != 0.
 8129     Otherwise, let's skip this code.
 8130     
 8131     Unrelated, switch a CALLOC to MALLOC, as we
 8132     initialize all members right away. This allocation
 8133     is done also under lock, so also should help a bit.
 8134     
 8135     Compile-tested only!
 8136     updates: bz#1193929
 8137     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8138     
 8139     Change-Id: Ie2fe6adff41ae4969abff95eff945b54e1a01d32
 8140 
 8141 commit 48ca0c05df4cee66cf8d07e19ee2267fc9ba920b
 8142 Author: karthik-us <ksubrahm@redhat.com>
 8143 Date:   Thu Mar 7 22:26:49 2019 +0530
 8144 
 8145     cluster/afr: Send truncate on arbiter brick from SHD
 8146     
 8147     Problem:
 8148     In an arbiter volume configuration SHD will not send any writes onto the arbiter
 8149     brick even if there is data pending marker for the arbiter brick. If we have a
 8150     arbiter setup on the geo-rep master and there are data pending markers for the files
 8151     on arbiter brick, SHD will not mark any data changelog during healing. While syncing
 8152     the data from master to slave, if the arbiter-brick is considered as ACTIVE, then
 8153     there is a chance that slave will miss out some data. If the arbiter brick is being
 8154     newly added or replaced there is a chance of slave missing all the data during sync.
 8155     
 8156     Fix:
 8157     If there is data pending marker for the arbiter brick, send truncate on the arbiter
 8158     brick during heal, so that it will record truncate as the data transaction in changelog.
 8159     
 8160     Change-Id: I3242ba6cea6da495c418ef860d9c3359c5459dec
 8161     fixes: bz#1686568
 8162     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 8163 
 8164 commit 32824af10a8daa7239157af3326769c4a6b8f72f
 8165 Author: Sanju Rakonde <srakonde@redhat.com>
 8166 Date:   Fri Mar 8 11:12:29 2019 +0530
 8167 
 8168     glusterd: change the op-version
 8169     
 8170     as commit 073444 is backported to release-5.4 branch, op-version
 8171     for this change should 5.4 instead of 6.
 8172     
 8173     fixes: bz#1685120
 8174     
 8175     Change-Id: Id504b9a1446125cea7c6a32117ccc44f28e73aa7
 8176     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 8177 
 8178 commit ca9bef7f1538beb570fcb190ff94f86f0b8ba38a
 8179 Author: Amar Tumballi <amarts@redhat.com>
 8180 Date:   Wed Jan 30 14:24:14 2019 +0530
 8181 
 8182     rpm: add thin-arbiter package
 8183     
 8184     Discussion on thin arbiter volume -
 8185     https://github.com/gluster/glusterfs/issues/352#issuecomment-350981148
 8186     
 8187     Main idea of having this rpm package is to deploy thin-arbiter
 8188     without glusterd and other commands on a node, and all we need
 8189     on that tie-breaker node is to run a single glusterfs command.
 8190     Also note that, no other glusterfs installation needs
 8191     thin-arbiter.so.
 8192     
 8193     Make sure RPM contains sample vol file, which can work by default,
 8194     and a script to configure that volfile, along with translator image.
 8195     
 8196     Change-Id: Ibace758373d8a991b6a19b2ecc60c93b2f8fc489
 8197     updates: bz#1674389
 8198     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 8199     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
 8200 
 8201 commit ac58cc27fb70461c76dac1187cb99bb59709e665
 8202 Author: Michael Scherer <misc@redhat.com>
 8203 Date:   Thu Mar 7 11:58:23 2019 +0100
 8204 
 8205     Remove Nigel as requested by him
 8206     
 8207     Change-Id: I0be4038790b56f67d75a61bb8b346d9b4e0d8cce
 8208     updates: bz#1686371
 8209     Signed-off-by: Michael Scherer <misc@redhat.com>
 8210 
 8211 commit e9bfe11475c715e431d005087a0fa0fb66aef033
 8212 Author: Amar Tumballi <amarts@redhat.com>
 8213 Date:   Tue Mar 5 08:39:16 2019 +0530
 8214 
 8215     dict: handle STR_OLD data type in xdr conversions
 8216     
 8217     Currently a dict conversion on wire for 3.x protocol happens using
 8218     `dict_unserialize()`, which sets the type of data as STR_OLD. But the
 8219     new protocol doesn't send it over the wire as its not considered as a
 8220     valid format in new processes.
 8221     
 8222     But considering we deal with old and new protocol when we do a rolling
 8223     upgrade, it will allow us to get all the information properly with new
 8224     protocol.
 8225     
 8226     Credits: Krutika Dhananjay
 8227     
 8228     Fixes: bz#1684385
 8229     Change-Id: I165c0021fb195b399790b9cf14a7416ae75ec84f
 8230     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 8231 
 8232 commit a858dd1c310ee25b2fcd7aefc3a6caabe8560d4f
 8233 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 8234 Date:   Thu Mar 7 08:00:47 2019 -0500
 8235 
 8236     packaging: remove unnecessary ldconfig in scriptlets
 8237     
 8238     see https://src.fedoraproject.org/rpms/glusterfs/pull-request/5
 8239     
 8240     Reported-By: Igor Gnatenko
 8241     
 8242     Change-Id: I914f36290e96a387cdd64ee633e75c2940ec1e56
 8243     updates: bz#1193929
 8244     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 8245 
 8246 commit 2a0f905c905de4ad1e74bf4c7998adf087756785
 8247 Author: karthik-us <ksubrahm@redhat.com>
 8248 Date:   Thu Feb 21 16:17:44 2019 +0530
 8249 
 8250     cluster/afr: Add quorum checks to open & opendir fops
 8251     
 8252     Problem:
 8253     Currently even if open & opendir fails on quorum number of bricks,
 8254     but succeeds on atleast one brick, it will result in success. This leads
 8255     to inconsistency in the behaviour with other operations following the
 8256     open, which has quorum checks.
 8257     
 8258     Fix:
 8259     Add quorum checks to open & opendir fops to avoid inconsistency.
 8260     
 8261     Change-Id: If8fcb82072a6dc45ea6d4a6754b79763215eba2a
 8262     fixes: bz#1634664
 8263     Signed-off-by: karthik-us <ksubrahm@redhat.com>
 8264 
 8265 commit 91f98e03ab654f212323d385bfc6fa3c0f2e4110
 8266 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 8267 Date:   Thu Mar 7 16:35:33 2019 +0530
 8268 
 8269     performance/readdir-ahead: fix deadlock
 8270     
 8271     This deadlock happens while processing dentry corresponding to current
 8272     directory (.) in rda_fill_readdirp. In this case following order is
 8273     followed:
 8274     
 8275     LOCK(directory_fd_ctx->lock);
 8276       rda_inode_ctx_get_iatt -> LOCK(directory_inode->lock);
 8277     
 8278     However, in rda_mark_inode_dirty following lock order is followed:
 8279     LOCK(directory_inode->lock);
 8280       LOCK(directory_fd_ctx->lock);
 8281     
 8282     these two codepaths when executed concurrently resulted in a deadlock.
 8283     
 8284     Current patch fixes this by removing locking directory inode and
 8285     fd-ctx in rda_fill_readdirp. This is fine as directory inode's stat
 8286     won't change due to writes to files within directory.
 8287     
 8288     Change-Id: Ic93a67a0dac8229bb0d79582e526a512e6f2569c
 8289     fixes: bz#1674412
 8290     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 8291     Fixes:bz#1674412
 8292 
 8293 commit ab9b928873024bbc44c941d2ded1b7371f443dd6
 8294 Author: David Spisla <david.spisla@iternity.com>
 8295 Date:   Wed Mar 6 12:21:18 2019 +0100
 8296 
 8297     WORM-Xlator: Maybe integer overflow when computing new atime
 8298     
 8299     The structs worm_reten_state_t and read_only_priv_t from read-only.h are
 8300     using uint64_t values to store periods of retention and autocommmit.
 8301     This seems to be dangerous since in worm-helper.c the function
 8302     worm_set_state computes in line 97:
 8303     
 8304     stbuf->ia_atime = time(NULL) + retention_state->ret_period;
 8305     
 8306     stbuf->ia_atime is using int64_t because of the settings of struct
 8307     iattr. So if there is a very very high retention period stored, there
 8308     is maybe an integer overflow.
 8309     
 8310     What can be the solution? Using int64_t instead if uint64_t may reduce
 8311     the probability of the occurance.
 8312     
 8313     Change-Id: Id1e86c6b20edd53f171c4cfcb528804ba7881f65
 8314     fixes: bz#1685944
 8315     Signed-off-by: David Spisla <david.spisla@iternity.com>
 8316 
 8317 commit 30c6e354b054879dcdadc726cdf5b9a38630f1bb
 8318 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 8319 Date:   Mon Mar 4 10:11:15 2019 -0500
 8320 
 8321     packaging: s390x has RDMA support
 8322     
 8323     Since around fedora27, and in RHEL7 since July 2016.
 8324     
 8325     Reported-By: Dan Horák <dan@danny.cz>
 8326     
 8327     Change-Id: Idad29425495f9c69bfd84b53b009a607abb418f0
 8328     updates: bz#1193929
 8329     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 8330 
 8331 commit 073444b693b7a91c42963512e0fdafb57ad46670
 8332 Author: Sanju Rakonde <srakonde@redhat.com>
 8333 Date:   Mon Mar 4 16:53:01 2019 +0530
 8334 
 8335     core: make compute_cksum function op_version compatible
 8336     
 8337     Problem: commit 5a152a changed the mechansim of computing the
 8338     checksum. In heterogeneous cluster, peers are running into
 8339     rejected state because we have different cksum computation
 8340     mechansims in upgraded and non-upgraded nodes.
 8341     
 8342     Solution: add a check for op-version so that all the nodes
 8343     in the cluster follow the same mechanism for computing the
 8344     cksum.
 8345     
 8346     Change-Id: I1508f000e8c9895588b6011b8b6cc0eda7102193
 8347     fixes: bz#1685120
 8348     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 8349 
 8350 commit 27f6375df009c8c4798b72aeafce79456007d21f
 8351 Author: Aravinda VK <avishwan@redhat.com>
 8352 Date:   Mon Mar 4 13:39:18 2019 +0530
 8353 
 8354     eventsapi: Fix error while handling GlusterCmdException
 8355     
 8356     `GlusterCmdException` was wrongly accessed instead of accessing
 8357     `GlusterCmdException.message`.
 8358     
 8359     Fixes: bz#1685027
 8360     Change-Id: I35ec1b05726050bfd8761e05ad9b9e47917dc0c6
 8361     Signed-off-by: Aravinda VK <avishwan@redhat.com>
 8362 
 8363 commit 6b99558be6872bb5ba5fe8133696ca856617b184
 8364 Author: Soumya Koduri <skoduri@redhat.com>
 8365 Date:   Wed Feb 27 23:15:58 2019 +0530
 8366 
 8367     leases: Do not process internal fops
 8368     
 8369     fops marked internal are used to maintain data integrity
 8370     and ideally do not intervene with application client leases.
 8371     Hence it seems safe to ignore them by lease xlator.
 8372     
 8373     Change-Id: I887b6f2da7ec0081442cc4b572a7a9e110f79eb2
 8374     updates: bz#1648768
 8375     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 8376 
 8377 commit 9374484917466dff4688d96ff7faa0de1c804a6c
 8378 Author: Mohit Agrawal <moagrawal@redhat.com>
 8379 Date:   Tue Mar 5 13:39:46 2019 +0530
 8380 
 8381     glusterd: glusterd memory leak while running "gluster v profile" in a loop
 8382     
 8383     Problem: glusterd has memory leak while running "gluster v profile"
 8384              in a loop
 8385     
 8386     Solution: Resolve leak code path to avoid leak
 8387     
 8388     Change-Id: Id608703ff6d0ad34ed8f921a5d25544e24cfadcd
 8389     fixes: bz#1685414
 8390     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 8391 
 8392 commit f5c3b1727f55ffaa3dcdb3c3a09b968ebb45dbb2
 8393 Author: Susant Palai <spalai@redhat.com>
 8394 Date:   Wed Feb 20 15:52:55 2019 +0530
 8395 
 8396     io-threads: Prioritize fops with NO_ROOT_SQUASH pid
 8397     
 8398     There was 30% regression observed in mkdir path with commit
 8399     b139bc58eb504adf5ef81658896c9283ae21f390. On analysis it is found
 8400     that io-threads xlator deprioritzes fops with all -ve pid.
 8401     
 8402     Some context in to the no-root-squash pid requirement:
 8403     DHT xlator does some of the internal fops with root privileges. This is
 8404     needed so that operations like layout healing should not be abandoned
 8405     because a non root user is operating.  If root-squash option is enabled
 8406     the layout set operation looses its root privilege as server xlator
 8407     converts the uid and pid to random numbers. Hence, the above mentioned
 8408     commit converted pid to GF_CLIENT_PID_NO_ROOT_SQUASH to continue fops
 8409     as root.
 8410     
 8411     Combining the above I am proposing not to deprioritize fops with
 8412     no-root-squash pid.
 8413     
 8414     Change-Id: I54d056c01b25729304a77f9242fbaff39c5672ba
 8415     fixes: bz#1676430
 8416     Signed-off-by: Susant Palai <spalai@redhat.com>
 8417 
 8418 commit 82bedd01fd36d0b631367fab3e2cc4ca0b259378
 8419 Author: Soumya Koduri <skoduri@redhat.com>
 8420 Date:   Wed Feb 27 22:44:10 2019 +0530
 8421 
 8422     afr: mark changelog_fsync as internal
 8423     
 8424     As afr_changelog_fsync is used for internal operations, use
 8425     GLUSTERFS_INTERNAL_FOP_KEY so that lease xlator can avoid treating
 8426     it as conflicting fop and recall lease.
 8427     
 8428     Change-Id: I52cdc161002e840199d24439231a8bfa4f98b1b6
 8429     updates: bz#1648768
 8430     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
 8431 
 8432 commit da10bbb060ca4dffc14f80ef67e34bd5ccd8cd6a
 8433 Author: Rinku Kothiya <rkothiya@redhat.com>
 8434 Date:   Thu Feb 14 10:49:58 2019 +0000
 8435 
 8436     core: fix volume heal to avoid "invalid argument"
 8437     
 8438     This patch avoids printing of "invalid argument" unless
 8439     loglevel is set to GF_LOG_DEBUG.
 8440     
 8441     fixes : bz#1654021
 8442     
 8443     Change-Id: I0e3d43bc627526f696b12921081342ca9b4a5f84
 8444     fixes: bz#1654021
 8445     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 8446 
 8447 commit 35ac5ae13fcf517cedc58005e258142c2e4620ab
 8448 Author: Csaba Henk <csaba@redhat.com>
 8449 Date:   Thu Feb 14 02:01:38 2019 +0100
 8450 
 8451     fuse lock interrupt: fix flock_interrupt.t
 8452     
 8453     updates: bz#1193929
 8454     Change-Id: I347de62755100cd69e3cf341434767ae23fd1ba4
 8455     Signed-off-by: Csaba Henk <csaba@redhat.com>
 8456 
 8457 commit 2b51b89f0f67ba1f7655cadb3fab9b4d3766faa6
 8458 Author: Kinglong Mee <kinglongmee@gmail.com>
 8459 Date:   Fri Jan 18 11:00:56 2019 +0800
 8460 
 8461     quotad: fix passing GF_DATA_TYPE_STR_OLD dict data to v4 protocol
 8462     
 8463     quotad prints many logs as,
 8464     
 8465     [glusterfs3.h:752:dict_to_xdr] 0-dict: key 'trusted.glusterfs.quota.size' is not sent on wire [Invalid argument]
 8466     [glusterfs3.h:752:dict_to_xdr] 0-dict: key 'volume-uuid' is not sent on wire [Invalid argument]
 8467     
 8468     For quota, there is a deamon named quotad which has a rpcsvc_program
 8469     quotad_aggregator_prog that only supports v3 right now.
 8470     
 8471     Quotad has two actors (LOOKUP,GETLIMIT) that contains a dict in request,
 8472     quotad just decodes the dict by dict_unserialize, those dict dates's type
 8473     is GF_DATA_TYPE_STR_OLD, which type is not supported at glusterfs v4.
 8474     
 8475     Change-Id: Ib649d7a2e3c68c32dc26bc0f88923a0ba967ebd7
 8476     Updates: bz#1596787
 8477     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
 8478 
 8479 commit 16b4936696c8b602243513fbde0b20a1e8417432
 8480 Author: Vijay Bellur <vbellur@redhat.com>
 8481 Date:   Wed Feb 27 13:38:33 2019 -0800
 8482 
 8483     mgmt/glusterd: Fix a memory leak when peer detach fails
 8484     
 8485     Dictionary object is not being unref'd when an error happens
 8486     in __glusterd_handle_cli_deprobe(). This patch addresses that problem.
 8487     
 8488     Change-Id: I11e1f92d06dc9edd1260845256f435ea31ef1a87
 8489     fixes: bz#1683816
 8490     Signed-off-by: Vijay Bellur <vbellur@redhat.com>
 8491 
 8492 commit 2e9d3ab12df363ac5cdcbef693a5802c0066d7b4
 8493 Author: Arjun Sharma <arjsharm@redhat.com>
 8494 Date:   Thu Feb 21 18:09:50 2019 +0530
 8495 
 8496     Updating the glfs_setattr and glfs_fsetattr public APIs to use glfs_stat
 8497     
 8498     Change-Id: I0e86c8222c88b4c71087ec287ba81f8353d70822
 8499     updates: #389
 8500     Signed-off-by: Arjun <arjsharm@redhat.com>
 8501 
 8502 commit 5cddd4d758014fe116d9c130632eada2ecded88c
 8503 Author: Sanju Rakonde <srakonde@redhat.com>
 8504 Date:   Tue Feb 26 21:48:21 2019 +0530
 8505 
 8506     glusterd: remove experimental xlator options from glusterd-volume-set.c
 8507     
 8508     experimental xlators have been removed from the codebase. But we
 8509     missed to remove the options related to experimental xlators from
 8510     the codebase. This patch removes those options.
 8511     
 8512     fixes: bz#1683352
 8513     Change-Id: I3fa7e14c6cd8ebde5cebc8d2b0cb2409bf37c1ae
 8514     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 8515 
 8516 commit 30f358bb6b69b8c31da550608a4996a84e8b420b
 8517 Author: Niels de Vos <ndevos@redhat.com>
 8518 Date:   Mon Feb 25 12:32:21 2019 +0100
 8519 
 8520     build: do not install service related files when building --without-server
 8521     
 8522     It seems that glusterfs-6 disables building the server (./configure
 8523     --without-server) on el6 and hence the installed but unpackaged files
 8524     should not get installed in the first place.
 8525     
 8526     Change-Id: I7bea08202dd59ac309de8bc861da920ed3600bc6
 8527     Fixes: bz#1680587
 8528     Signed-off-by: Niels de Vos <ndevos@redhat.com>
 8529 
 8530 commit 5feeed24f1e1fe2891e1418df23bacf0cfb991e6
 8531 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 8532 Date:   Fri Feb 22 09:25:26 2019 -0500
 8533 
 8534     glusterfind: revert shebangs to #!/usr/bin/python3
 8535     
 8536     Using #!/usr/bin/env python is illegal in Fedora and RHEL packaging.
 8537     (Debian and SUSE packaging will complain about it too but don't
 8538     enforce it like Fedora packaging does. Yet.)
 8539     
 8540     We went through a giant exercise fixing these once already.
 8541     
 8542     The python needs to be python2/python3 clean. There is a build
 8543     scriptlet that converts the shebangs back to /usr/bin/python on rhel7.
 8544     
 8545     Change-Id: If208a2557f7e5d727cda98c27905e249cf485d5b
 8546     updates: bz#1193929
 8547     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 8548 
 8549 commit fb4df03f3a9fd94a163265757a2c13bc8105476a
 8550 Author: Yaniv Kaul <ykaul@redhat.com>
 8551 Date:   Sat Feb 16 10:24:28 2019 +0200
 8552 
 8553     leases-internal.c: minor reduction of work under lock.
 8554     
 8555     Minor changes to reduce work done under a lock.
 8556     Changed few CALLOC() to MALLOC(), and moved some
 8557     time(NULL) outside the lock.
 8558     
 8559     Compile-tested only!
 8560     updates: bz#1193929
 8561     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8562     
 8563     Change-Id: I4683d0d6e0b653a6adefff87b43ae717fd46843a
 8564 
 8565 commit cd68f7b88b9a2c9a4e4ff9fca61517384e54130a
 8566 Author: Aravinda VK <avishwan@redhat.com>
 8567 Date:   Thu Feb 21 11:25:55 2019 +0530
 8568 
 8569     eventsapi: Fix Python3 compatibility issues
 8570     
 8571     - Fixed Relative import and non-package import related issues.
 8572     - socketserver import issues fix
 8573     - Renamed installed directory name to `gfevents` from `events`(To
 8574       avoid any issues with other global libs)
 8575     
 8576     Fixes: bz#1679406
 8577     Change-Id: I3dc38bc92b23387a6dfbcc0ab8283178235bf756
 8578     Signed-off-by: Aravinda VK <avishwan@redhat.com>
 8579 
 8580 commit b2081cd8856a725c89c4d97b1399c589780b467a
 8581 Author: Sunny Kumar <sunkumar@redhat.com>
 8582 Date:   Wed Feb 20 14:49:24 2019 +0530
 8583 
 8584     fuse : fix memory leak
 8585     
 8586     This patch fixes memory leak reported by ASan.
 8587     
 8588     Tracebacks:
 8589     
 8590     ERROR: LeakSanitizer: detected memory leaks
 8591     
 8592     Direct leak of 712 byte(s) in 1 object(s) allocated from:
 8593         #0 0x7f35139dc848 in __interceptor_malloc (/lib64/libasan.so.5+0xef848)
 8594         #1 0x7f35136efb29 in __gf_malloc ../libglusterfs/src/mem-pool.c:136
 8595         #2 0x7f3510591ce9 in fuse_thread_proc ../xlators/mount/fuse/src/fuse-bridge.c:5929
 8596         #3 0x7f351336d58d in start_thread (/lib64/libpthread.so.0+0x858d)
 8597     
 8598     SUMMARY: AddressSanitizer: 712 byte(s) leaked in 1 allocation(s).
 8599     
 8600     updates: bz#1633930
 8601     Change-Id: Ie5b4da6b338d8e5fc770c5b2da1238e3462468ac
 8602     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 8603 
 8604 commit 2236c8d3a1e9191d3505e6c1b14022a221aeeb7d
 8605 Author: Sunny Kumar <sunkumar@redhat.com>
 8606 Date:   Thu Feb 21 10:51:13 2019 +0530
 8607 
 8608     geo-rep : fix incorrectly formatted authorized_keys
 8609     
 8610     Problem :  While Geo-rep setup when creating an ssh authorized_keys
 8611                the geo-rep setup inserts an extra space before the "ssh-rsa" label.
 8612                This gets flagged by an enterprise customer's security scan as a
 8613                security violation.
 8614     
 8615     Solution: Remove extra space in GSYNCD_CMD & TAR_CMD.
 8616     
 8617     Change-Id: I956f938faef0e0883703bbc337b1dc2770e4a921
 8618     fixes: bz#1679401
 8619     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 8620 
 8621 commit b235a56394c09bb1d7308a620053dbe098d15967
 8622 Author: Niels de Vos <ndevos@redhat.com>
 8623 Date:   Fri Feb 22 15:17:48 2019 +0100
 8624 
 8625     build: include gluster/__init__.* files for python packaging
 8626     
 8627     The gluster/__init__.py file was originaly part of the glupy
 8628     installation. This file is required to have the python-gluster package
 8629     function correctly, it is expected to provide the 'gluster' namespace
 8630     for other python packages (like from the libgfapi-python project).
 8631     
 8632     Because glupy does not exist anymore, this file is now added to in a new
 8633     extras/python directory.
 8634     
 8635     Change-Id: I14fe959778ee3344d7d54ba342c7928a4d8080a2
 8636     Fixes: c3fcff9ccbfcec1be242fd5cf210c9995586b078
 8637     Fixes: 8293d21280fd6ddfc9bb54068cf87794fc6be207
 8638     Updates: bz#1642810
 8639     Signed-off-by: Niels de Vos <ndevos@redhat.com>
 8640 
 8641 commit d3608bd26cbc3e47fc0e60e85bd9f66515e050b1
 8642 Author: Sahina Bose <sabose@redhat.com>
 8643 Date:   Mon Feb 11 11:07:49 2019 +0530
 8644 
 8645     packaging: Obsoleting glusterfs-gnfs for upgrade
 8646     
 8647     fixes: bz#1672711
 8648     Change-Id: Iad7194e788a8eeecd617614e9f8a1fe3264a384d
 8649     Signed-off-by: Sahina Bose <sabose@redhat.com>
 8650     Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
 8651 
 8652 commit fe67a230483eb3f379d65f166fd239086bd095a9
 8653 Author: Atin Mukherjee <amukherj@redhat.com>
 8654 Date:   Tue Feb 19 14:07:43 2019 +0530
 8655 
 8656     glusterd: fix get-state leak
 8657     
 8658     Updates: bz#1193929
 8659     Change-Id: I95897fd4d3102b4fa2b8b2864116b1bf24491cf9
 8660     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 8661 
 8662 commit 15423e14f16dd1a15ee5e5cbbdbdd370e57ed59f
 8663 Author: David Spisla <david.spisla@iternity.com>
 8664 Date:   Tue Feb 19 14:56:11 2019 +0100
 8665 
 8666     md-cache: Adapt integer data types to avoid integer overflow
 8667     
 8668     The "struct iatt" in iatt.h is using int64_t types for storing
 8669     the atime, mtime and ctime. Therefore the struct 'struct md_cache' in
 8670     md-cache.c should also use this types to avoid an integer overflow.
 8671     
 8672     This can happen e.g. if someone uses a very high default-retention-period
 8673     in the WORM-Xlator.
 8674     
 8675     Change-Id: I605268d300ab622b9c8ab30e459dc00d9340aad1
 8676     fixes: bz#1678726
 8677     Signed-off-by: David Spisla <david.spisla@iternity.com>
 8678 
 8679 commit 09394856e1197db4933e7e814589a3340eb739cd
 8680 Author: hujianfei <hujianfei@cmss.chinamobile.com>
 8681 Date:   Fri Feb 15 04:07:46 2019 -0500
 8682 
 8683     glusterfsd: Do not process PROFILE_NFS_INFO if graph is not ready
 8684     
 8685     Otherwise, gnfs will crash in following situation.
 8686     Also see commit 2f9e555f.
 8687     
 8688     Reproducible Steps:
 8689     1. kill gnfs process
 8690     2. service glusterd restart;gluster volume profile [vol] info nfs
 8691     
 8692     dump trace info:
 8693     /lib64/libglusterfs.so.0(_gf_msg_backtrace_nomem+0xc2)[0x7fcf5cb6a872]
 8694     /lib64/libglusterfs.so.0(gf_print_trace+0x324)[0x7fcf5cb743a4]
 8695     /lib64/libc.so.6(+0x35670)[0x7fcf5b1d5670]
 8696     /usr/sbin/glusterfs(glusterfs_handle_nfs_profile+0x114)[0x7fcf5d066474]
 8697     /lib64/libglusterfs.so.0(synctask_wrap+0x12)[0x7fcf5cba1502]
 8698     /lib64/libc.so.6(+0x47110)[0x7fcf5b1e7110]
 8699     
 8700     Fixes: bz#1677559
 8701     
 8702     Change-Id: Id68edb3e4646c39544e0b4c90b5e0a9083b37b0d
 8703     Signed-off-by: hujianfei <hujianfei@cmss.chinamobile.com>
 8704 
 8705 commit 93e2576953316fdb37bb59b98bea755e799cc421
 8706 Author: Yaniv Kaul <ykaul@redhat.com>
 8707 Date:   Thu Feb 14 08:53:58 2019 +0200
 8708 
 8709     upcall: some modifications to reduce work under lock
 8710     
 8711     1. Reduced the number of times we call time(). This may affect accuracy
 8712     of access time and so on - please review carefully. I think the resolution is OK'ish.
 8713     2. Removed dead code.
 8714     3. Changed from CALLOC() to MALLOC() where it made sense.
 8715     4. Moved some bits of work outside of a lock.
 8716     
 8717     Compile-tested only!
 8718     updates: bz#1193929
 8719     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8720     
 8721     Change-Id: I9fb8ca5d79b0e9126c1eb07e1a1ab5dbd8bf3f79
 8722 
 8723 commit 862e6409cb6929e1eb235a9156fbf6cbc4719236
 8724 Author: Sanju Rakonde <srakonde@redhat.com>
 8725 Date:   Mon Feb 4 14:17:16 2019 +0530
 8726 
 8727     glusterd: adding a comment for code readability
 8728     
 8729     Adding a comment in the source code, so that anyone reading
 8730     the code will understand the changes done by d4fa29 better.
 8731     
 8732     fixes: bz#1654270
 8733     
 8734     Change-Id: I75aff4243420c434c47d69a4b310f77bf161bb29
 8735     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 8736 
 8737 commit 6175cb10cd5f59f3c7ae4100bc78f359b68ca3e9
 8738 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 8739 Date:   Tue Feb 19 08:04:52 2019 +0530
 8740 
 8741     performance/write-behind: handle call-stub leaks
 8742     
 8743     Change-Id: I7be9a5f48dcad1b136c479c58b1dca1e0488166d
 8744     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 8745     Fixes: bz#1674406
 8746 
 8747 commit 64cc4458918e8c8bfdeb114da0a6501b2b98491a
 8748 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 8749 Date:   Wed Feb 13 17:08:14 2019 +0530
 8750 
 8751     performance/write-behind: fix use-after-free in readdirp
 8752     
 8753     Two issues were found:
 8754     1. in wb_readdirp_cbk, inode should unrefed after wb_inode is
 8755     unlocked. Otherwise, inode and hence the context wb_inode can be freed
 8756     by the type we try to unlock wb_inode
 8757     2. wb_readdirp_mark_end iterates over a list of wb_inodes of children
 8758     of a directory. But inodes could've been freed and hence the list
 8759     might be corrupted. To fix take a reference on inode before adding it
 8760     to invalidate_list of parent.
 8761     
 8762     Change-Id: I911b0e0b2060f7f41ded0b05db11af6f9b7c09c5
 8763     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 8764     Updates: bz#1674406
 8765 
 8766 commit eacc48b96b818ab2d15ed9d3a9a21818feed2826
 8767 Author: Sunny Kumar <sunkumar@redhat.com>
 8768 Date:   Thu Jan 24 12:14:48 2019 +0530
 8769 
 8770     cli : fix mem leak during cli_cmd_volume_gsync_set_cbk
 8771     
 8772     This patch fixes mem-leak due to excessive use of gf_asprintf
 8773     to form dynamic growing string.
 8774     
 8775     Problem: each call to asprintf/vsprintf for extending existing string causes
 8776              a memory leak, because the blob at the original address of existing
 8777              string is not freed and a new location is generated by asprintf.
 8778     
 8779     Tracebacks:
 8780         #2 0x7fdf191b8b3b in gf_vasprintf ../libglusterfs/src/mem-pool.c:236
 8781         #3 0x7fdf191b8d0a in gf_asprintf ../libglusterfs/src/mem-pool.c:256
 8782         #4 0x420cd3 in cli_cmd_volume_gsync_set_cbk ../cli/src/cli-cmd-volume.c:2576
 8783     
 8784     SUMMARY: AddressSanitizer: 255 byte(s) leaked in 3 allocation(s).
 8785     ....
 8786     SUMMARY: AddressSanitizer: 431 byte(s) leaked in 4 allocation(s).
 8787     ....
 8788     SUMMARY: AddressSanitizer: 449 byte(s) leaked in 4 allocation(s).
 8789     ....
 8790     SUMMARY: AddressSanitizer: 397 byte(s) leaked in 4 allocation(s).
 8791     ....
 8792     SUMMARY: AddressSanitizer: 160 byte(s) leaked in 2 allocation(s).
 8793     ....
 8794     
 8795     updates: bz#1633930
 8796     Change-Id: I7e8902f0ed23e640dc17e3dcbdab7ae0579d2dc6
 8797     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
 8798 
 8799 commit 8acca65e72f7724d23c18f44693a269d95a664c5
 8800 Author: N Balachandran <nbalacha@redhat.com>
 8801 Date:   Thu Feb 14 17:48:26 2019 +0530
 8802 
 8803     tests/dht:   Remove hardcoded brick paths
 8804     
 8805     The tests assumed that the file is created on a
 8806     particular brick.This need not be the case
 8807     in all scenarios and has been removed.
 8808     
 8809     Change-Id: Id420f43d7f72d983a7c6f16ea8fed273d46c4824
 8810     updates: bz#1672480
 8811     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 8812 
 8813 commit dddcf52020004d98f688ebef968de51d76cbf9a6
 8814 Author: Xavi Hernandez <xhernandez@redhat.com>
 8815 Date:   Thu Jan 24 18:44:06 2019 +0100
 8816 
 8817     core: implement a global thread pool
 8818     
 8819     This patch implements a thread pool that is wait-free for adding jobs to
 8820     the queue and uses a very small locked region to get jobs. This makes it
 8821     possible to decrease contention drastically. It's based on wfcqueue
 8822     structure provided by urcu library.
 8823     
 8824     It automatically enables more threads when load demands it, and stops
 8825     them when not needed. There's a maximum number of threads that can be
 8826     used. This value can be configured.
 8827     
 8828     Depending on the workload, the maximum number of threads plays an
 8829     important role. So it needs to be configured for optimal performance.
 8830     Currently the thread pool doesn't self adjust the maximum for the
 8831     workload, so this configuration needs to be changed manually.
 8832     
 8833     For this reason, the global thread pool has been made optional, so that
 8834     volumes can still use the thread pool provided by io-threads.
 8835     
 8836     To enable it for bricks, the following option needs to be set:
 8837     
 8838        config.global-threading = on
 8839     
 8840     This option has no effect if bricks are already running. A restart is
 8841     required to activate it. It's recommended to also enable the following
 8842     option when running bricks with the global thread pool:
 8843     
 8844        performance.iot-pass-through = on
 8845     
 8846     To enable it for a FUSE mount point, the option '--global-threading'
 8847     must be added to the mount command. To change it, an umount and remount
 8848     is needed. It's recommended to disable the following option when using
 8849     global threading on a mount point:
 8850     
 8851        performance.client-io-threads = off
 8852     
 8853     To enable it for services managed by glusterd, glusterd needs to be
 8854     started with option '--global-threading'. In this case all daemons, like
 8855     self-heal, will be using the global thread pool.
 8856     
 8857     Currently it can only be enabled for bricks, FUSE mounts and glusterd
 8858     services.
 8859     
 8860     The maximum number of threads for clients and bricks can be configured
 8861     using the following options:
 8862     
 8863        config.client-threads
 8864        config.brick-threads
 8865     
 8866     These options can be applied online and its effect is immediate most of
 8867     the times. If one of them is set to 0, the maximum number of threads
 8868     will be calcutated as #cores * 2.
 8869     
 8870     Some distributions use a very old userspace-rcu library (version 0.7)
 8871     for this reason, some header files from version 0.10 have been copied
 8872     into contrib/userspace-rcu and are used if the detected version is 0.7
 8873     or older.
 8874     
 8875     An additional change has been made to io-threads to prevent that threads
 8876     are started when iot-pass-through is set.
 8877     
 8878     Change-Id: I09d19e246b9e6d53c6247b29dfca6af6ee00a24b
 8879     updates: #532
 8880     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 8881 
 8882 commit ec273a46820ba17f46488c082c65cd1aa6739be3
 8883 Author: Yaniv Kaul <ykaul@redhat.com>
 8884 Date:   Tue Feb 12 11:17:37 2019 +0200
 8885 
 8886     auth-cache.c: minor reduction of work under lock.
 8887     
 8888     Minor change to reduce work done under a lock.
 8889     Also, remove unused variable (unrelated to the above).
 8890     
 8891     Compile-tested only!
 8892     updates: bz#1193929
 8893     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8894     
 8895     Change-Id: I1dfb55823c3db7c638d8a34288423bd1faa37c32
 8896 
 8897 commit 8e2e11ff0fbbd86ef7f3ed2dab30572c27bdfa83
 8898 Author: Yaniv Kaul <ykaul@redhat.com>
 8899 Date:   Tue Feb 12 11:25:04 2019 +0200
 8900 
 8901     server.c: use dict_() funcs with key length.
 8902     
 8903     Changed to use the dict_() funcs which take the key length.
 8904     This happens to also reduce work under the lock in one case as well.
 8905     
 8906     Compile-tested only!
 8907     updates: bz#1193929
 8908     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8909     
 8910     Change-Id: I958fcc29e95286fe3c74178cae3f01a8b2db26f2
 8911 
 8912 commit 776ba851c6ee6c265253d44cf1d6e4e3d4a21772
 8913 Author: Milind Changire <mchangir@redhat.com>
 8914 Date:   Fri Feb 15 14:20:07 2019 +0530
 8915 
 8916     socket: socket event handlers now return void
 8917     
 8918     Problem:
 8919     Returning any value from socket event handlers to the event sub-system
 8920     doesn't make sense since event sub-system cannot handle socket
 8921     sub-system errors.
 8922     
 8923     Solution:
 8924     Change return type of all socket event handlers to 'void'
 8925     
 8926     Change-Id: I70dc2c57f12b7ea2fae41120f71aa0d7fe0b2b6f
 8927     Fixes: bz#1651246
 8928     Signed-off-by: Milind Changire <mchangir@redhat.com>
 8929 
 8930 commit fc133767e5ed705f246547cdfa5b7a2db5dcd53f
 8931 Author: Yaniv Kaul <ykaul@redhat.com>
 8932 Date:   Tue Feb 12 11:19:26 2019 +0200
 8933 
 8934     md-cache.c: minor reduction of work under lock.
 8935     
 8936     Take the time before taking the lock, not under lock.
 8937     
 8938     Compile-tested only!
 8939     updates: bz#1193929
 8940     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8941     
 8942     Change-Id: I6cd05d8556a9bcc015e1be53f6ba46854e52a380
 8943 
 8944 commit 86a9b5db918c05f2986837d6a00093755540e51e
 8945 Author: Pranith Kumar K <pkarampu@redhat.com>
 8946 Date:   Wed Feb 13 13:10:34 2019 +0530
 8947 
 8948     protocol/server: Use SERVER_REQ_SET_ERROR correctly for dicts
 8949     
 8950     Removed op_errno based SERVER_REQ_SET_ERROR() calls which was
 8951     dead-code. xdr_to_dict() calls have this check which is used
 8952     in 4.0 version of xdr-to-dict.
 8953     
 8954     fixes bz#1676797
 8955     Change-Id: I6f56907c85576f1263a6ec04ed7e37f723b01ac3
 8956     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 8957 
 8958 commit 6fbeb89e869a2a669698405c3d479052e090f4b7
 8959 Author: Yaniv Kaul <ykaul@redhat.com>
 8960 Date:   Tue Feb 12 11:05:58 2019 +0200
 8961 
 8962     dht-shared.c: minor reduction of work under lock.
 8963     
 8964     Minor changes to reduce work done under a lock.
 8965     
 8966     Compile-tested only!
 8967     updates: bz#1193929
 8968     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 8969     
 8970     Change-Id: Ia58adfb5125129e5d1f3bbf2202f38520fdbc29f
 8971 
 8972 commit 2856e001b5a31887eb1b78e5b0932204f128f04b
 8973 Author: Raghavendra Bhat <raghavendra@redhat.com>
 8974 Date:   Mon Feb 11 14:03:50 2019 -0500
 8975 
 8976     storage/posix: print the actual file path
 8977     
 8978     posix converts incoming operations on files to operations on
 8979     corresponding gfid handles. While this in itself is not a problem,
 8980     logging of those gfid handles in place of actual file paths can
 8981     create confusions during debugging. The best way would be to
 8982     print both the actual file (recieved as an argument) for path
 8983     based operations and the gfid handle associated with it.
 8984     
 8985     Change-Id: I408c36ca6456f2e3981b93151c19ef7f60085ad6
 8986     fixes: bz#1675076
 8987     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
 8988 
 8989 commit e2ccf87e5cc4da13833276282df544844f0cf1c2
 8990 Author: Pranith Kumar K <pkarampu@redhat.com>
 8991 Date:   Wed Feb 13 14:56:17 2019 +0530
 8992 
 8993     Fix compilation for fops-sanity.c
 8994     
 8995     Without this patch the following error is seen:
 8996     ....
 8997     warning: implicit declaration of function ‘makedev’ [-Wimplicit-function-declaration]
 8998          ret = mknod("cspecial", S_IFCHR | S_IRWXU | S_IRWXG, makedev(2, 3));
 8999                                                               ^~~~~~~
 9000     /usr/bin/ld: /tmp/ccIVwT46.o: in function `path_based_fops':
 9001     /home/pk/workspace/gerrit-repo/tests/basic/fops-sanity.c:478:
 9002     undefined reference to `makedev'
 9003     ....
 9004     
 9005     updates bz#1676797
 9006     Change-Id: I8a17c38fdfd458dd2dc75f4c7e2bf20ce555a042
 9007     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
 9008 
 9009 commit e685e81fc5db25cd9cd7757fbede42b359e325cc
 9010 Author: Csaba Henk <csaba@redhat.com>
 9011 Date:   Wed Feb 13 16:00:27 2019 +0100
 9012 
 9013     docs: fix typo in Developer Guide Readme
 9014     
 9015     updates: bz#1193929
 9016     Change-Id: I3e13e5a2d7347cf2a4e3717e93b5e97325e2de97
 9017     Signed-off-by: Csaba Henk <csaba@redhat.com>
 9018 
 9019 commit 110006bbcd5bb3e814b4cfe7d74cb41891ac3b0c
 9020 Author: N Balachandran <nbalacha@redhat.com>
 9021 Date:   Wed Feb 6 09:58:55 2019 +0530
 9022 
 9023     cluster/dht: Request linkto xattrs in dht_rmdir opendir
 9024     
 9025     If parallel-readdir is enabled, the rda xlator is loaded
 9026     below dht in the graph and proactively lists and caches
 9027     entries when an opendir is performed. dht_rmdir checks if
 9028     the directory being deleted contains stale linkto files by
 9029     performing a readdirp on its child subvols. However, as
 9030     the entries are actually read in during the opendir operation
 9031     which does not request the linkto xattr,no linkto xattrs are
 9032     present for the entries causing dht to incorrectly identify
 9033     them as data files and fail the rmdir operation with ENOTEMPTY.
 9034     DHT now always adds the linkto xattr in the list of xattrs
 9035     requested in the opendir.
 9036     
 9037     Change-Id: I0711198e66c59146282eb8b88084170bedfb4018
 9038     fixes: bz#1672851
 9039     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 9040 
 9041 commit d6e7ad2911ba8ae246c3a3ec62f04a712beca517
 9042 Author: Kinglong Mee <kinglongmee@gmail.com>
 9043 Date:   Tue Jan 8 16:38:45 2019 +0800
 9044 
 9045     dht: fix double extra unref of inode at heal path
 9046     
 9047     The loc_wipe is done in the _out_ section, inode_unref(loc.parent) here
 9048     casues a double extra unref of loc.parent.
 9049     
 9050     Change-Id: I2dc809328d3d34bf7b02c7df9a4f97788af511e6
 9051     updates: bz#1651439
 9052     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
 9053 
 9054 commit b0f1d782fc45313fce4e1c0e74127401d5342d05
 9055 Author: N Balachandran <nbalacha@redhat.com>
 9056 Date:   Tue Feb 12 13:58:54 2019 +0530
 9057 
 9058     cluster/dht: Fix lookup selfheal and rmdir race
 9059     
 9060     A race between the lookup selfheal and rmdir can cause
 9061     directories to be healed only on non-hashed subvols.
 9062     This can prevent the directory from being listed from
 9063     the mount point and in turn causes rm -rf to fail with
 9064     ENOTEMPTY.
 9065     Fix: Update the layout information correctly and reduce
 9066     the call count only after processing the response.
 9067     
 9068     Change-Id: I812779aaf3d7bcf24aab1cb158cb6ed50d212451
 9069     fixes: bz#1676400
 9070     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 9071 
 9072 commit 8a90d346b9d3f69ff11241feb0011c90a8e57e30
 9073 Author: Amar Tumballi <amarts@redhat.com>
 9074 Date:   Sat Feb 9 13:23:06 2019 +0530
 9075 
 9076     inode: make critical section smaller
 9077     
 9078     do all the 'static' tasks outside of locked region.
 9079     
 9080     * hash_dentry() and hash_gfid() are now called outside locked region.
 9081     * remove extra __dentry_hash exported in libglusterfs.sym
 9082     * avoid checks in locked functions, if the check is done in calling
 9083       function.
 9084     * implement dentry_destroy(), which handles freeing of dentry separately,
 9085       from that of dentry_unset (which takes care of separating dentry from
 9086       inode, and table)
 9087     
 9088     Updates: bz#1670031
 9089     Change-Id: I584213e0748464bb427fbdef3c4ab6615d7d5eb0
 9090     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9091 
 9092 commit f251bf672dc8ce340c58d806a19cbd47e3a72ba9
 9093 Author: N Balachandran <nbalacha@redhat.com>
 9094 Date:   Wed Feb 13 10:20:29 2019 +0530
 9095 
 9096     tests/dht: Stop volume before unmounting bricks
 9097     
 9098     The bricks are loopback devices. Unmounting them is done
 9099     before the cleanup and leads to "target is busy" messages.
 9100     
 9101     Change-Id: Ia808c2c9580273e1bf0595ecf53c210847c44577
 9102     fixes: bz#1676736
 9103     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 9104 
 9105 commit 73d22d982b965f81a1fde2400b6d432242be0db5
 9106 Author: Amar Tumballi <amarts@redhat.com>
 9107 Date:   Wed Feb 13 10:08:34 2019 +0530
 9108 
 9109     rfc.sh: fix the missing rebase issue
 9110     
 9111     When we decided to use clang-format for coding-style, and not bother
 9112     about local `check-patch.pl`, we had commented out coding style check
 9113     method in `./rfc.sh`.  While it was intended and valid, we missed to
 9114     see one major issue with that. `git fetch` command, which fetched
 9115     latest code of the project, was inside the check_patches method, which
 9116     also got missed.
 9117     
 9118     Even though we had an explicit 'rebase_orgin' method, it did nothing
 9119     because the git fetch was not done before this. Now, calling an explicit
 9120     git fetch, and removing dead code of check patches, as we are all fine
 9121     with coding-style changes in last 4+ months.
 9122     
 9123     updates: bz#1193929
 9124     Change-Id: I3779096a527b93e780858ada8d988fdcdd6e2928
 9125     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9126 
 9127 commit 017721e5cad5b8a5b498a06e54098ea920d5bc96
 9128 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 9129 Date:   Thu Jan 3 17:44:18 2019 +0530
 9130 
 9131     afr/shd: Cleanup self heal daemon resources during afr fini
 9132     
 9133     We were not properly cleaning self-heal daemon resources
 9134     during afr fini. This patch will clean the same.
 9135     
 9136     Change-Id: I597860be6f781b195449e695d871b8667a418d5a
 9137     updates: bz#1659708
 9138     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 9139 
 9140 commit cccf41f254c601c249d064315592941375570f88
 9141 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9142 Date:   Tue Feb 12 09:11:34 2019 +0530
 9143 
 9144     performance/md-cache: change the op-version of "global-cache-invalidation"
 9145     
 9146     Since release-6 is not done yet, this option can be introduced with
 9147     GD_OP_VERSION_6_0.
 9148     
 9149     Change-Id: I8a0867e5b8b23d0d485704a2fc7a3efc4a90f637
 9150     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9151     updates: bz#1664934
 9152 
 9153 commit 34e6028e4ceaff5ceb1165317a3a90d02e0da4ac
 9154 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 9155 Date:   Wed Jan 23 21:55:01 2019 +0530
 9156 
 9157     clnt/rpc: ref leak during disconnect.
 9158     
 9159     During disconnect cleanup, we are not cancelling reconnect
 9160     timer, which causes a ref leak each time when a disconnect
 9161     happen.
 9162     
 9163     Change-Id: I9d05d1f368d080e04836bf6a0bb018bf8f7b5b8a
 9164     updates: bz#1659708
 9165     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 9166 
 9167 commit ecd1b4f700ea7a32cc4b46c633f88db7901ff320
 9168 Author: Amar Tumballi <amarts@redhat.com>
 9169 Date:   Sat Feb 9 13:00:21 2019 +0530
 9170 
 9171     fuse: reflect the actual default for lru-limit option
 9172     
 9173     in both `--help` text and man page
 9174     
 9175     updates: bz#1193929
 9176     Change-Id: I9aa9367c6863ac8e2403255280697c9e6be26cf0
 9177     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9178 
 9179 commit 2b5aa4489de2017a03bcb6ec8986286f0c76a670
 9180 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9181 Date:   Fri Feb 8 09:51:17 2019 +0530
 9182 
 9183     performance/md-cache: introduce an option to control invalidation of inodes
 9184     
 9185     Explicit invalidation by calling inode_invalidate is necessary when
 9186     same (meta)data is shared/access across multiple mounts. Without an
 9187     explicit inode_invalidate call, caches in the mount which didn't
 9188     witness writes wouldn't be aware of changes as writes wouldn't have
 9189     passed through them. However, if (meta)data is not shared, all
 9190     relevant I/O goes through the cache of single mount and hence is
 9191     coherent with (meta)data on bricks always. So, explicit inode
 9192     invalidation can be disabled for this case which gives a huge
 9193     performance boost for workloads that write data and then immediately
 9194     read the data they just wrote. Note that otherwise, local writes
 9195     (which pass through the cache) will change ctime and cause unnecessary
 9196     invalidations.
 9197     
 9198     The name of the option that controls this behavior is
 9199     "performance.global-cache-invalidation". This option is global and it
 9200     purges caches both in glusterfs and kernel stack for native FUSE
 9201     mounts. For non-native FUSE mounts, it purges cache only from
 9202     glusterfs stack. This option is effective only when
 9203     performance.stat-prefetch is on.
 9204     
 9205     Note that there is a similar option "performance.cache-invalidation",
 9206     but the scope of that option is limited to quick-read and md-cache.
 9207     
 9208     Change-Id: I462bb4b65ff9aae1f6ba76f50b1f2f94fb10323b
 9209     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9210     updates: bz#1664934
 9211 
 9212 commit 59ce06a73f15897acf5c712ac5073650c1b505bf
 9213 Author: Amar Tumballi <amarts@redhat.com>
 9214 Date:   Sat Feb 9 13:13:47 2019 +0530
 9215 
 9216     inode: create inode outside locked region
 9217     
 9218     Only linking of inode to the table, and inserting it in
 9219     a list needs to be in locked region.
 9220     
 9221     Updates: bz#1670031
 9222     Change-Id: I6ea7e956b80cf2765c2233d761909c4bf9c7253c
 9223     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9224 
 9225 commit 261147620a43aa415b7e8f11d51a89557846b1c4
 9226 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9227 Date:   Fri Feb 8 17:39:49 2019 +0530
 9228 
 9229     mount/fuse: fix bug related to --auto-invalidation in mount script
 9230     
 9231     When "auto-invalidation" option was not specified for mount script,
 9232     glusterfs cmdline ended with "--auto-invalidation=" option. This patch
 9233     fixes that bug in mount script.
 9234     
 9235     Thanks to Amar for reporting it.
 9236     
 9237     Change-Id: Ie5cd4c6ffb3ac644d9d2b032035f914a935d05a8
 9238     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9239     updates: bz#1664934
 9240 
 9241 commit 12af2067a82e37079e76723d3e25ba1c72ca078a
 9242 Author: Atin Mukherjee <amukherj@redhat.com>
 9243 Date:   Thu Feb 7 14:45:39 2019 +0530
 9244 
 9245     glusterd: improve logging
 9246     
 9247     glusterd_resolve_all_bricks failure log should highlight the brick
 9248     identifier.
 9249     
 9250     Updates: bz#1193929
 9251     Change-Id: I035b4650ef6a14bb1e1221d3bad1c40f9d43dbdd
 9252     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
 9253 
 9254 commit ddcb3c7438472072daa6fbe3f3b87067b6d7bc54
 9255 Author: ShyamsundarR <srangana@redhat.com>
 9256 Date:   Tue Feb 5 20:44:28 2019 -0500
 9257 
 9258     api: Update all future API versions to rel-6
 9259     
 9260     As release 6 is branched, all future APIs now become 6.0
 9261     
 9262     This change implements the same.
 9263     
 9264     Change-Id: I6db368b4dc8585278ec11d4a411adcd04635de53
 9265     Updates: bz#1193929
 9266     Signed-off-by: ShyamsundarR <srangana@redhat.com>
 9267 
 9268 commit 539c3027d47959eb37e280807b731d3e37e8ac33
 9269 Author: Xavi Hernandez <xhernandez@redhat.com>
 9270 Date:   Tue Feb 5 16:57:52 2019 +0100
 9271 
 9272     fuse: correctly handle setxattr values
 9273     
 9274     The setxattr function receives a pointer to raw data, which may not be
 9275     null-terminated. When this data needs to be interpreted as a string, an
 9276     explicit null termination needs to be added before using the value.
 9277     
 9278     Change-Id: Id110f9b215b22786da5782adec9449ce38d0d563
 9279     updates: bz#1193929
 9280     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 9281 
 9282 commit 208c368cc7e6f8124bf65ecefdbc5f4304b4f484
 9283 Author: Nigel Babu <nigelb@redhat.com>
 9284 Date:   Mon Jan 21 12:17:04 2019 +0530
 9285 
 9286     Bump up timeout for tests on AWS
 9287     
 9288     Fixes: bz#1672727
 9289     Change-Id: I2b9be45f199f6436b858536c6f49be85902217f0
 9290     Signed-off-by: Nigel Babu <nigelb@redhat.com>
 9291 
 9292 commit bdb8d7b9f6e2c53db5de43a6b4c8f8c2ab3f6d69
 9293 Author: ShyamsundarR <srangana@redhat.com>
 9294 Date:   Tue Feb 5 20:14:07 2019 -0500
 9295 
 9296     glusterd: Update op-version for release 7
 9297     
 9298     Change-Id: I0f3978d7e603e6e767dc7aa2a23ef35b1f2b43f7
 9299     Updates: bz#1193929
 9300     Signed-off-by: ShyamsundarR <srangana@redhat.com>
 9301 
 9302 commit 90922d20f55e26b23bfab0fbc4e179e305c38037
 9303 Author: Sanju Rakonde <srakonde@redhat.com>
 9304 Date:   Mon Feb 4 15:07:14 2019 +0530
 9305 
 9306     glusterd: get-state command should not fail if any brick is gone bad
 9307     
 9308     Problem: get-state command will error out, if any of the underlying
 9309     brick(s) of volume(s) in the cluster go bad.
 9310     
 9311     It is expected that get-state command should not error out, but
 9312     should generate an output successfully.
 9313     
 9314     Solution: In glusterd_get_state(), a statfs call is made on the
 9315     brick path for every bricks of the volumes to calculate the total
 9316     and free memory available. If any of statfs call fails on any
 9317     brick, we should not error out and should report total memory and free
 9318     memory of that brick as 0.
 9319     
 9320     This patch also handles a statfs failure scenario in
 9321     glusterd_store_retrieve_bricks().
 9322     
 9323     fixes: bz#1672205
 9324     
 9325     Change-Id: Ia9e8a1d8843b65949d72fd6809bd21d39b31ad83
 9326     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
 9327 
 9328 commit a9b51f2d1fd3a8be6496b62b989b6838b542936b
 9329 Author: Kotresh HR <khiremat@redhat.com>
 9330 Date:   Fri Feb 1 12:24:14 2019 +0530
 9331 
 9332     geo-rep: Fix configparser import issue
 9333     
 9334     'configparser' is backported to python2 and can
 9335     be installed using pip (pip install configparser).
 9336     So trying to import 'configparser' first and later
 9337     'ConfigParser' can cause issues w.r.t unicode strings.
 9338     
 9339     Always try importing 'ConfigParser' first and then
 9340     'configparser'. This solves python2/python3 compat
 9341     issues.
 9342     
 9343     Change-Id: I2a87c3fc46476296b8cb547338f35723518751cc
 9344     fixes: bz#1671637
 9345     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 9346 
 9347 commit f87a3e840306052a120529ea5a190240179078c1
 9348 Author: Rinku Kothiya <rkothiya@redhat.com>
 9349 Date:   Mon Jan 21 11:16:09 2019 +0000
 9350 
 9351     cli: Added the group option for volume set
 9352     
 9353     gluster volume set <VOLUME> group <GROUP> is used for setting multiple
 9354     pre-defined volume options, but this was undocumented. This patch doc-
 9355     ments this feature.
 9356     
 9357     fixes: bz#1243991
 9358     
 9359     Change-Id: Id346cf2537f85179caff32479f09555ce2e72e76
 9360     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
 9361 
 9362 commit ec05f3a21f44e1fd5e089b7a0fffd5265b67cdfc
 9363 Author: Amar Tumballi <amarts@redhat.com>
 9364 Date:   Mon Dec 17 14:16:21 2018 +0530
 9365 
 9366     glusterd: manage upgrade to current master
 9367     
 9368     Scenarios tested:
 9369     
 9370     * Upgrade the node when there are stripe / tiering and regular
 9371     type of volumes are present.
 9372       - All volumes are started fine (as the change was not on brick volfile)
 9373       - For tier, the functionality may not even work, as changetimerecorder
 9374         is not present.
 9375       - 'gluster volume info' properly shows as 'NOT SUPPORTED' for stripe and
 9376         tier type of volume.
 9377     
 9378     * Upgrade in a rolling upgrade scenario, where an old version is
 9379     able to connect to higher master.
 9380       - on a normal volume, if the volfile-server was new, the newer client
 9381         volfiles needed to have utime xlator conditionally.
 9382       - with this one change, all other changes seem to work fine.
 9383     
 9384     Change-Id: Ib2d3b69dafa02b2c695a735b13c1aa70aba07cb8
 9385     updates: bz#1635688
 9386     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9387 
 9388 commit da5ae3afcd1b16bb0f2f9bffc1878b17b75429ed
 9389 Author: N Balachandran <nbalacha@redhat.com>
 9390 Date:   Tue Jan 29 09:47:32 2019 +0530
 9391 
 9392     cluster/dht: Do not use gfid-req in fresh lookup
 9393     
 9394     Fuse sets a random gfid-req value for a fresh lookup. Posix
 9395     lookup will set this gfid on entries with missing gfids causing
 9396     a GFID mismatch for directories.
 9397     DHT will now ignore the Fuse provided gfid-req and use the GFID
 9398     returned from other subvols to heal the missing gfid.
 9399     
 9400     Change-Id: I5f541978808f246ba4542564251e341ec490db14
 9401     fixes: bz#1670259
 9402     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 9403 
 9404 commit 23e530a135fc419fba401448290f8b1809e23f53
 9405 Author: Shwetha K Acharya <sacharya@redhat.com>
 9406 Date:   Mon Dec 10 13:45:34 2018 +0530
 9407 
 9408     glusterfind: python2 to python3 compat
 9409     
 9410     Made necessary modifications to ensure python3 compatibilty.
 9411     
 9412     fixes: bz#1658116
 9413     Change-Id: I5cf1d0447eaf3c44eb444245d1f67aadd60705c3
 9414     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 9415 
 9416 commit a229ee1c8cdf8e0ac1abaeb60cabe6ab08f60546
 9417 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9418 Date:   Tue Jan 29 08:05:07 2019 +0530
 9419 
 9420     mount/fuse: expose auto-invalidation as a mount option
 9421     
 9422     Auto invalidation is necessary when same (meta)data is shared/access
 9423     across multiple mounts. However, if (meta)data is not shared, all
 9424     relevant I/O goes through the cache of single mount and hence is
 9425     coherent with (meta)data on bricks always. So, fuse-auto-invalidation
 9426     can be disabled for this case which gives a huge performance boost for
 9427     workloads that write data and then immediately read the data they just
 9428     wrote.
 9429     
 9430     From glusterfs --help,
 9431     
 9432     <snip>
 9433           --auto-invalidation[=BOOL]   controls whether fuse-kernel can
 9434                                  auto-invalidate attribute, dentry and page-cache.
 9435                                  Disable this only if same files/directories are
 9436                                  not accessed across two different mounts
 9437                                  concurrently [default: "on"]
 9438     </snip>
 9439     
 9440     Details on how disabling auto-invalidation helped to reduce pgbench
 9441     init times can be found at [1]. Time taken for pgbench init of scale
 9442     8000 was 8340s. That will be an improvement of 86% (59280s vs 8340s)
 9443     with auto-invalidations turned off along with other
 9444     optimizations. Just disabling auto-invalidation contributed 56%
 9445     improvement by reducing the total time taken by 33260s.
 9446     
 9447     [1] https://www.spinics.net/lists/gluster-devel/msg25907.html
 9448     
 9449     Change-Id: I0ed730dba9064bd9c576ad1800170a21e100e1ce
 9450     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
 9451     updates: bz#1664934
 9452 
 9453 commit 4674678951a1315975d66016fb55c49100b7819f
 9454 Author: Xavi Hernandez <xhernandez@redhat.com>
 9455 Date:   Thu Jan 24 18:31:10 2019 +0100
 9456 
 9457     core: make gf_thread_create() easier to use
 9458     
 9459     This patch creates a specific function to set the thread name using a
 9460     string format and a variable argument list, like printf().
 9461     
 9462     This function is used to set the thread name from gf_thread_create(),
 9463     which now accepts a variable argument list to create the full name. It's
 9464     not necessary anymore to use a local array to build the name of the
 9465     thread. This is done automatically.
 9466     
 9467     Change-Id: Idd8d01fd462c227359b96e98699f8c6d962dc17c
 9468     Updates: bz#1193929
 9469     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 9470 
 9471 commit 6b98735956c599ea621fa560b201fb7de6c36cac
 9472 Author: Ashish Pandey <aspandey@redhat.com>
 9473 Date:   Fri Dec 21 14:31:15 2018 +0530
 9474 
 9475     cluster/thin-arbiter: Consider thin-arbiter before marking new entry changelog
 9476     
 9477     If a fop to create an entry fails on one of the data brick,
 9478     we mark the pending changelog on the entry on brick for which
 9479     it was successful. This is done as part of post op phase to
 9480     make sure that entry gets healed even if it gets renamed to
 9481     some other path where its parent was not marked as bad.
 9482     
 9483     As it happens as part of post op, we should consider thin-arbiter
 9484     to check if the brick, which was successful, is the good brick or not.
 9485     This will avoide split brain and other issues.
 9486     
 9487     Change-Id: I12686675be98f02f70a5186b3ed748c541514d53
 9488     updates: bz#1662264
 9489     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
 9490 
 9491 commit 7eda6fe62d4e47937afc2ba71b4fd858399bca05
 9492 Author: N Balachandran <nbalacha@redhat.com>
 9493 Date:   Mon Jan 28 11:55:17 2019 +0530
 9494 
 9495     cluster/dht: Remove internal permission bits
 9496     
 9497     Rebalance sets the sgid and t bits on a file
 9498     that is being migrated. These permissions are
 9499     not removed in dht_readdirp_cbk when listing files
 9500     causing them to show up on the mountpoint.
 9501     We now remove these permissions if a non-linkto
 9502     file has the linkto xattr set.
 9503     
 9504     Change-Id: I5c69b2ecfe2df804fe50faea903b242d01729596
 9505     fixes: bz#1669937
 9506     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 9507 
 9508 commit 62a61c548d85d8c894907d7c43ef66c009a4757d
 9509 Author: Milind Changire <mchangir@redhat.com>
 9510 Date:   Thu Jan 31 11:30:27 2019 +0530
 9511 
 9512     core: move "dict is NULL" logs to DEBUG log level
 9513     
 9514     Too many logs get printed if dict_ref() and dict_unref() are passed NULL
 9515     pointer.
 9516     
 9517     fixes: bz#1671213
 9518     Change-Id: I18afd849d64318f68baa7b549ee310dac0e1e786
 9519     Signed-off-by: Milind Changire <mchangir@redhat.com>
 9520 
 9521 commit 2fb445babdd621b71676e40804fe98e95fc9084d
 9522 Author: Xavi Hernandez <xhernandez@redhat.com>
 9523 Date:   Thu Jan 31 08:13:58 2019 +0100
 9524 
 9525     syncop: remove unnecessary call to gf_backtrace_save()
 9526     
 9527     A call to gf_backtrace_save() was done on each context switch of a
 9528     synctask. The backtrace is generated writing to the filesystem, so it
 9529     can have an important impact on latency.
 9530     
 9531     The generated backtrace was not used anywhere, so it's been removed.
 9532     
 9533     Change-Id: I399a93b932c5b6e981c696c72c3e1ef44710ba52
 9534     Updates: bz#1193929
 9535     Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
 9536 
 9537 commit 8bc33a2d90df6439e7636aadbefdd9041f9698c3
 9538 Author: Mohit Agrawal <moagrawal@redhat.com>
 9539 Date:   Sat Sep 29 13:15:35 2018 +0530
 9540 
 9541     feature/bitrot: Avoid thread creation if xlator is not enabled
 9542     
 9543     Problem: Avoid thread creation for bitrot-stub
 9544              for a volume if feature is not enabled
 9545     
 9546     Solution: Before thread creation check the flag if feature
 9547               is enabled
 9548     
 9549     Updates: #475
 9550     Change-Id: I2c6cc35bba142d4b418cc986ada588e558512c8e
 9551     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 9552     Signed-off-by: Kotresh HR <khiremat@redhat.com>
 9553 
 9554 commit b41cdeb638f9f9ec2fef13ec95c216faf52a9df9
 9555 Author: Mohit Agrawal <moagrawal@redhat.com>
 9556 Date:   Mon Jan 28 21:28:45 2019 +0530
 9557 
 9558     core: heketi-cli is throwing error "target is busy"
 9559     
 9560     Problem: When rpc-transport-disconnect happens, server_connection_cleanup_flush_cbk()
 9561              is supposed to call rpc_transport_unref() after open-files on
 9562              that transport are flushed per transport.But open-fd-count is
 9563              maintained in bound_xl->fd_count, which can be incremented/decremented
 9564              cumulatively in server_connection_cleanup() by all transport
 9565              disconnect paths. So instead of rpc_transport_unref() happening
 9566              per transport, it ends up doing it only once after all the files
 9567              on all the transports for the brick are flushed leading to
 9568              rpc-leaks.
 9569     
 9570     Solution: To avoid races maintain fd_cnt at client instead of maintaining
 9571               on brick
 9572     
 9573     Credits: Pranith Kumar Karampuri
 9574     Change-Id: I6e8ea37a61f82d9aefb227c5b3ab57a7a36850e6
 9575     fixes: bz#1668190
 9576     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 9577 
 9578 commit 09db11b0c020bc79d493c6d7e7ea4f3beb000c68
 9579 Author: Ravishankar N <ravishankar@redhat.com>
 9580 Date:   Tue Jan 29 11:51:16 2019 +0530
 9581 
 9582     readdir-ahead: do not zero-out iatt in fop cbk
 9583     
 9584     ...when ctime is zero. ia_type and ia_gfid always need to be non-zero
 9585     for things to work correctly.
 9586     
 9587     Problem:
 9588     Commit c9bde3021202f1d5c5a2d19ac05a510fc1f788ac zeroed out the iatt
 9589     buffer in the cbks of modification fops before unwinding if the ctime in
 9590     the buffer was zero. This was causing the fops to fail: noticeable when
 9591     AFR's 'consistent-metadata' option was enabled. (AFR zeros out the ctime
 9592     when the option is set. See commit
 9593     4c4624c9bad2edf27128cb122c64f15d7d63bbc8).
 9594     
 9595     Fixes:
 9596     -Do not zero out the ia_type and ia_gfid of the iatt buff under any
 9597     circumstance.
 9598     -Also, fixed _rda_inode_ctx_update_iatts() to always update these values from
 9599     the incoming buf when ctime is zero. Otherwise we end up with zero
 9600     ia_type and ia_gfid the first time the function is called *and* the
 9601     incoming buf has ctime set to zero.
 9602     
 9603     fixes: bz#1670253
 9604     Reported-By:Michael Hanselmann <public@hansmi.ch>
 9605     Change-Id: Ib72228892d42c3513c19fc6dfb543f2aa3489eca
 9606     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
 9607 
 9608 commit 4aee035cd2a32750326b83b5fe08af7c8abab284
 9609 Author: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 9610 Date:   Tue Jan 29 03:16:16 2019 -0500
 9611 
 9612     api: bad GFAPI_4.1.6 block
 9613     
 9614     missing global: line, tabs not spaces
 9615     
 9616     Change-Id: Icdbc23b4e4cd608da1d764e81757201c4b1269a6
 9617     updates: bz#1193929
 9618     Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
 9619 
 9620 commit 829337ed3971a53086f1562d826e79d4f3e3ed39
 9621 Author: Amar Tumballi <amarts@redhat.com>
 9622 Date:   Mon Jan 28 18:30:24 2019 +0530
 9623 
 9624     features/sdfs: disable by default
 9625     
 9626     With the feature enabled, some of the performance testing results,
 9627     specially those which create millions of small files, got approximately
 9628     4x regression compared to version before enabling this.
 9629     
 9630     On master without this patch:  765 creates/sec
 9631     On master with this patch   : 3380 creates/sec
 9632     
 9633     Also there seems to be regression caused by this in 'ls -l' workload.
 9634     
 9635     On master without this patch:  3030 files/sec
 9636     On master with this patch   : 16610 files/sec
 9637     
 9638     This is a feature added to handle multiple clients parallely operating
 9639     (specially those which race for file creates with same name) on a single
 9640     namespace/directory. Considering that is < 3% of Gluster's usecase right
 9641     now, it makes sense to disable the feature by default, so we don't
 9642     penalize the default users who doesn't bother about this usecase.
 9643     Also note that the client side translators, specially, distribute,
 9644     replicate and disperse already handle the issue upto 99.5% of the cases
 9645     without SDFS, so it makes sense to keep the feature disabled by default.
 9646     
 9647     Credits: Shyamsunder <srangana@redhat.com> for running the tests and
 9648     getting the numbers.
 9649     
 9650     Change-Id: Iec49ce1d82e621e9db25eb633fcb1d932e74f4fc
 9651     Updates: bz#1670031
 9652     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9653 
 9654 commit c7d1aee76d5713d1f337ab1c831c0ed74e4676e1
 9655 Author: Yaniv Kaul <ykaul@redhat.com>
 9656 Date:   Thu Dec 27 18:56:16 2018 +0200
 9657 
 9658     Multiple files: reduce work while under lock.
 9659     
 9660     Mostly, unlock before logging.
 9661     In some cases, moved different code that was not needed
 9662     to be under lock (for example, taking time, or malloc'ing)
 9663     to be executed before taking the lock.
 9664     
 9665     Note: logging might be slightly less accurate in order, since it may
 9666     not be done now under the lock, so order of logs is racy. I think
 9667     it's a reasonable compromise.
 9668     
 9669     Compile-tested only!
 9670     updates: bz#1193929
 9671     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
 9672     
 9673     Change-Id: I2438710016afc9f4f62a176ef1a0d3ed793b4f89
 9674 
 9675 commit f747d55a7fd364e2b9a74fe40360ab3cb7b11537
 9676 Author: Zhang Huan <zhanghuan@open-fs.com>
 9677 Date:   Tue Jan 8 16:17:06 2019 +0800
 9678 
 9679     socket: fix issue on concurrent handle of a socket
 9680     
 9681     Found an issue on concurrent invoke of event handler to the same socket
 9682     fd, causing memory corruption. This issue arises after applying commit
 9683     "socket: Remove redundant in_lock in incoming message handling" that
 9684     removes priv->in_lock to serialize socket read.
 9685     
 9686     The following call sequence describes how concurrent socket event handle
 9687     happens.
 9688        thread 1                    thread 2                thread 3
 9689     epoll_wait() return
 9690     (slot->in_handler is 0)  call select_on_epoll()
 9691                              and epoll_ctl() on fd
 9692                                                         epoll_wait() return
 9693     slot->in_handler++
 9694     (slot->in_handler is 1)
 9695                                                         slot->in_handler++
 9696                                                         (slot->in_handler is 2)
 9697     call handler()                                      call handler()
 9698     
 9699     Fix this issue by skip invoke of handler if there is already a handler
 9700     inprogress.
 9701     
 9702     Change-Id: I437126ac772debcadb00993a948919c931cd607b
 9703     updates: bz#1467614
 9704     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
 9705 
 9706 commit 72922c1fd69191b220f79905a23395c3a87f86ce
 9707 Author: Krutika Dhananjay <kdhananj@redhat.com>
 9708 Date:   Thu Jan 24 14:14:39 2019 +0530
 9709 
 9710     features/shard: Ref shard inode while adding to fsync list
 9711     
 9712     PROBLEM:
 9713     
 9714     Lot of the earlier changes in the management of shards in lru, fsync
 9715     lists assumed that if a given shard exists in fsync list, it must be
 9716     part of lru list as well. This was found to be not true.
 9717     
 9718     Consider this - a file is FALLOCATE'd to a size which would make the
 9719     number of participant shards to be greater than the lru list size.
 9720     In this case, some of the resolved shards that are to participate in
 9721     this fop will be evicted from lru list to give way to the rest of the
 9722     shards. And once FALLOCATE completes, these shards are added to fsync
 9723     list but without a ref. After the fop completes, these shard inodes
 9724     are unref'd and destroyed while their inode ctxs are still part of
 9725     fsync list. Now when an FSYNC is called on the base file and the
 9726     fsync-list traversed, the client crashes due to illegal memory access.
 9727     
 9728     FIX:
 9729     
 9730     Hold a ref on the shard inode when adding to fsync list as well.
 9731     And unref under following conditions:
 9732     1. when the shard is evicted from lru list
 9733     2. when the base file is fsync'd
 9734     3. when the shards are deleted.
 9735     
 9736     Change-Id: Iab460667d091b8388322f59b6cb27ce69299b1b2
 9737     fixes: bz#1669077
 9738     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
 9739 
 9740 commit 99b3ab0cf3d3389a2ff89c29cfff906cd36693a3
 9741 Author: Amar Tumballi <amarts@redhat.com>
 9742 Date:   Fri Jan 11 11:57:07 2019 +0530
 9743 
 9744     tests: run nfs tests only if --enable-gnfs is provided
 9745     
 9746     Fixes: bz#1665358
 9747     Change-Id: Idbf88ec3ac683733b32c313377eeb72f2819bf0d
 9748     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9749 
 9750 commit 06061aaa447f03e2522483d02525619ebc9854db
 9751 Author: Ravishankar N <ravishankar@redhat.com>
 9752 Date:   Thu Jan 24 12:14:11 2019 +0530
 9753 
 9754     afr/self-heal:Fix wrong type checking
 9755     
 9756     gf_dirent struct has d_type variable which should check
 9757     with DT_DIR istead of IA_IFDIR or IA_IFDIR has to compare
 9758     with entry->d_stat.ia_type
 9759     
 9760     Change-Id: Idf1059ce2a590734bc5b6adaad73604d9a708804
 9761     updates: bz#1653359
 9762     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 9763 
 9764 commit 04f84756e1baa5eff4560339700f82970eaa5d80
 9765 Author: Mohit Agrawal <moagrawal@redhat.com>
 9766 Date:   Tue Jan 22 12:57:50 2019 +0530
 9767 
 9768     core: heketi-cli is throwing error "target is busy"
 9769     
 9770     Problem: At the time of deleting block hosting volume
 9771              through heketi-cli , it is throwing an error "target is busy".
 9772              cli is throwing an error because brick is not detached successfully
 9773              and brick is not detached due to race condition to cleanp xprt
 9774              associated with detached brick
 9775     
 9776     Solution: To avoid xprt specifc race condition introduce an atomic flag
 9777               on rpc_transport
 9778     
 9779     Change-Id: Id4ff1fe8375a63be71fb3343f455190a1b8bb6d4
 9780     fixes: bz#1668190
 9781     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 9782 
 9783 commit 9de432847cd699457623de84f76f7598aecd61e3
 9784 Author: Amar Tumballi <amarts@redhat.com>
 9785 Date:   Tue Jan 22 13:30:34 2019 +0530
 9786 
 9787     tests/bug-brick-mux-restart: add extra information
 9788     
 9789     so that we can understand more about process memory and thread consumptions
 9790     With this, we will also be able to understand more about the process details
 9791     with brick-mux.
 9792     
 9793     updates: bz#1193929
 9794     Change-Id: I147a3e3814fc37dfb635217d0a0f0184fae0994f
 9795     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9796 
 9797 commit 990d6a99d41111ea18481db55566a96c2fc4dad4
 9798 Author: Amar Tumballi <amarts@redhat.com>
 9799 Date:   Wed Jan 16 20:24:06 2019 +0530
 9800 
 9801     core: move logs which are only developer relevant to DEBUG level
 9802     
 9803     We had only changed the log level to DEBUG in release branch earlier.
 9804     But considering 90%+ of our deployments happen in same env, we can look
 9805     at these specific logs on need basis. With this change, the master
 9806     branch will be easier to debug with lesser logs.
 9807     
 9808     Change-Id: I4157a7ec7d5ec9c2948b2bbc1e4cb8317f28d6b8
 9809     Updates: bz#1666833
 9810     Signed-off-by: Amar Tumballi <amarts@redhat.com>
 9811 
 9812 commit cf12a446f86169d0954e68dad36a7763cb178a0e
 9813 Author: Mohammed Rafi KC <rkavunga@redhat.com>
 9814 Date:   Mon Jan 21 17:01:33 2019 +0530
 9815 
 9816     performance/readdir-ahead: Fix deadlock in readdir ahead.
 9817     
 9818     This patch fixes a lock contention in reaadir-ahead xlator.
 9819     
 9820     There are two issues, one is the processing of "." ".."
 9821     entry while holding an fd_ctx lock. The other one is destroying
 9822     the stack inside a fd_ctx lock.
 9823     
 9824     Change-Id: Id0bf83a3d9fea6b40015b8d167525c59c6cfa25e
 9825     updates: bz#1659708
 9826     Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
 9827 
 9828 commit d193ed84ae2886d89b899e02e9642e61bdab462a
 9829 Author: Shwetha K Acharya <sacharya@redhat.com>
 9830 Date:   Mon Dec 31 10:55:21 2018 +0530
 9831 
 9832     tools/glusterfind: option to display only files/directories
 9833     
 9834     Updated full find to filter for files and directories.
 9835     --full --type f  lists only the files,
 9836     --full --type d lists only the directories,
 9837     --full (by default) lists both files and directories.
 9838     
 9839     fixes: #579
 9840     Change-Id: If2c91a21a131667d5de34635c1846013e8fa20b7
 9841     Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
 9842 
 9843 commit 86d4eac6c6f2d774a579ef134f6526f75504c46e
 9844 Author: Mohit Agrawal <moagrawal@redhat.com>
 9845 Date:   Tue Jan 22 18:01:40 2019 +0530
 9846 
 9847     posix: Change data type to dump nr_files to statedump
 9848     
 9849     Problem: In commit 2261e444a47ffffb5d64305efceee1d5a734cd75
 9850              wrong data type of nr_files was changed to dump
 9851              nr_files to statedump so build is failing on 32bit
 9852              environment
 9853     
 9854     Solution: Change data type to avoid errors
 9855     
 9856     Change-Id: Ifb4b19feda6e0e56d110b23351e7a0efd5bfa29b
 9857     fixes: bz#1657607
 9858     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 9859 
 9860 commit 832f60d41d9a392e77e5b81e7a44a97003b7541f
 9861 Author: Poornima G <pgurusid@redhat.com>
 9862 Date:   Tue Jan 22 16:07:52 2019 +0530
 9863 
 9864     rpc: Fix double free
 9865     
 9866     The value rsp.xdata.xdata_val was being freed twice. It was assigned
 9867     to dict->extra_stdfree, dict_destroy would free it and also there was
 9868     an explicit free. Getting rid of explicit free in this patch.
 9869     
 9870     Change-Id: Ia9c73454bec3970b33f154fa754398bf3b045645
 9871     fixes: bz#1668268
 9872     Signed-off-by: Poornima G <pgurusid@redhat.com>
 9873 
 9874 commit b6c417785e54620331ae35d6971fe8bef98b4619
 9875 Author: Milind Changire <mchangir@redhat.com>
 9876 Date:   Tue Jan 22 12:10:59 2019 +0530
 9877 
 9878     rpc: use address-family option from vol file
 9879     
 9880     This patch helps enable IPv6 connections in the cluster.
 9881     The default address-family is IPv4 without using this option explicitly.
 9882     
 9883     When address-family is set to "inet6" in the /etc/glusterfs/glusterd.vol
 9884     file, the mount command-line also needs to have
 9885     -o xlator-option="transport.address-family=inet6" added to it.
 9886     
 9887     This option also gets added to the brick command-line.
 9888     Snapshot and gfapi use-cases should also use this option to pass in the
 9889     inet6 address-family.
 9890     
 9891     Change-Id: I97db91021af27bacb6d7578e33ea4817f66d7270
 9892     fixes: bz#1635863
 9893     Signed-off-by: Milind Changire <mchangir@redhat.com>
 9894 
 9895 commit 67bc3775685198b9ab10c1f2a0d957b157bb4acd
 9896 Author: Iraj Jamali <ijamali@redhat.com>
 9897 Date:   Fri Nov 30 17:23:57 2018 +0530
 9898 
 9899     afr: not resolve splitbrains when copies are of same size
 9900     
 9901     Automatic Splitbrain with size as policy must
 9902     not resolve splitbrains when the copies are of same size.
 9903     Determining if the sizes of copies are same and
 9904     returning -1 in that case.
 9905     
 9906     updates: bz#1655052
 9907     
 9908     Change-Id: I3d8e8b4d7962b070ed16c3ee02a1e5a926fd5eab
 9909     Signed-off-by: Iraj Jamali <ijamali@redhat.com>
 9910 
 9911 commit cd5714554627fe90ee2c77685cb410a8fb25eceb
 9912 Author: Zhang Huan <zhanghuan@open-fs.com>
 9913 Date:   Thu Jan 3 17:57:38 2019 +0800
 9914 
 9915     socket: don't pass return value from protocol handler to event handler
 9916     
 9917     Event handler handles socket level error only, while protocol handler
 9918     handles in protocol level error. If protocol handler decides to
 9919     disconnect on error in any case, it should call disconnect instead of
 9920     return an error back to event handler.
 9921     
 9922     Change-Id: I9375be98cc52cb969085333f3c7229a91207d1bd
 9923     updates: bz#1666143
 9924     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
 9925 
 9926 commit 4d9935a4db67be0237db5fc6a2b51086635571f6
 9927 Author: Zhang Huan <zhanghuan@open-fs.com>
 9928 Date:   Sat Dec 29 16:26:58 2018 +0800
 9929 
 9930     socket: fix issue when socket read return with EAGAIN
 9931     
 9932     In the case socket read returns EAGAIN, positive value about remaining
 9933     vector to send is returned. This return value will be passed all the way
 9934     back to event handler, making it complains.
 9935     
 9936     [2018-12-29 08:02:25.603199] T [socket.c:1640:__socket_read_simple_payload] 0-test-client-0-extra.0: partial read on non-blocking socket.
 9937     [2018-12-29 08:02:25.603201] T [rpc-clnt.c:654:rpc_clnt_reply_init] 0-test-client-2-extra.1: received rpc message (RPC XID: 0xfa6 Program: GlusterFS 4.x v1, ProgVers: 400, Proc: 12) from rpc-transport (test-client-2-extra.1)
 9938     [2018-12-29 08:02:25.603207] T [socket.c:3129:socket_event_handler] 0-test-client-0-extra.0: (sock:32) socket_event_poll_in returned 1
 9939     
 9940     Formerly, in socket_proto_state_machine, return value of socket_readv is
 9941     used to check if message is all read-in. In this commit, it is checked
 9942     whether size of bytes indicated in header are all read in. In this way,
 9943     only 0 and -1 will be returned from socket_proto_state_machine(),
 9944     indicating whether there is error in the underlying socket.
 9945     
 9946     Change-Id: I8be0d178b049f0720d738a03aec41c4b375d2972
 9947     updates: bz#1666143
 9948     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
 9949 
 9950 commit 3c556353cd1dde0593096c9e9e11b877403971f0
 9951 Author: Susant Palai <spalai@redhat.com>
 9952 Date:   Fri Jan 18 17:26:36 2019 +0530
 9953 
 9954     locks/fencing: Add a security knob for fencing
 9955     
 9956     There is a low level security issue with fencing since one client
 9957     can preempt another client's lock.
 9958     
 9959     This patch does not completely eliminate the issue of a client
 9960     misbehaving, but certainly it adds a security layer for default use cases
 9961     that does not need fencing.
 9962     
 9963     Change-Id: I55cd15f2ed1ae0f2556e3d27a2ef4bc10fdada1c
 9964     updates: #466
 9965     Signed-off-by: Susant Palai <spalai@redhat.com>
 9966 
 9967 commit 4f58d35f064e5fba3a02b7be8b2525ebe2114254
 9968 Author: N Balachandran <nbalacha@redhat.com>
 9969 Date:   Mon Jan 21 15:15:51 2019 +0530
 9970 
 9971     cluster/dht: Delete invalid linkto files in rmdir
 9972     
 9973     rm -rf <dir> fails on dirs which contain linkto files
 9974     that point to themselves because dht incorrectly thought
 9975     that they were cached files after looking them up.
 9976     The fix now treats them as invalid linkto files
 9977     and deletes them.
 9978     
 9979     Change-Id: I376c72a5309714ee339c74485e02cfb4e29be643
 9980     fixes: bz#1667804
 9981     Signed-off-by: N Balachandran <nbalacha@redhat.com>
 9982 
 9983 commit 4deeab02e3d15bd266f24d0f7b28f0e5401fa950
 9984 Author: Mohit Agrawal <moagrawal@redhat.com>
 9985 Date:   Mon Jan 21 17:53:12 2019 +0530
 9986 
 9987     glusterd: Avoid dict_leak in __glusterd_handle_cli_uuid_get function
 9988     
 9989     Change-Id: Iefe08b136044495f6fa2b092c9e8c833efee1400
 9990     fixes: bz#1667905
 9991     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
 9992 
 9993 commit 2a8a66d58ad7ad28d32de42bd3423d7aa3917e3b
 9994 Author: Xiubo Li <xiubli@redhat.com>
 9995 Date:   Sun Jan 13 17:30:11 2019 +0800
 9996 
 9997     common-utils: make vector a const parameter
 9998     
 9999     To avoid the warning and preparing for adding writesame support.
10000     
10001     Updates: #617
10002     Change-Id: I0710b1e4c240368a9bf52968bddc6e250ae2028d
10003     Signed-off-by: Xiubo Li <xiubli@redhat.com>
10004 
10005 commit 5903111ad21cb937258c0fda24ea7dec466347b4
10006 Author: Mohit Agrawal <moagrawal@redhat.com>
10007 Date:   Mon Jan 21 09:12:30 2019 +0530
10008 
10009     glusterd: Resolve memory leak in get-state command
10010     
10011     In gluster get-state volumeoptions command there was some amount of leak
10012     observed. This fix resolves the identified leaks.
10013     
10014     Change-Id: Ibde5743d1136fa72c531d48bb1b0b5da0c0b82a1
10015     fixes: bz#1667779
10016     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
10017 
10018 commit 11aaecccad03d5803dc7be63c3e36af75da8126d
10019 Author: Iraj Jamali <ijamali@redhat.com>
10020 Date:   Mon Jan 7 15:19:18 2019 +0530
10021 
10022     posix: fix coverity issue
10023     
10024     Logically dead code
10025     
10026     CID: 1398468
10027     Updates: bz#789278
10028     
10029     Change-Id: I8713a0c51777eb64e617d00ab72fd1db4994b6ab
10030     Signed-off-by: Iraj Jamali <ijamali@redhat.com>
10031 
10032 commit cd16967a77d04a8d0c5d5c3ab5346ccdd1df89cb
10033 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10034 Date:   Fri Nov 30 19:49:59 2018 +0530
10035 
10036     afr: Splitbrain with size as policy must not resolve for directory
10037     
10038     In automatic Splitbrain resolution when favorite child policy
10039     is set as size, split brain resolution must not work for
10040     directories.
10041     
10042     Currently, if a directory is in split brain with both copies
10043     having same size, the source is selected arbitrarily
10044     and healed.
10045     
10046     fixes: bz#1655050
10047     Change-Id: I5739498639c17c89874cc577362e543adab55f5d
10048     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10049 
10050 commit 55b40dfbb2551b1507d532a03bdf199acb37bf6a
10051 Author: Rinku Kothiya <rkothiya@redhat.com>
10052 Date:   Mon Jan 14 13:24:20 2019 +0000
10053 
10054     cli: Added a welcome and help message
10055     
10056     When gluster command is fired without any arguments it just shows the
10057     prompt, so added a welcome message and info to get help.
10058     
10059     fixes: bz#1535528
10060     
10061     Change-Id: I627b66b67443716e9270025c1e47b98b6facba13
10062     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
10063 
10064 commit c5bb929b367121f2610f74630882254da7fd882a
10065 Author: Kinglong Mee <kinglongmee@gmail.com>
10066 Date:   Fri Jan 18 10:38:14 2019 +0800
10067 
10068     quotad: fix wrong memory free
10069     
10070     1. cli_req.dict.dict_val,
10071        It must be freed no metter operation error or success.
10072        Fix it as lookup "alloca" memory before decode.
10073     
10074     2. args.xdata.xdata_val,
10075        It is allocated by "alloca", free is unneeded.
10076     
10077     3. qd_nameless_lookup,
10078        It olny needs gfid, a gfs3_lookup_req argument is unneeded.
10079     
10080     Change-Id: I746dddf7f3d1465b1885af2644afe0bcf0a5665b
10081     fixes: bz#1656682
10082     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
10083 
10084 commit 0687b0beb5cc58d5aac9e203f0feebcd7e9eea03
10085 Author: Rinku Kothiya <rkothiya@redhat.com>
10086 Date:   Tue Jan 1 21:06:05 2019 +0530
10087 
10088     core: Feature added to accept CidrIp in auth.allow
10089     
10090     Added functionality to gluster volume set auth.allow command to
10091     accept CIDR IP addresses. Modified few functions to isolate cidr
10092     feature so that it prevents other gluster commands such as peer
10093     probe to use cidr format ip. The functions are modified in such
10094     a way that they have an option to enable accepting of cidr
10095     format for other gluster commands if required in furture.
10096     
10097     updates: bz#1138841
10098     
10099     Change-Id: Ie6734002a7078f1820e5df42d404411cce945e8b
10100     Credits: Mohit Agrawal
10101     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
10102 
10103 commit ebaf09a2a329517936232510e117debc3795e80b
10104 Author: Susant Palai <spalai@redhat.com>
10105 Date:   Fri Nov 30 15:04:17 2018 +0530
10106 
10107     lock: Add fencing support
10108     
10109     design reference: https://review.gluster.org/#/c/glusterfs-specs/+/21925/
10110     
10111     This patch adds the lock preempt support.
10112     
10113     Note: The current model stores lock enforcement information as separate
10114     xattr on disk. There is another effort going in parallel to store this
10115     in stat(x) of the file. This patch is self sufficient to add fencing
10116     support. Based on the availability of the stat(x) support either I will
10117     rebase this patch or we can modify the necessary bits post merging this
10118     patch.
10119     
10120     Change-Id: If4a42f3e0afaee1f66cdb0360ad4e0c005b5b017
10121     updates: #466
10122     Signed-off-by: Susant Palai <spalai@redhat.com>
10123 
10124 commit 11cf73bc4173c13a9de54ea8d816eb72d8b01f48
10125 Author: Sunny Kumar <sunkumar@redhat.com>
10126 Date:   Mon Jan 14 11:48:55 2019 +0530
10127 
10128     geo-rep : fix rename sync on hybrid crawl
10129     
10130     Problem: When geo-rep is configured as hybrid crawl
10131              directory renames are not synced to the slave.
10132     
10133     Solution: Rename sync of directory was failing due to incorrect
10134               destination path calculation.
10135               During check for existence on slave we miscalculated
10136               realpath. <host:brickpath/dir>.
10137     
10138     Change-Id: I23f1ea60e86a917598fe869d5d24f8da654d8a0a
10139     fixes: bz#1665826
10140     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
10141 
10142 commit 0301a66bda44582e3a48519f2a5d365b0c38090d
10143 Author: Zhang Huan <zhanghuan@open-fs.com>
10144 Date:   Sat Dec 29 15:51:13 2018 +0800
10145 
10146     socket: fix issue when socket write return with EAGAIN
10147     
10148     In the case socket write return with EAGAIN, the remaining vector count
10149     is return all way back to event handler, making followup pollin event to
10150     skip handling and dispatch loop complains about failure. Even thought
10151     temporary write failure is not an error.
10152     
10153     [2018-12-29 07:31:41.772310] E [MSGID: 101191] [event-epoll.c:674:event_dispatch_epoll_worker] 0-epoll: Failed to dispatch handler
10154     
10155     Change-Id: Idf03d120b5f7619eda19720a583cbcc3e7da2504
10156     updates: bz#1666143
10157     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
10158 
10159 commit 22778ca88977fa061c468ca257aec74d4e7d09f4
10160 Author: Zhang Huan <zhanghuan@open-fs.com>
10161 Date:   Thu Dec 27 14:13:48 2018 +0800
10162 
10163     socket: fix counting of socket total_bytes_read and total_bytes_write
10164     
10165     Change-Id: If35d0dbae963facf00ab6bcf07c6e4d1706ed982
10166     updates: bz#1666143
10167     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
10168 
10169 commit 98550952bef0d84677706e75ff53a41dc8c90dec
10170 Author: Mohit Agrawal <moagrawal@redhat.com>
10171 Date:   Fri Dec 7 14:36:45 2018 +0530
10172 
10173     core: Resolve memory leak for brick
10174     
10175     Problem: Some functions are not freeing memory allocated by
10176              xdr_to_genric so it has become leak
10177     
10178     Solution: Call free to avoid leak
10179     
10180     Change-Id: I3524fe2831d1511d378a032f21467edae3850314
10181     fixes: bz#1656682
10182     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
10183 
10184 commit 213f31bf9e72eee57a6579b66e259af8e59e9c67
10185 Author: Arjun <arjsharm@redhat.com>
10186 Date:   Tue Dec 4 11:02:37 2018 +0530
10187 
10188     gfapi : making glfs_setattr/glfs_fsetattr as public
10189     
10190     Initially glfs_fsetattr and glfs_setattr, both functions accepted iatt as arguements
10191     but now they accept stat and later in the function the stat is being converted to iatt
10192     so that it can be passed to syncop_fsetattr/syncop_setattr.
10193     
10194     Change-Id: I41a9e0124785a32ca19ef4d492c5ed5002e66ede
10195     updates: #389
10196     Signed-off-by: Arjun Sharma <arjsharm@redhat.com>
10197 
10198 commit 2261e444a47ffffb5d64305efceee1d5a734cd75
10199 Author: Mohit Agrawal <moagrawal@redhat.com>
10200 Date:   Mon Dec 10 11:14:04 2018 +0530
10201 
10202     posix: Convert several posix_private members to gf_atomic
10203     
10204     Change-Id: I629698d8ddf6f15428880bdc1501d36bc37b8ebb
10205     fixes: bz#1657607
10206     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
10207 
10208 commit f578cdad23d8a8428a7012f777f4987507f19ea4
10209 Author: Mohit Agrawal <moagrawal@redhat.com>
10210 Date:   Sat Jan 12 11:17:23 2019 +0530
10211 
10212     core: glusterd/add-brick-and-validate-replicated-volume-options.t is crash
10213     
10214     Problem: Sometime brick is getting crash at the time of handling
10215              pmap signin request
10216     
10217     Solution: glusterfs_mgmt_pamp_signin is using same frame to send
10218               pmap signin request so to avoid crash send signin request
10219               on separate frame
10220     
10221     Change-Id: I443f854171ec4372e8d5f84bdc576c468e92c493
10222     fixes: bz#1665656
10223     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
10224 
10225 commit 211521f039bb5c883ef444577b5962bad9e18be1
10226 Author: Mohit Agrawal <moagrawal@redhat.com>
10227 Date:   Fri Nov 30 16:07:39 2018 +0530
10228 
10229     core: Resolve dict_leak at the time of destroying graph
10230     
10231     Problem: In gluster code some of the places it call's get_new_dict
10232              to create a dictionary without taking reference so at the time
10233              of dict_unref it has become a leak
10234     
10235     Solution: To resolve the same call dict_new instead of get_new_dict
10236     
10237     updates bz#1650403
10238     Change-Id: I3ccbbf5af07079a4fa09aad2cd0458c8625b2f06
10239     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
10240 
10241 commit 8216ed2171789c8b6c6dc1e44cc171c89b1c063d
10242 Author: Xiubo Li <xiubli@redhat.com>
10243 Date:   Fri Jan 4 15:22:24 2019 +0800
10244 
10245     cluster/afr: fix zerofill transaction.start
10246     
10247     This maybe one mistake when coding.
10248     
10249     Fixes: bz#1665332
10250     Change-Id: Ia8f8dadf4a71579240ff9950b141ca528bd342b3
10251     Signed-off-by: Xiubo Li <xiubli@redhat.com>
10252 
10253 commit 741f652769bc074fe85da1485e0e16df6e6766f1
10254 Author: Sanju Rakonde <srakonde@redhat.com>
10255 Date:   Thu Jan 10 16:17:39 2019 +0530
10256 
10257     glusterd: fix crash
10258     
10259     Problem: running "gluster get-state glusterd odir /get-state"
10260     resulted in glusterd crash.
10261     
10262     Cause: In the above command output directory has been specified
10263     without "/" at the end. If "/" is not given at the end, "/" will
10264     be added to path using "strcat", so the added character "/" is
10265     not having memory allocated. When tried to free, glusterd will
10266     crash as"/" has no memory allocated.
10267     
10268     Solution: Instead of concatenating "/" to output directory, add
10269     it to output filename.
10270     
10271     Change-Id: I5dc00a71e46fbef4d07fe99ae23b36fb60dec1c2
10272     fixes: bz#1665038
10273     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
10274 
10275 commit ed2d1ad8266b09e4a71ffd193be3cf85467f4f06
10276 Author: Vijay Bellur <vbellur@redhat.com>
10277 Date:   Thu Jan 10 23:00:49 2019 -0800
10278 
10279     features/index: Correct incorrect definition in header
10280     
10281     s/QUIESCE/INDEX/
10282     
10283     fixes: bz#1665363
10284     
10285     Change-Id: I6dc4fde682cedeaa10d870267b8909af1a9449c0
10286     Signed-off-by: Vijay Bellur <vbellur@redhat.com>
10287 
10288 commit 01779e6c6c2c876a9e137d51ee1ce6a8062ea893
10289 Author: Iraj Jamali <ijamali@redhat.com>
10290 Date:   Mon Dec 17 11:23:59 2018 +0530
10291 
10292     fix 32-bit-build-smoke warnings
10293     
10294     fixes: bz#1622665
10295     
10296     Change-Id: I777d67b1b62c284c62a02277238ad7538eef001e
10297     Signed-off-by: Iraj Jamali <ijamali@redhat.com>
10298 
10299 commit c0c2022e7d7097e96270a74f37813eda0c4e6339
10300 Author: Krutika Dhananjay <kdhananj@redhat.com>
10301 Date:   Fri Dec 28 18:53:15 2018 +0530
10302 
10303     features/shard: Fix launch of multiple synctasks for background deletion
10304     
10305     PROBLEM:
10306     
10307     When multiple sharded files are deleted in quick succession, multiple
10308     issues were observed:
10309     1. misleading logs corresponding to a sharded file where while one log
10310        message said the shards corresponding to the file were deleted
10311        successfully, this was followed by multiple logs suggesting the very
10312        same operation failed. This was because of multiple synctasks
10313        attempting to clean up shards of the same file and only one of them
10314        succeeding (the one that gets ENTRYLK successfully), and the rest of
10315        them logging failure.
10316     
10317     2. multiple synctasks to do background deletion would be launched, one
10318        for each deleted file but all of them could readdir entries from
10319        .remove_me at the same time could potentially contend for ENTRYLK on
10320        .shard for each of the entry names. This is undesirable and wasteful.
10321     
10322     FIX:
10323     Background deletion will now follow a state machine. In the event that
10324     there are multiple attempts to launch synctask for background deletion,
10325     one for each file deleted, only the first task is launched. And if while
10326     this task is doing the cleanup, more attempts are made to delete other
10327     files, the state of the synctask is adjusted so that it restarts the
10328     crawl even after reaching end-of-directory to pick up any files it may
10329     have missed in the previous iteration.
10330     
10331     This patch also fixes uninitialized lk-owner during syncop_entrylk()
10332     which was leading to multiple background deletion synctasks entering
10333     the critical section at the same time and leading to illegal memory access
10334     of base inode in the second syntcask after it was destroyed post shard deletion
10335     by the first synctask.
10336     
10337     Change-Id: Ib33773d27fb4be463c7a8a5a6a4b63689705324e
10338     updates: bz#1662368
10339     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
10340 
10341 commit 18bbb0f5b5bf6c96f764b7949df8a0a136b931ce
10342 Author: Amar Tumballi <amarts@redhat.com>
10343 Date:   Fri Dec 28 17:45:58 2018 +0530
10344 
10345     configure: fix the duplicate CFLAGS options
10346     
10347     updates: bz#1193929
10348     Change-Id: I403878719a3f81fb2ea951a951f84880fb54f3cc
10349     Signed-off-by: Amar Tumballi <amarts@redhat.com>
10350 
10351 commit 5a152a7a70f771d951af713ab9701bcbc651e7e2
10352 Author: Varsha Rao <varao@redhat.com>
10353 Date:   Wed Jan 9 15:10:37 2019 +0530
10354 
10355     libglusterfs/common-utils.c: Fix buffer size for checksum computation
10356     
10357     Problem: When quorum count option is updated, the change is not reflected in
10358     the nfs-server.vol file. This is because in get_checksum_for_file(), when the
10359     last part of the file read has size less than buffer size, the read buffer
10360     stores old data value along with correct data value.
10361     
10362     Solution: Pass the bytes read instead of fixed buffer size, for calculating
10363     checksum.
10364     
10365     Change-Id: I4b641607c8a262961b3f3da0028a54e08c3f8589
10366     fixes: bz#1657744
10367     Signed-off-by: Varsha Rao <varao@redhat.com>
10368 
10369 commit 8c1eda9b5a19861be7e02f89cefae942c624d677
10370 Author: Kinglong Mee <kinglongmee@gmail.com>
10371 Date:   Wed Jan 9 14:09:03 2019 +0800
10372 
10373     doc: fix wrong description of localtime-logging in manpages
10374     
10375     -L is the short option of --log-level, not --localtime-logging,
10376     and also, --localtime-logging does not contain an argument.
10377     
10378     Change-Id: I7e1163cb88b84ab5faecd0a65a1f7257e731d2a7
10379     updates: bz#1664551
10380     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
10381 
10382 commit aa85b54c6fa329f05ec24c1e98c59b2f993bf32b
10383 Author: Vijay Bellur <vbellur@redhat.com>
10384 Date:   Tue Nov 27 11:47:12 2018 +0530
10385 
10386     extras/systemd: Remove socket activated syslog.target and add documentation keys
10387     
10388     Adopting patch provided by Patrick Matthäi <pmatthaei@debian.org> at:
10389     
10390     https://bugzilla.redhat.com/attachment.cgi?id=1470751
10391     
10392     fixes: bz#1560561
10393     Change-Id: I363a049c743c65823e6c4f153cbe20b47fcb64fb
10394     Signed-off-by: Vijay Bellur <vbellur@redhat.com>
10395 
10396 commit 1e28c54c5ec8d84ec8a22493161314010992918e
10397 Author: Mohit Agrawal <moagrawal@redhat.com>
10398 Date:   Wed Jan 2 16:25:35 2019 +0530
10399 
10400     core: brick process is crashed at the time of spawn thread
10401     
10402     Problem: brick is getting crashed at the time of calling
10403              pthread_detach after just call gf_thread_create.If
10404              sufficient resources are not available on the system
10405              pthread_create returns EAGAIN (non-negative) but the
10406              caller function expects negative error code in case of failure
10407     
10408     Solution: Change the condition in caller function to avoid the crash
10409     
10410     Change-Id: Ifeaa49f809957eb6c33aa9792f5af1b55566756d
10411     fixes: bz#1662906
10412 
10413 commit fa7ae128706062afefcb0a3117527b8bef21f396
10414 Author: Vijay Bellur <vbellur@redhat.com>
10415 Date:   Thu Jan 10 11:08:49 2019 -0800
10416 
10417     performance/md-cache: Fix a crash when statfs caching is enabled
10418     
10419     mem_put() in STACK_UNWIND_STRICT causes a crash if frame->local is not null
10420     as md-cache obtains local from CALLOC.
10421     
10422     Changed two occurrences of STACK_UNWIND_STRICT to MDC_STACK_UNWIND as
10423     the latter macro does not rely on STACK_UNWIND_STRICT for cleaning up
10424     frame->local.
10425     
10426     fixes: bz#1632503
10427     Change-Id: I1b3edcb9372a164ef73119e99a49e747765d7166
10428     Signed-off-by: Vijay Bellur <vbellur@redhat.com>
10429 
10430 commit 99ac5a83805e46659124acfefbc05c9b6dda1a1b
10431 Author: Amar Tumballi <amarts@redhat.com>
10432 Date:   Thu Jan 10 17:12:53 2019 +0530
10433 
10434     tests: increase the timeout for distribute bug 1117851.t
10435     
10436     The test is in borderline of 200seconds, and many a times, randomly
10437     takes little more time, and fails the whole regression. Better to keep
10438     timeout high, so we don't 'randomly' fail regression tests.
10439     
10440     updates: bz#1193929
10441     Change-Id: Ib0d3a9f7a75ee44446ec6da5e0510cccf83eecaa
10442     Signed-off-by: Amar Tumballi <amarts@redhat.com>
10443 
10444 commit 77669043e290cb6a4c82dded96286370cf5c7db0
10445 Author: Sunny Kumar <sunkumar@redhat.com>
10446 Date:   Tue Jan 8 16:35:35 2019 +0530
10447 
10448     afr : fix memory leak
10449     
10450     This patch fixes memory leak reported by ASan.
10451     
10452     The fix was first merged by
10453     https://review.gluster.org/#/c/glusterfs/+/21805.
10454     
10455     But later change was reverted due to this patch
10456     https://review.gluster.org/#/c/glusterfs/+/21178/.
10457     
10458     updates: bz#1633930
10459     
10460     Change-Id: I1febe121e0be33a637397a0b54d6b78391692b0d
10461     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
10462 
10463 commit f091c5570efd5c754c40d40336bad8183a3e16e0
10464 Author: Sunil Kumar Acharya <sheggodu@redhat.com>
10465 Date:   Thu Dec 27 19:18:35 2018 +0530
10466 
10467     cluster/afr: Disable client side heals in AFR by default.
10468     
10469     With this changeset, default value for the AFR client side
10470     heal volume option is set to "off"
10471     
10472     fixes: bz#1663102
10473     Change-Id: Ie4016932339c4896487e3e7cb5caca68739b7ba2
10474     Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com>
10475 
10476 commit d1231f00dc176bb9f4583b0a69b81f7e16a74eb5
10477 Author: Susant Palai <spalai@redhat.com>
10478 Date:   Wed Jan 9 16:57:21 2019 +0530
10479 
10480     dht: Add NULL check for stbuf in dht_rmdir_lookup_cbk
10481     
10482     Change-Id: I2ced288113a369cc6497a77ac1871007df434da4
10483     fixes: bz#1664647
10484     Signed-off-by: Susant Palai <spalai@redhat.com>
10485 
10486 commit c45050fcdf749706dcaa74c86f43493cdbf254d4
10487 Author: Krutika Dhananjay <kdhananj@redhat.com>
10488 Date:   Fri Dec 21 20:51:03 2018 +0530
10489 
10490     features/locks: Dump connection_id even for posix locks
10491     
10492     ... in statedump for a better debugging experience.
10493     
10494     BEFORE:
10495     
10496     posixlk.posixlk[0](ACTIVE)=type=WRITE, whence=0, start=0, len=0,
10497     pid = 13635, owner=2dd2c3a11706dc8c, client=0x7f159012b000,
10498     connection-id=(null), granted at 2018-12-31 14:20:42
10499     
10500     connection-id is null above.
10501     
10502     AFTER:
10503     
10504     posixlk.posixlk[0](ACTIVE)=type=WRITE, whence=0, start=0, len=0,
10505     pid = 10977, owner=b485e33df21bdaa2, client=0x7fa24c01ab90,
10506     connection-id=CTX_ID:68e12340-eed2-4386-bf5e-1f43cf8693d9-GRAPH_ID:0-
10507     PID:10901-HOST:dhcp35-215.lab.eng.blr.redhat.com-PC_NAME:patchy-client-0-
10508     RECON_NO:-0, granted at 2018-12-31 14:33:50
10509     
10510     Change-Id: I4608994bacabb558a3be8c1634ee6b1d2d3022e2
10511     fixes: bz#1662679
10512     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
10513 
10514 commit d54f5cdfbca7af2da2139fb76af1f1e416a6d848
10515 Author: Amar Tumballi <amarts@redhat.com>
10516 Date:   Wed Jan 2 18:20:07 2019 +0530
10517 
10518     timer-wheel: run the timer function outside of locked region
10519     
10520     Surprizingly this also reduced 80% CPU overhead 'perf record' tool reported
10521     in posix_spin_lock in a brick-mux test volume initialization process.
10522     
10523     updates: bz#1193929
10524     Change-Id: I4e1df60d6fd094105c312df39f1527d3f07bed68
10525     Signed-off-by: Amar Tumballi <amarts@redhat.com>
10526 
10527 commit aa28fe32364e39981981d18c784e7f396d56153f
10528 Author: Krutika Dhananjay <kdhananj@redhat.com>
10529 Date:   Fri Dec 28 07:27:11 2018 +0530
10530 
10531     features/shard: Assign fop id during background deletion to prevent excessive logging
10532     
10533     ... of the kind
10534     
10535     "[2018-12-26 05:22:44.195019] E [MSGID: 133010]
10536     [shard.c:2253:shard_common_lookup_shards_cbk] 0-volume1-shard: Lookup
10537     on shard 785 failed. Base file gfid = cd938e64-bf06-476f-a5d4-d580a0d37416
10538     [No such file or directory]"
10539     
10540     shard_common_lookup_shards_cbk() has a specific check to ignore ENOENT error without
10541     logging them during specific fops. But because background deletion is done in a new
10542     frame (with local->fop being GF_FOP_NULL), the ENOENT check is skipped and the
10543     absence of shards gets logged everytime.
10544     
10545     To fix this, local->fop is initialized to GF_FOP_UNLINK during background deletion.
10546     
10547     Change-Id: I0ca8d3b3bfbcd354b4a555eee520eb0479bcda35
10548     updates: bz#1662368
10549     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
10550 
10551 commit 37653efdc7681d1b0f255054ec2f9c9ddd4c8b14
10552 Author: Amar Tumballi <amarts@redhat.com>
10553 Date:   Fri Jan 4 07:04:50 2019 +0000
10554 
10555     Revert "iobuf: Get rid of pre allocated iobuf_pool and use per thread mem pool"
10556     
10557     This reverts commit b87c397091bac6a4a6dec4e45a7671fad4a11770.
10558     
10559     There seems to be some performance regression with the patch and hence recommended to have it reverted.
10560     
10561     Updates: #325
10562     Change-Id: Id85d6203173a44fad6cf51d39b3e96f37afcec09
10563 
10564 commit 054c7ea91603acfcb01db8455b25dda7e5e831b2
10565 Author: Raghavendra Bhat <raghavendra@redhat.com>
10566 Date:   Mon Jan 7 13:58:01 2019 -0500
10567 
10568     features/bit-rot: do not send version and signature keys in dict
10569     
10570     In lookup, if the file has been marked as bad, then bit-rot-stub
10571     was sending the version and signature xattr values as well in the
10572     response dictinary. This is not needed. Only bad file marker has
10573     to be sent.
10574     
10575     Change-Id: Id59c02e9857577c60849fd28ef657f71e0b15207
10576     fixes: bz#1664122
10577     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
10578 
10579 commit 86f5d75c70a5fa6f1790b17d12d56fd8b37b9ddd
10580 Author: Vijay Bellur <vbellur@redhat.com>
10581 Date:   Fri Nov 16 23:26:35 2018 +0530
10582 
10583     performance/io-threads: Improve debuggability in statedump
10584     
10585     statedump from io-threads lacked information to understand the number of
10586     running threads & number of requests in each priority queue. This patch
10587     addresses that.
10588     
10589     Sample statedump output w/ this patch:
10590     
10591     current_high_priority_threads=7
10592     current_normal_priority_threads=9
10593     current_low_priority_threads=0
10594     current_least_priority_threads=0
10595     fast_priority_queue_length=32
10596     normal_priority_queue_length=45
10597     
10598     Also, changed the wording for least priority queue in
10599     iot_get_pri_meaning().
10600     
10601     Change-Id: Ic5f6391a15cc28884383f5185fce1cb52e0d10a5
10602     fixes: bz#1664124
10603     Signed-off-by: Vijay Bellur <vbellur@redhat.com>
10604 
10605 commit 1a3c2a48e7cd44f2cc8b7b5384321d289aedab8e
10606 Author: ShyamsundarR <srangana@redhat.com>
10607 Date:   Thu Dec 20 15:28:37 2018 -0500
10608 
10609     gfapi: update returned/callback pre/post attributes to glfs_stat
10610     
10611     Change-Id: Ie0fe971e694101aa011d66aa496d0644669c2c5a
10612     Updates: #389
10613     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
10614     Signed-off-by: ShyamsundarR <srangana@redhat.com>
10615 
10616 commit c31f1c232a6673c4e3fc3188e15ae0e708a54613
10617 Author: ShyamsundarR <srangana@redhat.com>
10618 Date:   Wed Nov 21 09:43:23 2018 -0500
10619 
10620     gfapi: new api glfs_statx as linux's statx
10621     
10622     Change-Id: I44dd6ceef0954ae7fc13f920e84d81bbd3f6a774
10623     Updates: #389
10624     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
10625     Signed-off-by: ShyamsundarR <srangana@redhat.com>
10626 
10627 commit f99f51ca87fd8703947df985901cbce37bc6c818
10628 Author: Kinglong Mee <mijinlong@open-fs.com>
10629 Date:   Thu Jan 3 17:07:27 2019 +0800
10630 
10631     glfs-fops.c: fix the bad string length for snprintf
10632     
10633     Snprintf reserves one byte for the ending '\0'.
10634     A NAME_MAX bytes d_name is truncated to NAME_MAX - 1 bytes.
10635     
10636     Change-Id: Ic884d18cee24360e55ddb896dc587b0b74ef97fe
10637     updates: bz#1193929
10638     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
10639 
10640 commit a9b0003c717087ff168bc143c70559162e53e0d5
10641 Author: Soumya Koduri <skoduri@redhat.com>
10642 Date:   Tue Dec 25 13:29:15 2018 -0500
10643 
10644     leases: Reset lease_ctx->timer post deletion
10645     
10646     To avoid use_after_free, reset lease_ctx->timer back to NULL
10647     after the structure has been freed.
10648     
10649     Change-Id: Icd213ec809b8af934afdb519c335a4680a1d6cdc
10650     updates: bz#1648768
10651     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
10652 
10653 commit 8b4822d457cd62c1525b6fbaac8668c79f3951c0
10654 Author: Kinglong Mee <kinglongmee@gmail.com>
10655 Date:   Thu Dec 20 16:58:34 2018 +0800
10656 
10657     rpc-clnt: reduce transport connect log for EINPROGRESS
10658     
10659     quotad and ganesha.nfsd prints many logs as,
10660     
10661     [rpc-clnt.c:1739:rpc_clnt_submit ] 0-<VOLUME_NAME>-quota: error returned while attempting to connect to host: (null), port 0
10662     
10663     Change-Id: Ic0c815400619e4a87a772a51b19822920228c1ef
10664     Updates: bz#1596787
10665     Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
10666 
10667 commit 4a15ea1fd36390fa247dc2e429f14dc8fd621c49
10668 Author: Pranith Kumar K <pkarampu@redhat.com>
10669 Date:   Wed Jan 2 18:42:19 2019 +0530
10670 
10671     rpcsvc: Don't expect dictionary values to be available
10672     
10673     When reconfigure happens, string values from one dictionary
10674     are directly set in another dictionary. This can lead to
10675     invalid memory when the first dictionary is freed up.
10676     So do dict_set_dynstr_with_alloc instead of dict_set_str
10677     
10678     updates bz#1650403
10679     Change-Id: Id53236467521cfdeb07e7178d87ba6cf88d17003
10680     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
10681 
10682 commit 95ec7391d8db26b933e542694add2b419dddf89f
10683 Author: Sanju Rakonde <srakonde@redhat.com>
10684 Date:   Fri Jan 4 15:49:53 2019 +0530
10685 
10686     glusterd: rebalance status should display information of localhost
10687     
10688     Problem:
10689     https://review.gluster.org/#/c/glusterfs/+/21762/ has migrated
10690     rebalance commands from op-sm framework to mgmt v3 framework.
10691     
10692     In a heterogenous cluster, if rebalance commands follow op-sm
10693     framework, localhost information is not displayed in the
10694     output of "gluster v rebalance <volname> status".
10695     
10696     Cause:
10697     Previously without https://review.gluster.org/#/c/glusterfs/+/21762/
10698     rebalance commands were following op-sm framework.
10699     In glusterd_volume_rebalance_use_rsp_dict() current_index variable
10700     keeps track of number/count of peers in trusted storage pool.
10701     In op-sm, glusterd_volume_rebalance_use_rsp_dict() will be called
10702     only for the peers. So the current index should start from 2
10703     assuming local host as node 1.
10704     
10705     With the above patch, rebalance commands are following mgmt v3
10706     framework. In mgmt v3, glusterd_volume_rebalance_use_rsp_dict()
10707     is called for all nodes. For localhost it is called from
10708     brick-op function and for peers it is called from brick-op
10709     call back function. So the current index value should start
10710     from 1.
10711     
10712     https://review.gluster.org/#/c/glusterfs/+/21762/ has changed the
10713     value of current index to 1. Because of this, In heterogenous cluster,
10714     local host's information is overwritten by one of the peers information.
10715     And rebalance status will not display localhost's information in
10716     the output.
10717     
10718     Solution: assign a value to current index based on a op-version
10719     check.
10720     
10721     Change-Id: I2dfba1f007e908cf160acc4a4a5d8ef672572e4d
10722     fixes: bz#1663243
10723     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
10724 
10725 commit f6d0141b47ac36f6d2b100252241ed64bc92f913
10726 Author: Anoop C S <anoopcs@redhat.com>
10727 Date:   Thu Jan 3 10:52:22 2019 +0530
10728 
10729     extras: Add readdir-ahead to samba group command
10730     
10731     Change-Id: I310f014a9ab8416d9833f5711ff902da1457f415
10732     updates: bz#1193929
10733     Signed-off-by: Anoop C S <anoopcs@redhat.com>
10734 
10735 commit 0d4535c8db7b4be3fcee685d12f6974f7af89810
10736 Author: Sanju Rakonde <srakonde@redhat.com>
10737 Date:   Thu Jan 3 19:09:36 2019 +0530
10738 
10739     glusterd: aggregate rsp from peers for profile command
10740     
10741     When we run profile info command, it should display statistics
10742     of all the bricks of the volume. To display information of bricks
10743     which are hosted on peers, we need to aggregate the response from
10744     peers.
10745     
10746     For profile info command, all the statistics will be added into
10747     the dictionary in brick-op phase. To aggregate the information from
10748     peers, we need to call glusterd_syncop_aggr_rsp_dict() in brick-op
10749     call back function.
10750     
10751     fixes: bz#1663223
10752     
10753     Change-Id: I5f5890c3d01974747f829128ab74be6071f4aa30
10754     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
10755 
10756 commit 44f3382328b3bd12d3bbcdbfc408660eecf4befc
10757 Author: Zhang Huan <zhanghuan@open-fs.com>
10758 Date:   Fri Dec 28 16:08:50 2018 +0800
10759 
10760     glusterd: fix memory leak in handshake
10761     
10762     Add missing unref to req_dict to fix memory leak in handle of
10763     handshake.
10764     
10765     Change-Id: I0d8573fc3668c1a0ccc9030e3a096bbe20ed5c36
10766     fixes: bz#1663077
10767     Signed-off-by: Zhang Huan <zhanghuan@open-fs.com>
10768 
10769 commit d4fa2906b8e8a6de34c8e7b33b998fbc63f54cb1
10770 Author: Sanju Rakonde <srakonde@redhat.com>
10771 Date:   Wed Jan 2 12:29:53 2019 +0530
10772 
10773     glusterd: kill the process without releasing the cleanup mutex lock
10774     
10775     Problem:
10776     glusterd acquires a cleanup mutex lock before it starts
10777     cleanup process, so that any other thread which tries to acquire
10778     lock on any resource will be blocked on cleanup mutex lock.
10779     
10780     We don't want any thread to try to acquire any resource, once
10781     the cleanup is started. because other threads might try to acquire
10782     lock on resources which are already freed by the thread which is
10783     going though the cleanup phase.
10784     
10785     previously we were releasing the cleanup mutex lock before the
10786     process exit. As we are releasing the cleanup mutex lock, before
10787     the process can exit some other thread which is blocked on
10788     cleanup mutex lock is acquiring the cleanup mutex lock and
10789     trying to acquire some resources which are already freed as a
10790     part of cleanup. This is leading glusterd to crash.
10791     
10792     Solution: We should exit the process without releasing the
10793     cleanup mutex lock.
10794     
10795     Change-Id: Ibae1c62260f141019017f7a547519a5d38dc2bb6
10796     fixes: bz#1654270
10797     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
10798 
10799 commit d9a8ccd354df6db94477bf9ecb09735194523665
10800 Author: Soumya Koduri <skoduri@redhat.com>
10801 Date:   Wed Dec 26 15:24:49 2018 +0530
10802 
10803     gfapi: nit cleanup related to releasing fs->mutex lock
10804     
10805     This is follow-up patch to the comment received for
10806      - https://review.gluster.org/#/c/glusterfs/+/21882
10807     
10808     We need not hold the fs->mutex lock to log error message.
10809     
10810     Change-Id: I29d2ea2e6cfecc3dd94982bd48f4bc9f11cc3aac
10811     fixes: bz#1660577
10812     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
10813 
10814 commit 1ea203d6b6960621c6b445db42d6254c726df321
10815 Author: Sunny Kumar <sunkumar@redhat.com>
10816 Date:   Fri Dec 28 13:04:36 2018 +0530
10817 
10818     libgfapi : fix coverity issue
10819     
10820     This patch fixes coverity issue in api/src/glfs-fops.c.
10821     
10822     CID: 1389247, 1389296, 1389369, 1389392.
10823     All coverity defects are of type Mixing enum types (MIXED_ENUMS).
10824     
10825     updates: bz#789278
10826     
10827     Change-Id: I007bb317ed5f0b8ddaf94a93b3a4d02b1e74cb8d
10828     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
10829 
10830 commit 7a84e705ed0b96f479a0fc52fa734e0367bb2af2
10831 Author: Harpreet Kaur <hlalwani@redhat.com>
10832 Date:   Thu Dec 27 20:20:56 2018 +0530
10833 
10834     posix: buffer_size_warning coverity fix
10835     
10836     Defect: CID 1398469- Calling strncpy with a maximum size argument
10837     of 4096 bytes on destination array key of size 4096 bytes might
10838     leave the destination string unterminated.
10839     
10840     Fix: Using snprintf instead of strncpy.
10841     
10842     updates: bz#789278
10843     
10844     Change-Id: I4fdcd0cbf3af8b2ded94603d92d1ceb4112284c4
10845     Signed-off-by: Harpreet Kaur <hlalwani@redhat.com>
10846 
10847 commit 63088d8225df025e03a0ea0a0d8fdc3e8e9b9b08
10848 Author: Amar Tumballi <amarts@redhat.com>
10849 Date:   Fri Dec 28 09:56:20 2018 +0530
10850 
10851     multiple-files: clang-scan fixes
10852     
10853     updates: bz#1622665
10854     Change-Id: I9f3a75ed9be3d90f37843a140563c356830ef945
10855     Signed-off-by: Amar Tumballi <amarts@redhat.com>
10856 
10857 commit 3ce7b5dbf069e7bf09c3470753c21efe03339291
10858 Author: Yaniv Kaul <ykaul@redhat.com>
10859 Date:   Thu Nov 15 22:05:32 2018 +0200
10860 
10861     libglusterfs/src/mem-types.h: remove unused common enums from mem-types.h
10862     
10863     They were not used at all, just taking space.
10864     I've also marked all those that are not common really, but used
10865     in just one place - they probably should move there (in follow-up
10866     patches)
10867     
10868     As a test, I've removed from the stripe xlator unused private
10869     enums and moved one that was in the common list, but only
10870     used in the stripe code, to be a private enum.
10871     
10872     Compile-tested only!
10873     
10874     updates: bz#1193929
10875     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
10876     Change-Id: I1158dc1d259f1fd3f69904336c46c9d83cea799f
10877 
10878 commit 36883e160e07466929c2fe7d6050403751d25a49
10879 Author: Amar Tumballi <amarts@redhat.com>
10880 Date:   Fri Sep 28 23:20:28 2018 +0530
10881 
10882     configure: add a message about asan option
10883     
10884     This added hint helps to get ASan logs for the daemon processes, with
10885     this one can start using asan for regression tests.
10886     
10887     updates: bz#1633930
10888     Change-Id: I3b39892d45d29ae514dad8ab10f65703c02003f1
10889     Signed-off-by: Amar Tumballi <amarts@redhat.com>
10890 
10891 commit a12bdfa72af9cc8df21d25b580058b49f3aa154a
10892 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10893 Date:   Thu Dec 13 17:59:20 2018 +0530
10894 
10895     glusterd: NULL pointer dereferencing clang fix
10896     
10897     Added ternary operator to avoid this issue
10898     
10899     Updates: bz#1622665
10900     
10901     Change-Id: I163d0628304a0d61249d1d97a4a3d3bee4ba4927
10902     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10903 
10904 commit cd29723ab1a572fd9c2ceb3414b11d654cb9a08a
10905 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10906 Date:   Fri Dec 21 03:59:16 2018 +0530
10907 
10908     mgmt/glusterd: fix clang warning
10909     
10910     Attempt to free rsp.dict.dict_val twice
10911     
10912     Change-Id: I5dbc50430f59ca8d0c739b0fbe95d71981852889
10913     Updates: bz#1622665
10914     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10915 
10916 commit a12cadc1377ef51ad52defd1da91bf8f599e5786
10917 Author: Pranith Kumar K <pkarampu@redhat.com>
10918 Date:   Tue Dec 18 14:38:22 2018 +0530
10919 
10920     cluster/afr: Refactor internal locking code to allow multiple inodelks
10921     
10922     For implementing copy_file_range fop, AFR needs to perform two inodelks in the
10923     same transaction. This patch brings in the necessary structure to make it
10924     easier to do so.
10925     
10926     Entry-locks in AFR were already taking multiple entry-locks on different inodes
10927     with the respective basenames. This patch extends the logic in inodelks to use
10928     the same lockee_t structure. This lead to removal of quite a lot of duplicate
10929     code present in afr-lk-common.c as both the locks are doing same things except
10930     'winding' part.
10931     
10932     updates: #536
10933     Change-Id: Ibfce7e3f260bb27b18645152ec680c33866fe0ae
10934     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
10935 
10936 commit 8d38c5b7337e44ad9f282966c0aa2e99bd7da506
10937 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10938 Date:   Fri Dec 28 10:44:32 2018 +0530
10939 
10940     rpc/rpc-lib: fix coverity issue
10941     
10942     Defect: Code can never be reached because of the
10943     condition queue_index > 1024 cannot be true.
10944     
10945     CID: 1398471 Logically dead code
10946     updates: bz#789278
10947     
10948     Change-Id: I367cda7e734f6d774900a58d8664cffcab69126f
10949     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
10950 
10951 commit de1fb17ac392427605ead87690f30f1a488f66a7
10952 Author: Sunny Kumar <sunkumar@redhat.com>
10953 Date:   Fri Dec 28 08:38:24 2018 +0530
10954 
10955     rpc : fix coverity in rpc/rpc-lib/src/rpcsvc.c
10956     
10957     This patch fixes newly introduced coverity.
10958     
10959     CID: 1398472: Dereference before null check.
10960     updates: bz#789278
10961     
10962     Change-Id: Ie9b13084097de8f24b138acd7608c3e15b3bba9c
10963     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
10964 
10965 commit 89f1ebef957813f1262603ea5ec82539edb1ecad
10966 Author: Niels de Vos <ndevos@redhat.com>
10967 Date:   Thu Dec 27 13:21:57 2018 +0100
10968 
10969     barrier: replace boolean-switch statement with if/else
10970     
10971     Squash some ugly warnings, and make the code a little bit simpler by
10972     removing some unneeded goto jumps.
10973     
10974     On Ubuntu 16.04 the following warnings were reported by Amudhan:
10975     
10976           CC	   barrier.lo
10977         barrier.c: In function ‘notify’:
10978         barrier.c:499:33: warning: switch condition has boolean value [-Wswitch-bool]
10979                                  switch (past) {
10980                                          ^
10981         barrier.c: In function ‘reconfigure’:
10982         barrier.c:565:25: warning: switch condition has boolean value [-Wswitch-bool]
10983                          switch (past) {
10984                                  ^
10985     
10986     Change-Id: Ifb6b75058dff8c789b729c76530a1358d391f4d1
10987     Updates: bz#1193929
10988     Reported-by: Amudhan P <amudhan83@gmail.com>
10989     Signed-off-by: Niels de Vos <ndevos@redhat.com>
10990 
10991 commit a6dc153e47f9025b09e8aae14ca6ba96fa20a23e
10992 Author: Sanju Rakonde <srakonde@redhat.com>
10993 Date:   Thu Dec 27 14:54:28 2018 +0530
10994 
10995     glusterd: coverity fixes
10996     
10997     This patch addresses coverity issues with CID 1398470 and 1398475
10998     
10999     1398470 - Missing unlock - False positive, Added a annotation to
11000                                make coverity happy
11001     1398475 - Unused value
11002     
11003     Change-Id: I1bb3df0b716690fad8fc52c393c8b2b6c41f7860
11004     updates: bz#789278
11005     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
11006 
11007 commit b5a8a91c1d86f30cb669ca469b83c99b2e9dafcb
11008 Author: Ashish Pandey <aspandey@redhat.com>
11009 Date:   Tue Oct 23 18:03:45 2018 +0530
11010 
11011     cluster/ta: Check number/type of locks held on ta file
11012     
11013     Change-Id: Iec47856ce2819e7d7d38a60279602e53ba45858d
11014     updates: bz#1624332
11015     Signed-off-by: Ashish Pandey <aspandey@redhat.com>
11016 
11017 commit a11c5c66321dd8411373a68cc163c981c7d083df
11018 Author: N Balachandran <nbalacha@redhat.com>
11019 Date:   Wed Dec 26 11:40:26 2018 +0530
11020 
11021     core: Fixed typos in nl-cache and logging-guidelines.md
11022     
11023     Replaced "recieve" with "receive".
11024     
11025     Change-Id: I58a3d3d4a0093df4743de9fae4d8ff152d4b216c
11026     fixes: bz#1662089
11027     Signed-off-by: N Balachandran <nbalacha@redhat.com>
11028 
11029 commit a3d12d340abc0fb8cfa4d2faffbd59a1e5ba5718
11030 Author: N Balachandran <nbalacha@redhat.com>
11031 Date:   Thu Dec 6 19:25:06 2018 +0530
11032 
11033     cluster/dht: refactor dht_lookup_cbk
11034     
11035     Rearrange the dht_lookup_cbk code to make
11036     it easier to understand.
11037     Corrected a message in dht_linkfile_create_lookup_cbk
11038     
11039     Change-Id: Id41db9ef901732f0410f1c007807362c630218ff
11040     fixes: bz#1590385
11041     Signed-off-by: N Balachandran <nbalacha@redhat.com>
11042 
11043 commit a1e7acc93a416fec6b87cc5601a9922759156771
11044 Author: Krutika Dhananjay <kdhananj@redhat.com>
11045 Date:   Fri Dec 21 09:58:16 2018 +0530
11046 
11047     socket: Remove redundant in_lock in incoming message handling
11048     
11049     A given epoll thread can handle only one incoming (POLLIN) request.
11050     And until the socket is rearmed for listening, it is guaranteed that
11051     there won't be any new incoming requests. As a result, the priv->in_lock
11052     which guards the socket proto state machine seems redundant.
11053     
11054     This patch removes priv->in_lock.
11055     
11056     Change-Id: I26b6ddd852aba8c10385833b85ffd2e53e46cb8c
11057     updates: bz#1467614
11058     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
11059 
11060 commit c3d23b06ce6bda906bdfb9bc8909bf30016c9995
11061 Author: Sunny Kumar <sunkumar@redhat.com>
11062 Date:   Thu Dec 20 02:41:17 2018 +0530
11063 
11064     cli: fix memory leak
11065     
11066     This patch fixes memory leak in cli/src/cli.c.
11067     
11068     Change-Id: I4956c4180b34d4a9e3e6e60eeafba8cb2031896e
11069     updates: bz#1633930
11070     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
11071 
11072 commit d64fdf867fef36422ab84f2918f5d925597bc7d4
11073 Author: Harpreet Kaur <hlalwani@redhat.com>
11074 Date:   Fri Dec 14 13:12:26 2018 +0530
11075 
11076     posix: stack-buffer-overflow reported by asan
11077     
11078     This patch fixes buffer overflow in
11079     $SRC/xlators/storage/posix/src/posix-inode-fd-ops.c
11080     Memory access at offset 432 overflows "md5_checksum" variable.
11081     SUMMARY: AddressSanitizer: stack-buffer-overflow (/lib64/libasan.so.5+0xb825a)
11082     
11083     updates: bz#1633930
11084     
11085     Change-Id: I46010a09161d02cdf0c69679a334ec1d3d49cffb
11086     Signed-off-by: Harpreet Kaur <hlalwani@redhat.com>
11087 
11088 commit 8fe3c6107a2b431d7cc0b8cfaeeb7941cf9590f9
11089 Author: Soumya Koduri <skoduri@redhat.com>
11090 Date:   Tue Dec 18 22:07:55 2018 +0530
11091 
11092     gfapi: Access fs->oldvolfile under mutex lock
11093     
11094     In some cases (for eg., when there are multiple
11095     RPC_CLNT_CONNECT notifications), multiple threads may fetch
11096     volfile and try to update it in 'fs' object simultaneously.
11097     Hence protect those variables' access under fs->mutex lock.
11098     
11099     Change-Id: Idaee9548560db32d83f4c04ebb1f375fee7864a9
11100     fixes: bz#1660577
11101     Signed-off-by: Soumya Koduri <skoduri@redhat.com>
11102 
11103 commit 233c909077fb1971e8813240a6161edc30c1e77b
11104 Author: Sunny Kumar <sunkumar@redhat.com>
11105 Date:   Fri Dec 21 23:50:00 2018 +0530
11106 
11107     meta : fix coverity issue
11108     
11109     This patch fixes coverity issue possible null dereference.
11110     
11111     Change-Id: I93c0847c3d93b29a1e001ed044a63e908c670167
11112     updates: bz#789278
11113     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
11114 
11115 commit 730ab84586b73e8677537ed90b78fabf5dde3b48
11116 Author: Mohit Agrawal <moagrawal@redhat.com>
11117 Date:   Thu Dec 20 16:41:37 2018 +0530
11118 
11119     tests: Brick is getting OOM in ./tests/bugs/core/bug-1432542-mpx-restart-crash.t
11120     
11121     This test "tests/bugs/core/bug-1432542-mpx-restart-crash.t" case creates 20 2x3
11122     volumes after enabling brick_mux.At the time of creating last volume brick is getting
11123     OOM because brick consumption has increased from previous consumption due to these patches
11124     https://review.gluster.org/#/c/glusterfs/+/19997/,
11125     https://review.gluster.org/#/c/glusterfs/+/20362/
11126     
11127     To avoid OOM reduce NUM_VOLS to 15 so that brick consumption has reduced
11128     
11129     Change-Id: Ib98b47a3db6b990ff22c7e57396d51e7fef5c7e8
11130     fixes: bz#1661214
11131     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
11132 
11133 commit 0c7425d431b90c9c5c087511b34150e30dbe028a
11134 Author: Mohit Agrawal <moagrawal@redhat.com>
11135 Date:   Wed Dec 19 08:14:44 2018 +0530
11136 
11137     rpc: Use adaptive mutex in rpcsvc_program_register
11138     
11139     Adaptive mutexes are used to protect critical/shared data items that
11140     are held for short periods.It provides a balance between spin locks
11141     and traditional mutex.We have observed after use adaptive mutex in
11142     rpcsvc_program_register got some improvement.
11143     
11144     Change-Id: I7905744b32516ac4e4ca3c83c2e8e5e306093add
11145     fixes: bz#1660701
11146 
11147 commit f2c2c906c0a81d24b14832974994604ea4569e0d
11148 Author: Amar Tumballi <amarts@redhat.com>
11149 Date:   Wed Dec 19 10:25:44 2018 +0530
11150 
11151     all: handle string-overflow warnings of coverity
11152     
11153     updates: bz#789278
11154     Change-Id: I7de800b90a614e3666e965b0cafc70026a844b2d
11155     Signed-off-by: Amar Tumballi <amarts@redhat.com>
11156 
11157 commit e1f92176a8d372e99386c0f007d6a38c0a54ca5b
11158 Author: Amar Tumballi <amarts@redhat.com>
11159 Date:   Wed Dec 19 09:45:42 2018 +0530
11160 
11161     all: handle USE_AFTER_FREE warnings
11162     
11163     * we shouldn't be using 'local' after DHT_STACK_UNWIND() as it frees
11164     the content of local. Add a 'goto out' or similar logic to handle
11165     the situation.
11166     
11167     * fix possible overlook of unref(dict), instead of unref(xdata).
11168     
11169     * make coverity happy by re-ordering unref in meta-defaults.
11170     
11171     * gfid-access: re-order dictionary allocation so we don't have to
11172       do a extra unref.
11173     
11174     * other obvious errors reported.
11175     
11176     updates: bz#789278
11177     Change-Id: If05961ee946b0c4868df19861d7e4a927a2a2489
11178     Signed-off-by: Amar Tumballi <amarts@redhat.com>
11179 
11180 commit 8cde14a537f0112400744d518ed196eb8fa232f2
11181 Author: Krutika Dhananjay <kdhananj@redhat.com>
11182 Date:   Wed Dec 19 17:57:58 2018 +0530
11183 
11184     tests: Fix zero-flag.t script
11185     
11186     The default value of shard-block-size was changed from 4MB
11187     to 64MB sometime back. The script "fallocate"s a 6MB file
11188     and expects it to have 1 shard under .shard. This worked when
11189     the shard-block-size was 4MB. With the default value now at 64MB,
11190     file "file1" won't have any shards under .shard and the stat on the
11191     1st shard's path fails with ENOENT.
11192     
11193     Changed the script to explicitly set shard-block-size to 4MB.
11194     
11195     Change-Id: I7f1785922287d16d74c95fa57cbbe12e6e66e4f7
11196     fixes: bz#1656264
11197     Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
11198 
11199 commit 2af8fca492f3e1152177641b5e6ab9ea59ec0acd
11200 Author: Poornima G <pgurusid@redhat.com>
11201 Date:   Thu Aug 16 16:36:08 2018 +0530
11202 
11203     posix: use synctask for janitor
11204     
11205     With brick mux, the number of threads increases as the number of
11206     bricks increases. As an initiative to reduce the number of
11207     threads in brick mux scenario, replacing janitor thread to use
11208     synctask infra.
11209     
11210     Now close() and closedir() handle by separate janitor
11211     thread which is linked with glusterfs_ctx.
11212     
11213     Updates #475
11214     Change-Id: I0c4aaf728125ab7264442fde59f3d08542785f73
11215     Signed-off-by: Poornima G <pgurusid@redhat.com>
11216 
11217 commit e3ec41af9a9f4d906dd7b512b3f4f91a6f338f4b
11218 Author: Rinku Kothiya <rkothiya@redhat.com>
11219 Date:   Mon Dec 17 19:55:20 2018 +0530
11220 
11221     rdma: fix possible buffer overflow
11222     
11223     used snprintf instead of sprintf and if the source string is bigger
11224     than destination then logged a warning message.
11225     
11226     clang warning: ‘%s’ directive writing up to 1024 bytes into a region
11227     of size 108.
11228     
11229     updates: bz#1622665
11230     
11231     Change-Id: Ia5e7c53d35d8178dd2c75708698599fe8bded5de
11232     Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
11233 
11234 commit 9662504d45f3e285772f5188a7edf7ae3665cc6a
11235 Author: karthik-us <ksubrahm@redhat.com>
11236 Date:   Tue Dec 4 11:19:27 2018 +0530
11237 
11238     cluster/afr: Allow lookup on root if it is from ADD_REPLICA_MOUNT
11239     
11240     Problem: When trying to convert a plain distribute volume to replica-3
11241     or arbiter type it is failing with ENOTCONN error as the lookup on
11242     the root will fail as there is no quorum.
11243     
11244     Fix: Allow lookup on root if it is coming from the ADD_REPLICA_MOUNT
11245     which is used while adding bricks to a volume. It will try to set the
11246     pending xattrs for the newly added bricks to allow the heal to happen
11247     in the right direction and avoid data loss scenarios.
11248     
11249     Note: This fix will solve the problem of type conversion only in the
11250     case where the volume was mounted at least once. The conversion of
11251     non mounted volumes will still fail since the dht selfheal tries to
11252     set the directory layout will fail as they do that with the PID
11253     GF_CLIENT_PID_NO_ROOT_SQUASH set in the frame->root.
11254     
11255     Change-Id: Ic511939981dad118cc946754341318b164954b3b
11256     fixes: bz#1655854
11257     Signed-off-by: karthik-us <ksubrahm@redhat.com>
11258 
11259 commit b87c397091bac6a4a6dec4e45a7671fad4a11770
11260 Author: Poornima G <pgurusid@redhat.com>
11261 Date:   Wed Nov 21 12:09:39 2018 +0530
11262 
11263     iobuf: Get rid of pre allocated iobuf_pool and use per thread mem pool
11264     
11265     The current implementation of iobuf_pool has two problems:
11266     - prealloc of 12.5MB memory, this limits the scale factor of the gluster
11267       processes due to RAM requirements
11268     - lock contention, as the current implementation has one global
11269       iobuf_pool lock. Credits for debugging and addressing the same goes to
11270       Krutika Dhananjay <kdhananj@redhat.com>. Issue: #410
11271     
11272     Hence changing the iobuf implementation to use per thread mem pool.
11273     This may theoritically appear to cause perf dip as there is no preallocation.
11274     But per thread mem pool will not have significant perf impact as the last
11275     allocated memory is kept alive for subsequent allocs, for some time.
11276     The worst case would be if iobufs requested are of random sizes each time.
11277     The best case is, if we get iobuf request of the same size. From the perf
11278     tests, this patch did not seem to cause any perf decrease.
11279     
11280     Note that, with this patch, the rdma performance is going to degrade
11281     drastically. In one of the previous patchsets we had fixes to not
11282     degrade rdma perf, but rdma is not supported and also not tested [1].
11283     Hence the decision was to not have code in rdma that is not tested
11284     and not supported.
11285     
11286     [1] https://lists.gluster.org/pipermail/gluster-users.old/2018-July/034400.html
11287     
11288     Updates: #325
11289     Change-Id: Ic2ef3bd498f9250dea25f25ba0c01fde19584b27
11290     Signed-off-by: Poornima G <pgurusid@redhat.com>
11291 
11292 commit d50f22e6ae410fdcde573b6015b97dc1573bbb7e
11293 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
11294 Date:   Fri Oct 12 10:03:31 2018 +0530
11295 
11296     performance/io-cache: update pages with write data
11297     
11298     Currently io-cache invalidate pages falling in the range of write. But
11299     instead it can update pages with same data so that reads can make use
11300     of the cache.
11301     
11302     credits: Xavi Hernandez <xhernandez@redhat.com>
11303     
11304     Change-Id: I932bd3da97ddfd464187f3009b1013eb334f00a7
11305     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
11306     updates: bz#1659869
11307 
11308 commit 51ff065b8b9d2117688053cddb29186e3135c4a1
11309 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
11310 Date:   Fri Dec 14 11:27:33 2018 +0530
11311 
11312     performance/ob: make open-behind as a child of quick-read
11313     
11314     With read-after-open being set to yes by default, if open-behind sees
11315     any reads, it'll do an open on backend (and hence flush/release
11316     later). This means with the current order of quick-read and
11317     open-behind, open-behind sees all reads and hence also does open
11318     bringing down performance for small file reads.
11319     
11320     Since for small files, reads are absorbed by quick-read, if quick-read
11321     is made a parent of open-behind, ob doesn't witness any reads. For
11322     read-only workloads, this means ob doen't do any opens (even with
11323     read-after-open yes and use-anonymous-fd no).
11324     
11325     Change-Id: I138a42b006d104cff43ee6f07829e39c36f6f234
11326     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
11327     Fixes: bz#1659327
11328 
11329 commit f9859218da827eac5b2102673e7a89497228e672
11330 Author: Yaniv Kaul <ykaul@redhat.com>
11331 Date:   Fri Dec 14 19:18:20 2018 +0200
11332 
11333     xlators/cluster/afr/src/afr-self-heal-common.c: remove a variable array.
11334     
11335     Added '-Wvla' and saw this - gcc doesn't like variable arrays.
11336     There are plenty of others in the EC code, but this seems OK to remove:
11337     there is no use for the array members (I hope - that was from reading
11338     the code).
11339     
11340     Compile-tested only!
11341     updates: bz#1193929
11342     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
11343     
11344     Change-Id: I350f4520e52b86c8bbcd60eea1b27ef99cd119aa
11345 
11346 commit f9220c89ae848c72df8232163d5a990283f15f5a
11347 Author: Atin Mukherjee <amukherj@redhat.com>
11348 Date:   Mon Dec 17 09:17:44 2018 +0530
11349 
11350     glusterd: define max-port to 60999
11351     
11352     As glusterd scans through all the ports in its defined range, with RHEL
11353     7.3 onwards any port beyond 60999 isn't within the ephemeral port range
11354     and following AVC denial message is seen.
11355     
11356     type=AVC msg=audit(1471946614.154:109): avc:  denied  { name_bind } for
11357     pid=2302 comm="glusterd" src=61000 scontext=system_u:system_r:glusterd_t:s0
11358     tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket
11359     
11360     Fix is to define the max port range to 60999 in glusterd.vol file. The
11361     port range can be tweaked through a reconfigure of this configuration
11362     file though.
11363     
11364     Fixes: bz#1659857
11365     Change-Id: I60fd4a421d8509b8dca4ca13b73999ae33965f72
11366     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
11367 
11368 commit 0b4b111fbd80a5d400a07d61e2b99f230f9be76f
11369 Author: Sanju Rakonde <srakonde@redhat.com>
11370 Date:   Fri Nov 30 16:16:55 2018 +0530
11371 
11372     glusterd: migrating rebalance commands to mgmt_v3 framework
11373     
11374     Current rebalance commands use the op_state machine framework.
11375     Porting it to use the mgmt_v3 framework.
11376     
11377     Change-Id: I6faf4a6335c2e2f3d54bbde79908a7749e4613e7
11378     fixes: bz#1655827
11379     Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
11380 
11381 commit 9ff080382cb8c8aab561f4131c3f631e33670338
11382 Author: Poornima G <pgurusid@redhat.com>
11383 Date:   Wed Nov 21 10:01:08 2018 +0530
11384 
11385     mem-pool: Add api to mem_get based on requested size
11386     
11387     Currently mem-pool implementation provides api to get from the
11388     mem pool based on the struct type. This is to retain api
11389     compatibility with the old implementation of mem pool. Internally
11390     in the mem pool structure there is a mapping from struct to size
11391     based pools.
11392     
11393     In this patch, we are adding new APIs to fetch memory from mem pool,
11394     given a size.
11395     
11396     Change-Id: Ib220ee45ebd134a7be8f6482db5a592dbb7b9211
11397     Updates: #325
11398     Signed-off-by: Poornima G <pgurusid@redhat.com>
11399 
11400 commit 822779332e193471a6caa3199f0f618d2aa2c900
11401 Author: Sunny Kumar <sunkumar@redhat.com>
11402 Date:   Mon Dec 17 14:07:27 2018 +0530
11403 
11404     geo-rep : fix slave volume read-only option
11405     
11406     Problem: When separate ssh key is given for non root user setting slave volume
11407              read-only option results in failure.
11408     
11409     Solution: Check for extra param in case separate key is given for non-root user
11410               and take action accordingly.
11411     
11412     Change-Id: Iafe9a2aa6b86cde1dcd7d63771048a6ae33c2cde
11413     fixes: bz#1659971
11414     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
11415 
11416 commit c228f0c2d94c028619088c07b66f88488f7c3335
11417 Author: Pranith Kumar K <pkarampu@redhat.com>
11418 Date:   Sun Dec 2 15:35:09 2018 +0530
11419 
11420     Don't depend on string options to be valid always
11421     
11422     updates bz#1650403
11423     Change-Id: Ib5a11e691599ce4bd93c1ed5aca6060592893961
11424     Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
11425 
11426 commit bdcb2d8497d77ff28cb031ae3992eb7ea0c90486
11427 Author: Raghavendra Bhat <raghavendra@redhat.com>
11428 Date:   Mon Dec 3 11:23:20 2018 -0500
11429 
11430     features/snapview-client: access priv->path inside lock
11431     
11432     To handle the race condition of a fop or a function accessing priv->path
11433     and a reconfigure changing priv->path (because entry point directory
11434     changed), the private structure's path is guarded by the lock.
11435     
11436     updates bz#1650403
11437     Change-Id: I61c539da06d68d38eafcf2155699c7702f31323e
11438     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
11439 
11440 commit 403c69d35827b6cbb430e97a797c318cca81e86e
11441 Author: Yaniv Kaul <ykaul@redhat.com>
11442 Date:   Thu Sep 13 16:03:23 2018 +0300
11443 
11444     AFR xlator: use dict_{setn|getn|deln|get_int32n|set_int32n|set_strn}
11445     
11446     In a previous patch (https://review.gluster.org/20769) we've
11447     added the key length to be passed to dict_* funcs, to remove the need
11448     to strlen() it. This patch moves some xlators to use it.
11449     
11450     - In some cases, moved strlen() of the key length outside of locks,
11451     which is usually a good thing. Please verify it's safe to do so.
11452     - In some cases, created a prefix for the keys, replacing something like
11453     "%d-%d" with a "%s" in snprintf(). Not sure it adds value, but improves
11454     readability.
11455     
11456     Please review carefully.
11457     
11458     Compile-tested only!
11459     
11460     Change-Id: I04f2a1eb2ecfc3283d849d150d10d088ae7aa7f1
11461     updates: bz#1193929
11462     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
11463 
11464 commit f0c46df09fe542d6a365adc0c544ba460598501c
11465 Author: Jiffin Tony Thottan <jthottan@redhat.com>
11466 Date:   Wed Dec 12 12:10:44 2018 +0530
11467 
11468     selinux/glusterd : add "features.selinux" to glusterd-volume-set.c
11469     
11470     Fixes: bz#1659868
11471     Change-Id: I38675ba4d47c8ba7f94cfb4734692683ddb3dcfd
11472     Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
11473 
11474 commit 152907d438bf8bb571e43ec278ec7b01da2431a6
11475 Author: Kotresh HR <khiremat@redhat.com>
11476 Date:   Wed Dec 5 17:27:07 2018 +0530
11477 
11478     cluster/afr: Fix mem leak reported by ASAN
11479     
11480     Traceback:
11481     
11482     Direct leak of 765 byte(s) in 9 object(s) allocated from:
11483         #0 0x7ffb9cad2c48 in malloc (/lib64/libasan.so.5+0xeec48)
11484         #1 0x7ffb9c5f8949 in __gf_malloc ./libglusterfs/src/mem-pool.c:136
11485         #2 0x7ffb9c5f91bb in gf_vasprintf ./libglusterfs/src/mem-pool.c:236
11486         #3 0x7ffb9c5f938a in gf_asprintf ./libglusterfs/src/mem-pool.c:256
11487         #4 0x7ffb826714ab in afr_get_heal_info ./xlators/cluster/afr/src/afr-common.c:6204
11488         #5 0x7ffb825765e5 in afr_handle_heal_xattrs ./xlators/cluster/afr/src/afr-inode-read.c:1481
11489         #6 0x7ffb825765e5 in afr_getxattr ./xlators/cluster/afr/src/afr-inode-read.c:1571
11490         #7 0x7ffb9c635af7 in syncop_getxattr ./libglusterfs/src/syncop.c:1680
11491         #8 0x406c78 in glfsh_process_entries ./heal/src/glfs-heal.c:810
11492         #9 0x408555 in glfsh_crawl_directory ./heal/src/glfs-heal.c:898
11493         #10 0x408cc0 in glfsh_print_pending_heals_type ./heal/src/glfs-heal.c:970
11494         #11 0x408fc5 in glfsh_print_pending_heals ./heal/src/glfs-heal.c:1012
11495         #12 0x409546 in glfsh_gather_heal_info ./heal/src/glfs-heal.c:1154
11496         #13 0x403e96 in main ./heal/src/glfs-heal.c:1745
11497         #14 0x7ffb99bc411a in __libc_start_main ../csu/libc-start.c:308
11498     
11499     The dictionary is referenced by caller to print the status.
11500     So set it as dynstr, the last unref of dictionary will free it.
11501     
11502     updates: bz#1633930
11503     Change-Id: Ib5a7cb891e6f7d90560859aaf6239e52ff5477d0
11504     Signed-off-by: Kotresh HR <khiremat@redhat.com>
11505 
11506 commit b40bb5394dbe5b391d8218d71d672d7e1820e5d3
11507 Author: ShyamsundarR <srangana@redhat.com>
11508 Date:   Fri Dec 14 16:57:01 2018 -0500
11509 
11510     dht: Fix clang warnings in dht-common.c
11511     
11512     Change-Id: I0894d62edd68e13d123aaa5ca1827b98283f0d3e
11513     Updates: bz#1622665
11514     Signed-off-by: ShyamsundarR <srangana@redhat.com>
11515 
11516 commit eb77d69be528580ca6e4c109762b862114beca87
11517 Author: Csaba Henk <csaba@redhat.com>
11518 Date:   Mon Oct 22 00:59:05 2018 +0200
11519 
11520     fuse: SETLKW interrupt
11521     
11522     Use the (f)getxattr based clearlocks interface to
11523     interrupt a pending lock request.
11524     
11525     updates: #465
11526     Change-Id: I4e91a4d8791fc688fed400a02de4c53487e61be2
11527     Signed-off-by: Csaba Henk <csaba@redhat.com>
11528 
11529 commit d49b41e817d592c1904b6f01716df6546dad3ebe
11530 Author: Amar Tumballi <amarts@redhat.com>
11531 Date:   Tue Oct 16 16:31:49 2018 +0530
11532 
11533     fuse: add --lru-limit option
11534     
11535     The inode LRU mechanism is moot in fuse xlator (ie. there is no
11536     limit for the LRU list), as fuse inodes are referenced from
11537     kernel context, and thus they can only be dropped on request of
11538     the kernel. This might results in a high number of passive
11539     inodes which are useless for the glusterfs client, causing a
11540     significant memory overhead.
11541     
11542     This change tries to remedy this by extending the LRU semantics
11543     and allowing to set a finite limit on the fuse inode LRU.
11544     
11545     A brief history of problem:
11546     
11547     When gluster's inode table was designed, fuse didn't have any
11548     'invalidate' method, which means, userspace application could
11549     never ask kernel to send a 'forget()' fop, instead had to wait
11550     for kernel to send it based on kernel's parameters. Inode table
11551     remembers the number of times kernel has cached the inode based
11552     on the 'nlookup' parameter. And 'nlookup' field is not used by
11553     no other entry points (like server-protocol, gfapi etc).
11554     
11555     Hence the inode_table of fuse module always has to have lru-limit
11556     as '0', which means no limit. GlusterFS always had to keep all
11557     inodes in memory as kernel would have had a reference to it.
11558     Again, the reason for this is, kernel's glusterfs inode reference
11559     was pointer of 'inode_t' structure in glusterfs. As it is a
11560     pointer, we could never free it (to prevent segfault, or memory
11561     corruption).
11562     
11563     Solution:
11564     
11565     In the inode table, handle the prune case of inodes with 'nlookup'
11566     differently, and call a 'invalidator' method, which in this case is
11567     fuse_invalidate(), and it sends the request to kernel for getting
11568     the forget request.
11569     
11570     When the kernel sends the forget, it means, it has dropped all
11571     the reference to the inode, and it will send the forget with the
11572     'nlookup' parameter too. We just need to make sure to reduce the
11573     'nlookup' value we have when we get forget. That automatically
11574     cause the relevant prune to happen.
11575     
11576     Credits: Csaba Henk, Xavier Hernandez, Raghavendra Gowdappa, Nithya B
11577     
11578     fixes: bz#1560969
11579     Change-Id: Ifee0737b23b12b1426c224ec5b8f591f487d83a2
11580     Signed-off-by: Amar Tumballi <amarts@redhat.com>
11581 
11582 commit fc74ef85e0780e0a265275df00e4d0d4a2d05eab
11583 Author: N Balachandran <nbalacha@redhat.com>
11584 Date:   Fri Dec 14 16:42:26 2018 +0530
11585 
11586     performance/rda:  Fixed dict_t memory leak
11587     
11588     Removed all references to dict_t xdata_from_req which is
11589     allocated but not used anywhere. It is also not cleaned up
11590     and hence causes a memory leak.
11591     
11592     Change-Id: I2edb857696191e872ad12a12efc36999626bacc7
11593     fixes: bz#1659432
11594     Signed-off-by: N Balachandran <nbalacha@redhat.com>
11595 
11596 commit 5ec271c316ec6538130d25148179721c595dd5a2
11597 Author: Iraj Jamali <ijamali@redhat.com>
11598 Date:   Fri Nov 23 01:58:44 2018 +0530
11599 
11600     glusterfsd: Fix coverity issue
11601     
11602     Problem reported: value assigned to a variable is never used
11603     
11604     Fixes CID : 1274230
11605     
11606     updates: bz#789278
11607     
11608     Change-Id: I7afcb411876dea81c6820c5b31ae0a2896f9ca15
11609     Signed-off-by: Iraj Jamali <ijamali@redhat.com>
11610 
11611 commit a6a5f7aa6f05d21db7e8b4fbc39f2c6f843aac39
11612 Author: Anoop C S <anoopcs@redhat.com>
11613 Date:   Thu Dec 6 15:05:20 2018 +0530
11614 
11615     extras: New group volume set command for Samba integration
11616     
11617      # gluster volume set <VOLNAME> group samba
11618     
11619     List of volume set options from group-samba are aimed at improving the below
11620     workloads which consumes time and network hops in SMB world:
11621     
11622     * Listing of large directories
11623     * Negative lookups during creation of files
11624     
11625     Caching the necessary metadata required for these workloads saves us time and
11626     network hops. On the other side we have to ensure correctness(avoiding stale
11627     cache) in caching(via md-cache) with the help of cache invalidation in an
11628     environment where multiple client access is expected.
11629     
11630     Change-Id: Icdd2d8e5eb290e12bc509105418c668f432f4eae
11631     fixes: bz#1656771
11632     Signed-off-by: Anoop C S <anoopcs@redhat.com>
11633 
11634 commit 930d8b706136e2aaa1f3d173f79e1a4970e65561
11635 Author: Csaba Henk <csaba@redhat.com>
11636 Date:   Thu Dec 6 16:13:46 2018 +0100
11637 
11638     locks: handle "clear locks" xattr in fgetxattr too
11639     
11640     The lock clearing procedure was kicked in only in
11641     getxattr context. We need it to work the same way
11642     if it's triggered via fgetxattr (as is the case
11643     with interrupt handling).
11644     
11645     Also cleaned up the instrumentation a bit (more logs,
11646     proper management of allocated data).
11647     
11648     updates: #465
11649     Change-Id: Icfca26ee181da3b8e15ca3fcf61cd5702e2730c8
11650     Signed-off-by: Csaba Henk <csaba@redhat.com>
11651 
11652 commit e3d01793a3ef1307240fdc7d7f0d12be1488b921
11653 Author: Yaniv Kaul <ykaul@redhat.com>
11654 Date:   Sun Dec 2 23:19:46 2018 +0200
11655 
11656     Multiple posix related files: several modifications
11657     
11658     Just looked at posix.c and related code and performed
11659     some changes and cleanups. The only important one is #3 below,
11660     but surely the others (#2 and #4) need careful review.
11661     Changes to other files are as they were related to code paths
11662     in posix.c.
11663     
11664     I'll send a separate patch for other posix related files.
11665     
11666     Main changes:
11667     1. Proper initializtion for parameters, where it made sense.
11668     2. Logged outside the lock in several places.
11669     3. Moved from CALLOC to MALLOC where it made sense.
11670     4. Aligned structures.
11671     5. moved dictionary functions to use _sizen where possible.
11672     (dict_get() -> dict_get_sizen() for example)
11673     
11674     Compile-tested only!
11675     
11676     Change-Id: Ia84699fb495e06d095339c91c1ba770d1393bb6c
11677     updates: bz#1193929
11678     Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
11679 
11680 commit 2421453bf38469a8c0861f205bdee37e771aa39f
11681 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
11682 Date:   Mon Dec 10 18:02:19 2018 +0530
11683 
11684     cli: variable-length array declaration clang fix
11685     
11686     Problem: Declared variable-length array can have zero size
11687     
11688     Added a goto statement to address this issue.
11689     
11690     Updates: bz#1622665
11691     
11692     Change-Id: Ibf80643490367a5f7e50f66f87e4296380be45de
11693     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
11694 
11695 commit 64d800940e67b75d51f536816ee92bae59d6f850
11696 Author: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
11697 Date:   Thu Dec 13 11:14:10 2018 +0530
11698 
11699     cluster/ec: NULL pointer deferencing clang fix
11700     
11701     Removing VALIDATE_OR_GOTO check on "this"
11702     
11703     Change-Id: I154deaca5302b41c1cafd87077de880dd03ec613
11704     Updates: bz#1622665
11705     Signed-off-by: Sheetal Pamecha <sheetal.pamecha08@gmail.com>
11706 
11707 commit bfe2b5e1530efd364af7a175c8a1c89bc4cab0bb
11708 Author: ShyamsundarR <srangana@redhat.com>
11709 Date:   Wed Dec 12 16:45:09 2018 -0500
11710 
11711     clang: Fix various missing checks for empty list
11712     
11713     When using list_for_each_entry(_safe) functions, care needs
11714     to be taken that the list passed in are not empty, as these
11715     functions are not empty list safe.
11716     
11717     clag scan reported various points where this this pattern
11718     could be caught, and this patch fixes the same.
11719     
11720     Additionally the following changes are present in this patch,
11721     - Added an explicit op_ret setting in error case in the
11722     macro MAKE_INODE_HANDLE to address another clang issue reported
11723     - Minor refactoring of some functions in quota code, to address
11724     possible allocation failures in certain functions (which in turn
11725     cause possible empty lists to be passed around)
11726     
11727     Change-Id: I1e761a8d218708f714effb56fa643df2a3ea2cc7
11728     Updates: bz#1622665
11729     Signed-off-by: ShyamsundarR <srangana@redhat.com>
11730 
11731 commit 8293d21280fd6ddfc9bb54068cf87794fc6be207
11732 Author: Amar Tumballi <amarts@redhat.com>
11733 Date:   Thu Dec 6 12:29:25 2018 +0530
11734 
11735     all: remove code which is not being considered in build
11736     
11737     These xlators are now removed from build as per discussion/announcement
11738     done at https://lists.gluster.org/pipermail/gluster-users/2018-July/034400.html
11739     
11740     * move rot-13 to playground, as it is used only as demo
11741       purpose, and is documented in many places.
11742     
11743     * Removed code of below xlators:
11744       - cluster/stripe
11745       - cluster/tier
11746       - features/changetimerecorder
11747       - features/glupy
11748       - performance/symlink-cache
11749       - encryption/crypt
11750       - storage/bd
11751       - experimental/posix2
11752       - experimental/dht2
11753       - experimental/fdl
11754       - experimental/jbr
11755     
11756     updates: bz#1635688
11757     Change-Id: I1d2d63c32535e149bc8dcb2daa76236c707996e8
11758     Signed-off-by: Amar Tumballi <amarts@redhat.com>
11759 
11760 commit af7e957b4954bd84b8f7df6bfbd59c939092ead2
11761 Author: Amar Tumballi <amarts@redhat.com>
11762 Date:   Thu Dec 6 16:24:52 2018 +0530
11763 
11764     xlator: make 'xlator_api' mandatory
11765     
11766     * Remove the options to load old symbol.
11767     * keep only 'xlator_api' symbol from being exported using xlator.sym
11768     * add xlator_api to all the xlators where its missing
11769     
11770     NOTE: This covers all the xlators which has at least a test case
11771     to validate its loading. If there is a translator, which doesn't
11772     have any test, then we should probably remove that from codebase.
11773     
11774     fixes: #164
11775     Change-Id: Ibcdc8c9844cda6b4463d907a15813745d14c1ebb
11776     Signed-off-by: Amar Tumballi <amarts@redhat.com>
11777 
11778 commit 088e2cbb5ee3f3e766b7e4021e2d86d0c5187de0
11779 Author: Amar Tumballi <amarts@redhat.com>
11780 Date:   Tue Dec 11 16:20:58 2018 +0530
11781 
11782     symlink-cache: remove from the build
11783     
11784     symlink-cache was written as an experiment to reduce the load
11785     on 'build' systems, which keep doing symlink resolution to get
11786     the proper header files. But since last 6+ years, there was no
11787     way to add it to the volfile using gluster cli, and hence was
11788     not supported anymore. As it is not maintained, and as announced
11789     on [1], we are planning to remove it from the build system.
11790     
11791     [1]- https://lists.gluster.org/pipermail/gluster-users/2018-July/034400.html
11792     
11793     updates: bz#1635688
11794     Change-Id: Iaa25069bceed04cf65f79a4b4a02c05cee848eb5
11795     Signed-off-by: Amar Tumballi <amarts@redhat.com>
11796 
11797 commit fb917bf10b4783d5c669e81a5be1f902ca48cb84
11798 Author: Mohit Agrawal <moagrawal@redhat.com>
11799 Date:   Fri Nov 23 09:39:43 2018 +0530
11800 
11801     [geo-rep]: Worker still ACTIVE after killing bricks
11802     
11803     Problem: In changelog xlator after destroying listener it call's
11804              unlink to delete changelog socket file but socket file
11805              reference is not cleaned up from process memory
11806     
11807     Solution: 1) To cleanup reference completely from process memory
11808                  serialize transport cleanup for changelog and then
11809                  unlink socket file
11810               2) Brick xlator will notify GF_EVENT_PARENT_DOWN to next
11811                  xlator only after cleanup all xprts
11812     
11813     Test: To test the same run below steps
11814           1) Setup some volume and enable brick mux
11815           2) kill anyone brick with gf_attach
11816           3) check changelog socket for specific to killed brick
11817              in lsof, it should cleanup completely
11818     
11819     fixes: bz#1600145
11820     
11821     Change-Id: Iba06cbf77d8a87b34a60fce50f6d8c0d427fa491
11822     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
11823 
11824 commit 52d3f82db2f032eae1b60ffa2f283109858ce3df
11825 Author: Ravishankar N <ravishankar@redhat.com>
11826 Date:   Tue Dec 11 15:32:03 2018 +0530
11827 
11828     afr: some minor itable related cleanups
11829     
11830     - this->itable always needs to be allocated, hence move it outside
11831     afr_selfheal_daemon_init().
11832     - Invoke afr_selfheal_daemon_init() only for self-heal daemon case.
11833     - remove redundant itable allocation in afr_discover().
11834     - destroy itable in fini.
11835     
11836     Updates bz#1193929
11837     Change-Id: Ib28b50b607386f5a5aa7d2f743c8b506ccb10eae
11838     Signed-off-by: Ravishankar N <ravishankar@redhat.com>
11839 
11840 commit 607bbd935f102602810fdeb61079b85ecb58a118
11841 Author: Mohit Agrawal <moagrawal@redhat.com>
11842 Date:   Wed Nov 21 14:33:53 2018 +0530
11843 
11844     rpc: Resolve memory leak in mgmt_pmap_signout_cbk
11845     
11846     Problem: At the time of submit signout request to mgmt
11847              rpc_clnt_mgmt_pmap_signout create a frame but in cbk
11848              frame is not destroyed
11849     
11850     Solution: cleanup frame in mgmt_pmap_signout_cbk to avoid leak
11851     
11852     Change-Id: I9961cacb2e02c8023c4c99e22e299b8729c2b09f
11853     fixes: bz#1658045
11854     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
11855 
11856 commit c9d117d54aea1d775e0eef1881892d11fa12811e
11857 Author: Milind Changire <mchangir@redhat.com>
11858 Date:   Wed Dec 12 09:23:11 2018 +0530
11859 
11860     core: move invalid port logs to DEBUG log level
11861     
11862     Stop spamming "invalid port" logs in case sysadmin has reserved a large
11863     number of ports.
11864     
11865     Change-Id: I244ef7693560cc404b36cadc6b05d92ec0e908d3
11866     fixes: bz#1656517
11867     Signed-off-by: Milind Changire <mchangir@redhat.com>
11868 
11869 commit 7dadea15c58eb92e5f5727190bf9446dd6fe7a3c
11870 Author: Raghavendra Bhat <raghavendra@redhat.com>
11871 Date:   Tue Nov 6 15:27:31 2018 -0500
11872 
11873     copy_file_range support in GlusterFS
11874     
11875         * libglusterfs changes to add new fop
11876     
11877         * Fuse changes:
11878           - Changes in fuse bridge xlator to receive and send responses
11879     
11880         * posix changes to perform the op on the backend filesystem
11881     
11882         * protocol and rpc changes for sending and receiving the fop
11883     
11884         * gfapi changes for performing the fop
11885     
11886         * tools: glfs-copy-file-range tool for testing copy_file_range fop
11887     
11888           - Although, copy_file_range support has been added to the upstream
11889     	    fuse kernel module, no release has been made yet of a kernel
11890             which contains the support. It is expected to come in the
11891             upcoming release of linux-4.20
11892     
11893             So, as of now, executing copy_file_range fop on a fused based
11894             filesystem results in fuse kernel module sending read on the
11895     	    source fd and write on the destination fd.
11896     
11897     	    Therefore a small gfapi based tool has been written to be able
11898             test the copy_file_range fop. This tool is similar (in functionality)
11899     	    to the example program given in copy_file_range man page.
11900     
11901     	    So, running regular copy_file_range on a fuse mount point and
11902     	    running gfapi based glfs-copy-file-range tool gives some idea about
11903     	    how fast, the copy_file_range (or reflink) can be.
11904     
11905     	    On the local machine this was the result obtained.
11906     
11907     	    mount -t glusterfs workstation:new /mnt/glusterfs
11908     	    [root@workstation ~]# cd /mnt/glusterfs/
11909     	    [root@workstation glusterfs]# ls
11910     	    file
11911     	    [root@workstation glusterfs]# cd
11912     	    [root@workstation ~]# time /tmp/a.out /mnt/glusterfs/file /mnt/glusterfs/new
11913     	    real  0m6.495s
11914     	    user  0m0.000s
11915     	    sys   0m1.439s
11916     	    [root@workstation ~]# time glfs-copy-file-range $(hostname) new /tmp/glfs.log /file /rrr
11917     	    OPEN_SRC: opening /file is success
11918     	    OPEN_DST: opening /rrr is success
11919     	    FSTAT_SRC: fstat on /rrr is success
11920     	    copy_file_range successful
11921     
11922             real  0m0.309s
11923             user  0m0.039s
11924             sys   0m0.017s
11925     
11926             This tool needs following arguments
11927              1) hostname
11928              2) volume name
11929              3) log file path
11930              4) source file path (relative to the gluster volume root)
11931              5) destination file path (relative to the gluster volume root)
11932     
11933             "glfs-copy-file-range <hostname> <volume> <log file path> <source> <destination>"
11934     
11935           - Added a testcase as well to run glfs-copy-file-range tool
11936     
11937         * io-stats changes to capture the fop for profiling
11938     
11939         * NOTE:
11940     
11941           - Added conditional check to see whether the copy_file_range syscall
11942             is available or not. If not, then return ENOSYS.
11943     
11944           - Added conditional check for kernel minor version in fuse_kernel.h
11945             and fuse-bridge while referring to copy_file_range. And the kernel
11946             minor version is kept as it is. i.e. 24. Increment it in future
11947             when there is a kernel release which contains the support for
11948             copy_file_range fop in fuse kernel module.
11949     
11950         * The document which contains a writeup on this enhancement can be found at
11951           https://docs.google.com/document/d/1BSILbXr_knynNwxSyyu503JoTz5QFM_4suNIh2WwrSc/edit
11952     
11953     Change-Id: I280069c814dd21ce6ec3be00a884fc24ab692367
11954     updates: #536
11955     Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
11956 
11957 commit 5c723ade196600030ee84621384cceb10fff64d8
11958 Author: karthik-us <ksubrahm@redhat.com>
11959 Date:   Mon Dec 10 18:13:19 2018 +0530
11960 
11961     cluster/afr: Do not update read_subvol in inode_ctx after rename/link fop
11962     
11963     Since rename/link fops on a file will not change any data in it, it should
11964     not update the read_subvol values in the inode_ctx, which interprets the
11965     data & metadata readable subvols for that file. The old read_subvol values
11966     should be retained even after the rename/link operations.
11967     
11968     Change-Id: I068044a426823a566f5bea8aa063cd689199d6dd
11969     fixes: bz#1657783
11970     Signed-off-by: karthik-us <ksubrahm@redhat.com>
11971 
11972 commit 3e3d83ee359c8bc8a8694865e0a8af869b2b8f33
11973 Author: Harpreet Kaur <hlalwani@redhat.com>
11974 Date:   Tue Dec 11 15:07:56 2018 +0530
11975 
11976     tools: stack-buffer-overflow reported by asan
11977     
11978     This patch fixes buffer overflow in $SRC/tools/setgfid2path/src/main.c
11979     Memory access at offset 196 overflows "pgfid" variable
11980     SUMMARY: AddressSanitizer: stack-buffer-overflow (/lib64/libasan.so.5+0x4e935)
11981     
11982     updates: bz#1633930
11983     
11984     Change-Id: Ib508c57e96c46b628f63c511437b853b39ae7955
11985     Signed-off-by: Harpreet Kaur <hlalwani@redhat.com>
11986 
11987 commit e41fee7ba316655cdaafb9234a1590051f82db11
11988 Author: Bhumika Goyal <bgoyal@redhat.com>
11989 Date:   Thu Dec 6 15:04:55 2018 +0530
11990 
11991     afr: Resource leak coverity fixes
11992     
11993     Problem reported by Coverity: Leak of memory or pointers to
11994     system resources.
11995     Deallocate the memory pointed to by xattr_serz as the memory
11996     reference is not stored anywhere.
11997     
11998     Fixes CID: 1124760, 124787, 1382418
11999     
12000     Change-Id: Ib9c2ef28c52e2d43de2552cfd959a98b26272bc1
12001     updates: bz#789278
12002     Signed-off-by: Bhumika Goyal <bgoyal@redhat.com>
12003 
12004 commit 08adbfb5d2edf9dc01ecc2cf2ca5eccb320b8721
12005 Author: rishubhjain <rishubhjain47@gmail.com>
12006 Date:   Mon Dec 10 13:04:13 2018 -0500
12007 
12008     write-behind/bit-rot: fix identifier
12009     
12010     Rename the identifiers, bit-rot-server to bit-rot in bit-rot.c & write-ahead to
12011     write-behind in write-behind.c to ensure GD2 understands the options
12012     
12013     Change-Id: Id271ae97de2e54f4e30174482c4e1fb6afc728d3
12014     Fixes: #164
12015     Signed-off-by: rishubhjain <rishubhjain47@gmail.com>
12016 
12017 commit f50251daeece85d6ada79b1d1f6697d4fac59ad4
12018 Author: Harpreet Kaur <hlalwani@redhat.com>
12019 Date:   Mon Dec 10 16:14:54 2018 +0530
12020 
12021     nfs: memory leak issue reported by asan
12022     
12023     This patch fixes Direct leaks in exports.c
12024     Leaks are happening in exp_file_parse
12025     SUMMARY: AddressSanitizer: 5120 byte(s) leaked in 20 allocation(s).
12026     SUMMARY: AddressSanitizer: 512 byte(s) leaked in 4 allocation(s).
12027     
12028     Updates: bz#1633930
12029     
12030     Change-Id: Ib4474f8f6c65d737ed54ed35b4234410d1fd673e
12031     Signed-off-by: Harpreet Kaur <hlalwani@redhat.com>
12032 
12033 commit 8b3a1b19fbd73545cb86029ee34033d87190bca5
12034 Author: Amar Tumballi <amarts@redhat.com>
12035 Date:   Wed Dec 5 20:37:53 2018 +0530
12036 
12037     encryption: remove crypt xlator from build
12038     
12039     Based on the proposal to remove few features as they are not
12040     actively maintained [1], removing crypt translator from the build.
12041     
12042     [1] - https://lists.gluster.org/pipermail/gluster-users/2018-July/034400.html
12043     
12044     Crypt xlator helped in on-disk / at-rest encryption of data. But
12045     currently as there are no maintainers for this, planning to remove
12046     it from master codebase. We are planning to host these experimental/
12047     tech-preview xlators in another repository, so people who want to
12048     contribute can still use the bits.
12049     
12050     updates: bz#1635688
12051     
12052     Change-Id: I7f2453907a595c34f635a88c49aab0845369c6e7
12053     Signed-off-by: Amar Tumballi <amarts@redhat.com>
12054 
12055 commit e82bcc33ed2d5cd54d3f918397f31818089299ad
12056 Author: Mohit Agrawal <moagrawal@redhat.com>
12057 Date:   Mon Nov 26 14:40:00 2018 +0530
12058 
12059     posix: posix_health_check_thread_proc crash due to priv is NULL
12060     
12061     Problem: posix_fini sends a cancellation request to health_check
12062              thread and cleanup priv without ensuring health_check thread
12063              is running
12064     
12065     Solution: Make health_check && disk_space thread joinable and call
12066               gf_thread_cleanup_xint to wait unless thread is not finished
12067     
12068     Change-Id: I4d37b08138766881dab0922a47ed68a2c3411f13
12069     fixes: bz#1636570
12070     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
12071 
12072 commit 2b7b6ff28fa92335613d0b5715acd552cfcfd759
12073 Author: Mohit Agrawal <moagrawal@redhat.com>
12074 Date:   Fri Dec 7 12:35:20 2018 +0530
12075 
12076     glusterd: Resolve memory leak in some glusterd functions
12077     
12078     Problem: Functions allocate memory for req structure but after submit
12079              request they missed to cleanup memory
12080     
12081     Solution: After submit request cleanup allocated mmeory
12082     
12083     Change-Id: I8f995787ed8986b882f008ccd588670b5d4139f5
12084     updates: bz#1633930
12085     Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
12086 
12087 commit 74c72d0dd9a47b842f4247d939b64089a6fb8e43
12088 Author: Sunny Kumar <sunkumar@redhat.com>
12089 Date:   Fri Dec 7 10:53:44 2018 +0530
12090 
12091     cli : fix memory leak in cli-cmd-volume.c
12092     
12093     This patch fixes ememory leak reported by ASan.
12094     
12095     Tracebacks:
12096     Direct leak of 84 byte(s) in 1 object(s) allocated from:
12097         #0 0x7f71ea107848 in __interceptor_malloc (/lib64/libasan.so.5+0xef848)
12098         #1 0x7f71e9e2ac49 in __gf_malloc ./libglusterfs/src/mem-pool.c:136
12099         #2 0x7f71e9e2b4bb in gf_vasprintf ./libglusterfs/src/mem-pool.c:236
12100         #3 0x7f71e9e2b68a in gf_asprintf ./libglusterfs/src/mem-pool.c:256
12101         #4 0x41e8ec in cli_cmd_bitrot_cbk ./cli/src/cli-cmd-volume.c:1847
12102         #5 0x410b39 in cli_cmd_process ./cli/src/cli-cmd.c:137
12103         #6 0x40fe9d in cli_batch ./cli/src/input.c:29
12104         #7 0x7f71e989558d in start_thread (/lib64/libpthread.so.0+0x858d)
12105     
12106     updates: bz#1633930
12107     Change-Id: I8977e45add742e67047291f398f0ee79eb09afe4
12108     Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
12109 
12110 commit 6e92171117c73d7a8901800299446a131e54b597
12111 Author: Harpreet Kaur <hlalwani@redhat.com>
12112 Date:   Wed Nov 28 14:06:36 2018 +0530
12113 
12114     geo-rep: Make slave volume read-only (by default)
12115     
12116     Added a command to set "features.read-only" option
12117     to a default value "on" for slave volume.
12118     Changes are made in:
12119     $SRC//extras/hook-scripts/S56glusterd-geo-rep-create-post.sh
12120     for root geo-rep and
12121     $SRC/geo-replication/src/set_geo_rep_pem_keys.sh
12122     for non-root geo-rep.
12123     
12124     Fixes: bz#1654187
12125     
12126     Change-Id: I15beeae3506f3f6b1dcba0a5c50b6344fd468c7c
12127     Signed-off-by: Harpreet Kaur <hlalwani@redhat.com>
12128 
12129 commit 916df2c12b19ac84b7806d31226d7f832ca7e2bb
12130 Author: Atin Mukherjee <amukherj@redhat.com>
12131 Date:   Thu Dec 6 23:14:57 2018 +0530
12132 
12133     glusterd: fix get_mux_limit_per_process to read default value
12134     
12135     get_mux_limit_per_process () reads the global option dictionary and in
12136     case it doesn't find out a key, assumes that
12137     cluster.max-bricks-per-process option isn't configured however the
12138     default value should be picked up in such case.
12139     
12140     Change-Id: I35dd8da084adbf59793d58557e818d8e6c17f9f3
12141     Fixes: bz#1656951
12142     Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
12143 
12144 commit 9ee330aaf0831bc04e2ed72c05be0701571b5294
12145 Author: Raghavendra Gowdappa <rgowdapp@redhat.com>
12146 Date:   Thu Dec 6 13:24:40 2018 +0530
12147 
12148     performance/readdir-ahead: update stats from prefetched dentries
12149     
12150     stats from prefetched dentries should be invalidated only if the
12151     files pointed to those dentries were written in the window of
12152     prefetching. Otherwise its safe to use these stats.
12153     
12154     Change-Id: I9ea5aeea4c75dfa03387fca32c626cb4e693290d
12155     Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
12156     Fixes: bz#1656348
12157 
12158 commit 40a9e53a44e887658fade3f03afc018e82b941b9
12159 Author: Aravinda VK <avishwan@redhat.com>
12160 Date:   Thu Dec 6 15:09:26 2018 +0530
12161 
12162     New xlator option to control enable/disable of xlators in Gd2
12163     
12164     Since glusterd2 don't maintain the xlator option details in code, it
12165     directly reads the xlators options table from `*.so` files. To support
12166     enable and disable of xlator new option added to the option table with
12167     the name same as xlator name itself.
12168     
12169     This change will not affect the functionality with glusterd1.
12170     
12171