summaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Adding release notes for release-6.10v6.10release-6Rinku Kothiya2020-08-051-0/+26
| | | | | | | Fixes: #1417 Change-Id: I1e4140b2c3a38961c66ca98c843b577a5530f029 Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
* Adding release notes for release-6.9v6.9Hari Gowtham2020-04-221-0/+32
| | | | | | Change-Id: I21d153ed3d2991b7dc2bffea605b5abdca87b748 fixes: #1175 Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
* Adding release notes for release-6.8v6.8Hari Gowtham2020-03-021-0/+39
| | | | | | Change-Id: I7cb7d0f863c4ef32ab8d4e0db43e2f8135a54e4f fixes: bz#1806846 Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
* doc: Added release 6.7 notesv6.7hari gowtham2019-12-262-1/+33
| | | | | | | Fixes: bz#1780540 Change-Id: I02ef8c24bc19c321ab2db1d13224ea9e89325e3a Signed-off-by: hari gowtham <hgowtham@redhat.com>
* doc: Added release 6.6 notesv6.6hari gowtham2019-10-251-0/+56
| | | | | | | Fixes: bz#1762237 Change-Id: If339505ca0436947b814d9b0bc0b78f92d5d3317 Signed-off-by: hari gowtham <hgowtham@redhat.com>
* doc: Added release 6.5 notesv6.5Hari Gowtham2019-08-071-0/+28
| | | | | | | Fixes: bz#1737311 Change-Id: I1f54bc9b04ee05c8ab802d92c1471cbfb1aa92a8 Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
* doc: Added release notes for 6.4v6.4hari gowtham2019-07-171-0/+40
| | | | | | | Fixes: bz#1726935 Change-Id: If682cd271c07fdcb62d77ff007ff502ee4a28501 Signed-off-by: hari gowtham <hgowtham@redhat.com>
* doc: Added release notes for 6.3v6.3Hari Gowtham2019-06-101-0/+23
| | | | | | | Fixes: bz#1718555 Change-Id: Ibe540110156d70dc1bf308eccd08d49339f4ef7a Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
* doc: Added release notes for 6.2v6.2Hari Gowtham2019-05-231-0/+35
| | | | | | | Fixes: bz#1701203 Change-Id: Id105192610726e370fa977df2c29723201b94695 Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
* doc: Added release notes for 6.1v6.1ShyamsundarR2019-04-171-0/+41
| | | | | | Fixes: bz#1692394 Change-Id: I44a28ec98932d54851dbf997988e1f8fd9877f0a Signed-off-by: ShyamsundarR <srangana@redhat.com>
* doc: Final version of release-6 release notesv6.0ShyamsundarR2019-03-191-1/+229
| | | | | | Fixes: bz#1672818 Change-Id: I6a98985a7f25bc2b85af5bd85f4be3ffac7d619d Signed-off-by: ShyamsundarR <srangana@redhat.com>
* release-notes/6.0: Add ctime feature changes in release notesKotresh HR2019-03-191-0/+25
| | | | | | | Change-Id: I3a305b9eb292a450c83de5628ceeadcb0a44afc7 updates: bz#1672818 Signed-off-by: Kotresh HR <khiremat@redhat.com> Signed-off-by: ShyamsundarR <srangana@redhat.com>
* release-notes: add status of gd2 and a highlights sectionAmar Tumballi2019-03-191-25/+50
| | | | | | | Change-Id: Idd4fd07b3fcdd7810c242eff0dcca9072048a43e fixes: bz#1672818 Signed-off-by: Amar Tumballi <amarts@redhat.com> Signed-off-by: ShyamsundarR <srangana@redhat.com>
* doc: Update release notes for Samba integrationAnoop C S2019-03-121-0/+13
| | | | | | Change-Id: I2a246111522bd3cb0c9b228ed3387e72b0ac20a4 updates: bz#1672818 Signed-off-by: Anoop C S <anoopcs@redhat.com>
* fuse: reflect the actual default for lru-limit optionAmar Tumballi2019-02-251-1/+1
| | | | | | | | in both `--help` text and man page updates: bz#1679998 Change-Id: I9aa9367c6863ac8e2403255280697c9e6be26cf0 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: Added initial release notes for release-6v6.0rc0ShyamsundarR2019-02-221-0/+142
| | | | | | Change-Id: I31fff344045344c501536b207c864e90ed34bf20 updates: bz#1672818 Signed-off-by: ShyamsundarR <srangana@redhat.com>
* mount/fuse: expose auto-invalidation as a mount optionRaghavendra Gowdappa2019-02-023-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Auto invalidation is necessary when same (meta)data is shared/access across multiple mounts. However, if (meta)data is not shared, all relevant I/O goes through the cache of single mount and hence is coherent with (meta)data on bricks always. So, fuse-auto-invalidation can be disabled for this case which gives a huge performance boost for workloads that write data and then immediately read the data they just wrote. From glusterfs --help, <snip> --auto-invalidation[=BOOL] controls whether fuse-kernel can auto-invalidate attribute, dentry and page-cache. Disable this only if same files/directories are not accessed across two different mounts concurrently [default: "on"] </snip> Details on how disabling auto-invalidation helped to reduce pgbench init times can be found at [1]. Time taken for pgbench init of scale 8000 was 8340s. That will be an improvement of 86% (59280s vs 8340s) with auto-invalidations turned off along with other optimizations. Just disabling auto-invalidation contributed 56% improvement by reducing the total time taken by 33260s. [1] https://www.spinics.net/lists/gluster-devel/msg25907.html Change-Id: I0ed730dba9064bd9c576ad1800170a21e100e1ce Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com> updates: bz#1664934
* doc: fix wrong description of localtime-logging in manpagesKinglong Mee2019-01-113-6/+6
| | | | | | | | | -L is the short option of --log-level, not --localtime-logging, and also, --localtime-logging does not contain an argument. Change-Id: I7e1163cb88b84ab5faecd0a65a1f7257e731d2a7 updates: bz#1664551 Signed-off-by: Kinglong Mee <mijinlong@open-fs.com>
* Revert "iobuf: Get rid of pre allocated iobuf_pool and use per thread mem pool"Amar Tumballi2019-01-082-18/+184
| | | | | | | | | This reverts commit b87c397091bac6a4a6dec4e45a7671fad4a11770. There seems to be some performance regression with the patch and hence recommended to have it reverted. Updates: #325 Change-Id: Id85d6203173a44fad6cf51d39b3e96f37afcec09
* core: Fixed typos in nl-cache and logging-guidelines.mdN Balachandran2018-12-261-1/+1
| | | | | | | | Replaced "recieve" with "receive". Change-Id: I58a3d3d4a0093df4743de9fae4d8ff152d4b216c fixes: bz#1662089 Signed-off-by: N Balachandran <nbalacha@redhat.com>
* iobuf: Get rid of pre allocated iobuf_pool and use per thread mem poolPoornima G2018-12-182-184/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of iobuf_pool has two problems: - prealloc of 12.5MB memory, this limits the scale factor of the gluster processes due to RAM requirements - lock contention, as the current implementation has one global iobuf_pool lock. Credits for debugging and addressing the same goes to Krutika Dhananjay <kdhananj@redhat.com>. Issue: #410 Hence changing the iobuf implementation to use per thread mem pool. This may theoritically appear to cause perf dip as there is no preallocation. But per thread mem pool will not have significant perf impact as the last allocated memory is kept alive for subsequent allocs, for some time. The worst case would be if iobufs requested are of random sizes each time. The best case is, if we get iobuf request of the same size. From the perf tests, this patch did not seem to cause any perf decrease. Note that, with this patch, the rdma performance is going to degrade drastically. In one of the previous patchsets we had fixes to not degrade rdma perf, but rdma is not supported and also not tested [1]. Hence the decision was to not have code in rdma that is not tested and not supported. [1] https://lists.gluster.org/pipermail/gluster-users.old/2018-July/034400.html Updates: #325 Change-Id: Ic2ef3bd498f9250dea25f25ba0c01fde19584b27 Signed-off-by: Poornima G <pgurusid@redhat.com>
* fuse: add --lru-limit optionAmar Tumballi2018-12-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The inode LRU mechanism is moot in fuse xlator (ie. there is no limit for the LRU list), as fuse inodes are referenced from kernel context, and thus they can only be dropped on request of the kernel. This might results in a high number of passive inodes which are useless for the glusterfs client, causing a significant memory overhead. This change tries to remedy this by extending the LRU semantics and allowing to set a finite limit on the fuse inode LRU. A brief history of problem: When gluster's inode table was designed, fuse didn't have any 'invalidate' method, which means, userspace application could never ask kernel to send a 'forget()' fop, instead had to wait for kernel to send it based on kernel's parameters. Inode table remembers the number of times kernel has cached the inode based on the 'nlookup' parameter. And 'nlookup' field is not used by no other entry points (like server-protocol, gfapi etc). Hence the inode_table of fuse module always has to have lru-limit as '0', which means no limit. GlusterFS always had to keep all inodes in memory as kernel would have had a reference to it. Again, the reason for this is, kernel's glusterfs inode reference was pointer of 'inode_t' structure in glusterfs. As it is a pointer, we could never free it (to prevent segfault, or memory corruption). Solution: In the inode table, handle the prune case of inodes with 'nlookup' differently, and call a 'invalidator' method, which in this case is fuse_invalidate(), and it sends the request to kernel for getting the forget request. When the kernel sends the forget, it means, it has dropped all the reference to the inode, and it will send the forget with the 'nlookup' parameter too. We just need to make sure to reduce the 'nlookup' value we have when we get forget. That automatically cause the relevant prune to happen. Credits: Csaba Henk, Xavier Hernandez, Raghavendra Gowdappa, Nithya B fixes: bz#1560969 Change-Id: Ifee0737b23b12b1426c224ec5b8f591f487d83a2 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: Add brick mux thread reduction design doc in developer guidePoornima G2018-12-032-0/+69
| | | | | | Change-Id: I5309efb5826d4385eadea29c1cf973f504eef9e5 Updates: #475 Signed-off-by: Poornima G <pgurusid@redhat.com>
* coding-standard: memset before string functions similar to sprintf/snprintf etcSusant Palai2018-11-261-0/+31
| | | | | | | | | | | | | String functions like sprintf/snprintf/vprintf etc terminates the string with a null character. This makes meset redundant and also incurs some performance penalty. Also added a comment about using GF_MALLOC instead of GF_CALLOC for allocating buffer for strings, targeted by such functions. Fixes: bz#1193929 Change-Id: I4f40d4fd5342b70983936119606c6c9f352c303c Signed-off-by: Susant Palai <spalai@redhat.com>
* geo-rep: add no-verify and ssh-port options for create commandroot2018-11-261-1/+3
| | | | | | | | Added the missing options and their description. fixes: bz#1652911 Change-Id: Id9135953bc6d32e645f004e1c77449899ca3d67c Signed-off-by: root <Shwetha Acharya>
* doc: add a new contributor 'hints' guideAmar Tumballi2018-11-062-4/+214
| | | | | | | | | | Keeping this in glusterfs Repo for glusterfs specific improvements. There would be a link to this page, and some more similar pages from docs.gluster.org updates: bz#1193929 Change-Id: Ie98670cc32e62951f1b1880b1ae39f5cc2b45329 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* fuse: diagnostic FLUSH interruptCsaba Henk2018-11-062-0/+135
| | | | | | | | | | | | | | | | | | | We add dummy interrupt handling for the FLUSH fuse message. It can be enabled by the "--fuse-flush-handle-interrupt" hidden command line option, or "-ofuse-flush-handle-interrupt=yes" mount option. It serves no other than diagnostic & demonstational purposes -- to exercise the interrupt handling framework a bit and to give an usage example. Documentation is also provided that showcases interrupt handling via FLUSH. Change-Id: I522f1e798501d06b74ac3592a5f73c1ab0590c60 updates: #465 Signed-off-by: Csaba Henk <csaba@redhat.com>
* clang-format: add the config fileAmar Tumballi2018-09-121-0/+24
| | | | | | | | Also update the required documents and scripts to enable clang-format Change-Id: I73aae6db06c2f732a1779d59a73bc05e28beafba updates: bz#1564149 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: make developer-index.md as READMEAmar Tumballi2018-09-121-0/+0
| | | | | | | | | | This helps to traverse the docs well as README.md is rendered by default in github pages, and would help to provide better indexed document for new users. updates: bz#1193929 Change-Id: I4130dfd16aed924ecab17f96326cedb86892d6a6 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: add coding-standard and commit-msg link in READMEAmar Tumballi2018-09-111-0/+8
| | | | | | | | | Having the links in README makes people follow it if they browse through github. Updates: bz#1193929 Change-Id: I580332a41d9b52858aa9796a74a563ff57a60b4b Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: add details on how the commit should be structuredAmar Tumballi2018-09-101-0/+136
| | | | | | | | | | | | | | Detailing how the commit message should be is very important for imposing some structure, and good practises. Also it helps new developers to do the right things. This is mostly copied from the OpenStack commit message reference, as it was overlapping with most of the things we follow in GlusterFS. Made minor changes to make it suitable for Gluster project. Updates: bz#1193929 Change-Id: I4dcd7ff366edfc6c1727a287f32bcf7270c86b11 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* classification: provide infra to start labelling features/componentsAmar Tumballi2018-09-041-1/+44
| | | | | | | | | | | | | `doc/xlator-classification.md` talks about the reasoning and expectations Reviewers are expected to check the 'category' of new option / translator added in the codebase, and make sure the flag is always properly set. It helps to keep the 'expectation' proper on the codebase. updates: #430 Change-Id: I2bfc9934a5f6eed77fcc3e20364046242decc82c Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: Add details around xlator categoriesShyamsundarR2018-08-171-0/+178
| | | | | | Updates: bz#1193929 Change-Id: I6446bbdd8025f333a3e855032c0c7709bf4ae4cd Signed-off-by: ShyamsundarR <srangana@redhat.com>
* glusterd: fix gcc7 warningsAmar Tumballi2018-08-141-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | [sh]$ gcc --version gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) Warnings were of the type below: xlators/mgmt/glusterd/src/glusterd-store.c:3285:33: warning: ‘/options’ directive output may be truncated writing 8 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] snprintf (path, len, "%s/options", conf->workdir); ^~~~~~~~ xlators/mgmt/glusterd/src/glusterd-store.c:1280:39: warning: ‘/snaps/’ directive output may be truncated writing 7 bytes into a region of size between 1 and 4096 [-Wformat-truncation=] snprintf (snap_fpath, len, "%s/snaps/%s/%s", priv->workdir, ^~~~~~~ * Also changed some places where there was issues with key size * Made sure all the 'char buf[SOMESIZE] = {0,};' are changed to 'char buf[SOMESIZE] = "";` - In the files I changed * Also edited coding standard to reflect that. updates: bz#1193929 Change-Id: I04c652624ac63199cea2077e46b3a5def37c3689 Signed-off-by: Amar Tumballi <amarts@redhat.com>
* coding-standard: add points on structure paddingAmar Tumballi2018-08-021-0/+48
| | | | | | | | This is a recommendation for users, and reviewers can take a point from this. Updates: bz#1193929 Change-Id: Idcd778e42a886fd79b549da4927149a07573a20b Signed-off-by: Amar Tumballi <amarts@redhat.com>
* doc: keep just one copy of a coredump analysisAmar Tumballi2018-08-012-36/+5
| | | | | | | | | | Keeping two copies of the files means, one would be out-of-date soon, and users would always be confused about which one is the source of truth. Updates: bz#1193929 Change-Id: I568149732fdb9d282ccd583640eee9b9056963fd Signed-off-by: Amar Tumballi <amarts@redhat.com>
* feature/cloudsync: Dev guide to write a Cloudsync PluginSusant Palai2018-05-301-0/+164
| | | | | | Updates: #387 Change-Id: I50ef84e5e67a648384394dfad003884d25a4c746 Signed-off-by: Susant Palai <spalai@redhat.com>
* posix: APIs in posix to get and set time attributesKotresh HR2018-05-061-0/+68
| | | | | | | | | | | | | This is part of the effort to provide consistent time across distribute and replica set for time attributes (ctime, atime, mtime) of the object. This patch contains the APIs to set and get the attributes from on disk and in inode context. Credits: Rafi KC <rkavunga@redhat.com> Updates: #208 Change-Id: I5d3cba53eef90ac252cb8299c0da42ebab3bde9f Signed-off-by: Kotresh HR <khiremat@redhat.com>
* mount,fuse: make fuse dumping available as mount optionCsaba Henk2018-05-041-0/+3
| | | | | | Updates: bz#1193929 Change-Id: I4dd4d0e607f89650ebb74b893b911b554472826d Signed-off-by: Csaba Henk <csaba@redhat.com>
* fuse: add support for kernel writeback cacheCsaba Henk2018-05-042-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added kernel-writeback-cache command line and xlator option for requesting utilisation of the writeback cache of the kernel in FUSE_INIT (see [1]). - Added attr-times-granularity command line and xlator option via which granularity of the {a,m,c}time in stat (attr) data that we support can be indicated to kernel. This is a means to avoid divergence of the attr times between kernel and userspace that could occur with writeback-cache, while still maintaining maximum time precision the FUSE server is capable of (see [2]). - Handling FATTR_CTIME flag in FUSE_SETATTR that indicates presence of ctime in setattr payload. Currently we cannot associate arbitrary ctimes to files on backend, so we just touch them to update their ctimes to current time. Having ctimes in setattr payload is also a side effect of writeback cache (see [3] and [4]). [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4d99ff8, "fuse: Turn writeback cache on" [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e27c9d3, "fuse: fuse: add time_gran to INIT_OUT" [3]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1e18bda, "fuse: add .write_inode" [4]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ab9e13f, "fuse: allow ctime flushing to userspace" Updates: #435 Change-Id: Id174c8e0c815c4456c35f8c53e41a6a507d91855 Signed-off-by: Csaba Henk <csaba@redhat.com>
* doc: updates Language Bindings for libgfapi-perl and gogfapiJi-Hyeon Gim2018-05-031-1/+6
| | | | | | | | | | | | The libgfapi-perl provides declarations and linkage for the Gluster gfapi C library with FFI for many Perl mongers In addition, gogfapi URI link is replaced with GitHub because Forge is dead. Change-Id: I773e78beb201b48ca3fde0dc72d04b64dc9697d6 Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net> Updates: #447
* doc: Update the admin guide linkVarsha Rao2018-04-061-1/+1
| | | | | | | | Update the existing admin guide link as it is incorrect. Change-Id: I05669192623aeac287dfa9002caa0f390ea79499 Updates: bz#1193929 Signed-off-by: Varsha Rao <varao@redhat.com>
* Fix gluster(8) formattingMichael Scherer2018-03-281-1/+0
| | | | | | | | | Looking at the man page show that "Snapshot command" wasn't aligned with the other section titles. Change-Id: I24bdb2e3728e03862fee57710cfe34b0607fe09a BUG: 1507230 Signed-off-by: Michael Scherer <misc@redhat.com>
* client: make fuse direct I/O strategies explicitCsaba Henk2018-03-222-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the --direct-io-mode option has been presented as of being Boolean valued. That is however not exact, as a third behavior is chosen if the option is not specified. We accept now the "auto" value as an explicit choice for the default heuristics, and indicate in the descriptions of the option (which occur in commandline help and in the gluterfs / mount.glusterfs man pages) that auto is the default. The default heuristics was briefly described in the commandline help. We are getting rid of that, because: - it's not the right place to provide such details; - there is no guarantee of keeping the current heuristics so it might go out of sync with reality; - that is already the case to some degree, because the description did not take into account that the default heuristics varies between platforms (on Mac, it's just "off"), and that xlators can also prescribe direct I/O for the file of their choice (see change I3fe3312cd96baa4eecfe1247ab7255b4f455f049). Change-Id: Ia83479c0c67fe66b7fc2e0e8db5b7792d9f44b28 Signed-off-by: Csaba Henk <csaba@redhat.com>
* build: add --without-server optionNiels de Vos2018-02-191-1/+4
| | | | | | | | | | | | | | | | With Gluster 4.0 we will not provide the server components for EL6 and older. At one point Gluster 4.x will get GlusterD2, which requires Golang tools in the distribution. EL6 does not contain these at the moment. With this change, it is possible to `./configure --without-server` which prevents building glusterd and the xlators for the bricks. Building RPMs can pass `--without server` and the glusterfs-server sub-package will not be created. Change-Id: I97f5ccf9f2c76e60d9af83915fc59fae57ad6d25 BUG: 1074947 Signed-off-by: Niels de Vos <ndevos@redhat.com>
* core/memacct: save allocs in mem_acct_rec listN Balachandran2017-12-071-0/+19
| | | | | | | | | | | | | | | With configure --enable-debug, add all object allocations to a list in the corresponding mem_acct_rec. This allows us to see all objects of a particular type and allows for additional debugging in case of memory leaks. This is not compiled in by default and must be explicitly enabled. It is intended to be used by developers. Change-Id: I7cf2dbeadecf994423d7e7591e85f18d2575cce8 BUG: 1522662 Signed-off-by: N Balachandran <nbalacha@redhat.com>
* cli: commands are missing in man pageSanju Rakonde2017-11-281-2/+44
| | | | | | | | adding missed commands to gluster manual page. Change-Id: I2e5eb1b3929241275ee7a046c5e3d45a5aa5c4a2 BUG: 1517554 Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
* Quota: Adding man page for quotaSanoj Unnikrishnan2017-11-091-0/+42
| | | | | | Change-Id: I95365c443705f56561cc10138318eb96db3b941e BUG: 1505660 Signed-off-by: Sanoj Unnikrishnan <sunnikri@redhat.com>
* cli: volume status command is missing in man pageSanju Rakonde2017-10-241-0/+3
| | | | | | | | | | Problem: volume status command is missing gluster manual page. Fix: Adding volume status command to manual page. Change-Id: Ifef18ff3721bc85636a9e7707c50bee2bf9d4a9b BUG: 1505663 Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
* doc: Add missing option for bitrot scrub-frequencyKotresh HR2017-10-181-1/+1
| | | | | | | | | The option 'hourly' is supported for 'scrub-frequency' but man page was not reflecting it. Fixed the same. Change-Id: Ida0929c805f6f5332c5dcd94cda9ecf2f4eee20e BUG: 1503510 Signed-off-by: Kotresh HR <khiremat@redhat.com>