| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the functions calling inode_path, __inode_path
are assuming the path to be set to NULL in case of errors.
Instead of fixing it in the calling functions, fixing it in
the __inode_path function.
Change-Id: I77736a2700d3c2c9732a536bcf2a398fe626d54e
BUG: 765430
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/810
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
as configurable options
Change-Id: Ifc4710f149be35979746ddfbfb4181638601bc64
BUG: 766040
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/766
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
Change-Id: I7508ab3a93329bb6a679801fddfcd0e5b0c7c134
BUG: 765198
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.com/770
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
With the previous patch this change was missed.
Change-Id: If536cef3fa423415eaa4104e6c3e5e72c5d0a22d
BUG: 3854
Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
Reviewed-on: http://review.gluster.com/775
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* so overall memory usage will be in limit.
* the array is hard-coded, need to improve upon this.
* need more benchmarking to tune the proper values to the array
* fixed the issue of pruning of arenas.
Change-Id: I38a8ffab37378c25d78f77a2d412b1b8935c67d3
BUG: 3474
Signed-off-by: Amar Tumballi <amar@gluster.com>
Reviewed-on: http://review.gluster.com/543
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
and new function dict_get_ptr_and_len().
Change-Id: I653a1cc8123baa36d750250d02721aa98b196f38
BUG: 3158
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/744
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
builds of glusterfs in the fedora build system often fail due to a
race condition between running yacc and starting to compile the y.tab.c
produced by yacc
We found that the previous fix would still occasionally trip the race
condition. This revised patch changes the automake Makefile.am to generate
the parser files without incurring the race condition. An extra dimension
of the problem is that the tarball from
http://download.gluster.com/pub/gluster/glusterfs/3.2/3.2.5/glusterfs-3.2.5.tar.gz
contains files that you don't get when you clone from the git repo (e.g.
libgluster/src/{graph.lex.c,y.tab.c}, and all the Makefile.in files) so
build issues on fedora build systems do not manifest themselves on jenkins
and vice versa.
This works on jenkins, the fedora build system, and my f16 vm/guest
machines. (Finding the right combination that works on all three was an
exercise to say the least. I'm open to other suggestions for avoiding
the race condition.)
Run autogen.sh to (re)generate the Makefile.ins. Then run configure to
produce all Makefiles, followed by `make -j X` where X>1
see also https://bugzilla.redhat.com/show_bug.cgi?id=756510
BUG: 3826
Change-Id: Iaeecb59c61a77bf3927da18253c83cf5ffed4254
Reviewed-on: http://review.gluster.com/765
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just the same way e2fsprogs maintains. This avoids unnecessary problems
for different architectures.
Change-Id: I3911998373756707996afb7b926ec0780ea18b81
BUG: 3833
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/764
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
builds of glusterfs in the fedora build system often fail due to a
race condition between running yacc and starting to compile the y.tab.c
produced by yacc
This patch changes the automake Makefile.am to generate the parser files
without incurring the race condition
This works on jenkins, the fedora build system, and my f16 vm/guest
machines. (Finding the right combination that works on all three was an
exercise to say the least. I'm open to other suggestions for avoiding
the race condition.)
Run autogen.sh to (re)generate the Makefile.ins. Then run configure to
produce all Makefiles, followed by `make -j X` where X>1
see also https://bugzilla.redhat.com/show_bug.cgi?id=756510
BUG: 3826
Change-Id: I06ba0d0a1d59f0f44c0dd2cd9d227ca08d99e205
Reviewed-on: http://review.gluster.com/763
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: Ibd365e8d83c6faf631df7cb99ec62440496fcbdf
BUG: 2923
Reviewed-on: http://review.gluster.com/230
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: Ied0a2fedb3b7604f6abbf0a4aa7f71e43a5ea568
BUG: 2923
Reviewed-on: http://review.gluster.com/595
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enables kernel read-only mode on mounting with '-oro' and disables the gluster
read-only translator from being loaded. As a result, '-oro' is reported
correctly in the mount options.
Change-Id: If94d97836b13668974cfac61b6e5d52e19880e10
BUG: 3742
Reviewed-on: http://review.gluster.com/655
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Csaba Henk <csaba@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
This works around broken /dev/stderr on some systems.
Change-Id: I017b03082ff630c4a713ae74990e88b3fa20d0e1
BUG: 3686
Reviewed-on: http://review.gluster.com/560
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
was happening when any of the dlopen() fails for xlator loading, and
xlator_destroy() was called as it was using a uninitialized list for
traversal.
now, the list gets initialized at the begining of the xl-init(), so
xlator_destroy() works smoothly.
Change-Id: I320f6fe922e6d351e6d7c0a3e8da1f6b414d3c47
BUG: 3731
Reviewed-on: http://review.gluster.com/606
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I7a8bd3b3f9600ced4a945f07447698876933ade0
BUG: 3760
Reviewed-on: http://review.gluster.com/678
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the entire glusterfs codebase.
This patch fixes many of spell mistakes and typo in the entire
glusterfs codebase and all supported modules.
Change-Id: I83238a41aa08118df3cf4d1d605505dd3cda35a1
BUG: 3809
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/731
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I53b007fbdb42313d207d5d63fbfaaa6aaf033f95
BUG: 3518
Reviewed-on: http://review.gluster.com/523
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I0f078d1753db65d2f2e0380d1b0450c114cf40dd
BUG: 3518
Reviewed-on: http://review.gluster.com/522
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Workaround -
If the read request, does not fall to the subvolume with the largest
file size set, then we never return the correct size. This leads to
clients seeing a truncated file error.
The work around is to wipe stat being returned as part of read call.
Problem -
We were passing the stbuf returned by the first child/index, which
can be different to the size/blocks returned by stat. This led to
applications viewing the file as being truncated.
The stbuf size needs to be the largest of all results, and blocks
the aggregation from all subvolumes. (similar to stat)
BUG: 3774
Change-Id: I46c53c18b2b42b1f5b86b05555bbab73bf993476
Reviewed-on: http://review.gluster.com/666
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clients.
This is needed for gsyncd/hadoop-plugin running as non-super
user to be able to request extended attributes under trusted
namespace. Request for a key is made under 'user.' namespace
and is flipped by fuse xlator for specific xattr name to the
corresponding 'trusted.' extended attribute.
Both applications set a identifier (client-pid) while doing a
FUSE mount, which is checked by get/set/remove interfaces in
FUSE translator.
Change-Id: I72f77a5dd1ee1d69c8b0e09209449348dbcf879a
BUG: 3701
Reviewed-on: http://review.gluster.com/563
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Closes the .cmd_log_history file and reopens it to prevent leakage of file
handles.
Change-Id: I1c846ccf9a0c1c90c9209f26a1c5332d3dd94ffd
BUG: 3678
Reviewed-on: http://review.gluster.com/584
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I600120252445c06d9cc3e7aa24022c2559b6abe2
BUG: 3747
Reviewed-on: http://review.gluster.com/638
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
with this patch, there are no more warnings with gcc (GCC) 4.6.1 20110908
Change-Id: Ice0d52d304b9846395f8a4a191c98eb53125f792
BUG: 2550
Reviewed-on: http://review.gluster.com/607
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* most of the leaks can happen in syncop_lookup(), if rsp_dict is
not provided by user
Change-Id: I5a887c45f1a46a91502147e44f7ed9d41f50dbc6
BUG: 3715
Reviewed-on: http://review.gluster.com/550
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
TODO: currently, wrt. rebalance/decommissioning, only pending thing
is hardlink migration.
Change-Id: I30cd06802e84c95601a5a081198f1f09c6d6bc01
BUG: 3714
Reviewed-on: http://review.gluster.com/578
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Shishir Gowda <shishirng@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
| |
Change-Id: I35cdf2c771974b9c51db47f24cd044ae014e52ce
BUG: 3426
Reviewed-on: http://review.gluster.com/244
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
earlier it was hardcoded to 8, now increased the size to 16.
also return the exact error code in client_submit_vec_request(),
so there will be no missing frames in case of errors.
Change-Id: I82a6ee681a543b673a7cf1a0b9c5ade2a7175ebe
BUG: 3679
Reviewed-on: http://review.gluster.com/555
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
now returns 'true(1)' is gfid is root, 'false(0)' if not.
earlier it was the inverse, which was bit confusing
Change-Id: Id103f444ace048cbb0fccdc72c6646da06631584
BUG: 3518
Reviewed-on: http://review.gluster.com/549
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Across glibc implementations, interpretation of argc/argv passed
to makecontext() is different. This patch does away with dependence
on such arguments passed to makecontext(). Instead,synctask reference
is retrieved from pthread_getspecific().
Change-Id: Ie01feaa0b7d430f8782c2f6805ccdf8026e401f4
BUG: 3636
Reviewed-on: http://review.gluster.com/547
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since gfid is used to uniquely identify a inode, in the statedump
printing inode number is not necessary. Its suffecient if the gfid
of the inode is printed. And do not print the the inodelks, entrylks
and posixlks if the lock count is 0.
Change-Id: Idac115fbce3a5684a0f02f8f5f20b194df8fb27f
BUG: 3476
Reviewed-on: http://review.gluster.com/530
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Used a #pragma to kill ~170 in rpcgen code. Added GF_UNUSED to deal with
a few more from macros elsewhere. The remainder are function return values
(mostly context and dict calls) that really should be checked. Those would
be harder to fix without real understanding of the code where they occur,
so they remain as reminders.
(Patchset 2: deal with older gcc that doesn't handle #pragma GCC diagnostic)
(Patchset 3: fix include paths in generated files)
(Patchset 4: keep up with trunk, squash 9 new warnings)
(Patchset 5: six more, all in AFR)
Change-Id: I29760c8c81be4d7e6489312c5d0e92cc24814b7b
BUG: 2550
Reviewed-on: http://review.gluster.com/378
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Does the following:
1. Increases cache-size limit from 6GB to 32GB.
2. Prevents 'volume set'from failing when cache-size is set over the
limit. Just issues a warning.
3. Performs check on cache-size by comparing with total system memory
available in init () and reconfigure () methods.
Change-Id: I7dd4d8c53051b89a293696abf1ee8dc237e39a20
BUG: 3495
Reviewed-on: http://review.gluster.com/409
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I0553bb7f64d69f5684c3d21f3809da4e9e3529c1
BUG: 3557
Reviewed-on: http://review.gluster.com/515
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
1. Add a new 'volume statedump' command, that performs statedumps of
all the bricks in the volume and saves them in a specified location.
2. Add new server option 'server.statedump-path'.
3. Remove multiple function definitions in glusterd.h
Statedump Information:
The 'volume statedump' command performs statedumps on all the bricks in
a given volume. The syntax of the command is,
gluster volume statedump <VOLNAME> [type]......
Types include,
* all
* mem
* iobuf
* callpool
* priv
* fd
* inode
Defaults to 'all' when no type is specified.
The statedump files are created by default in /tmp directory of the
server on which the bricks are present.
This path can be changed by setting the 'server.statedump-path' option.
The statedump files will be named as,
<brick-name>.<pid of brick process>.dump
Change-Id: I01c0e1a8aad490da818e086d89f292bd2ed06fd4
BUG: 1964
Reviewed-on: http://review.gluster.com/321
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
* with this, it helps to find out most of the leaks in the process
Change-Id: I70b476e4d63d74843d6664cfe407164f2b79b781
BUG: 3567
Reviewed-on: http://review.gluster.com/491
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
| |
Change-Id: Idf55abfa77712d32b27798fedcfddb65599b562b
Reviewed-on: http://review.gluster.com/493
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cmd is used in the context of proactive self-heal for replicated
volumes. User invokes the following cmd when (s)he suspects that self-heal
needs to be done on a particular volume,
gluster volume heal <VOLNAME>.
Change-Id: I3954353b53488c28b70406e261808239b44997f3
BUG: 3602
Reviewed-on: http://review.gluster.com/454
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* iobuf: add variable to keep count of total number of allocations
* iobuf: include 'purged' and 'filled' arenas also in dump
* mempool: more details added (with a name to tell why mem-pool
is created)
* memory-accounting: print number of allocs in each type
this would give us much better understanding of the memory
allocation pattern
Change-Id: I117ac0c1da943a4cc91543a01963ba7940db2b5f
BUG: 3567
Reviewed-on: http://review.gluster.com/376
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When run was doing a program invocation like "echo foo > foof",
the file descriptor to foof was closed before stdout could be
reopened to it.
To fix this, we change the order of actions: first do redirections,
then do the fd cleanup. This also simplifies code (as there are less
fds which are exempt of the cleanup).
Change-Id: I5f74e41f2999e59916a40c8a89d7fb730d808c27
BUG: 2562
Reported-by: Rajesh Amaravathi <rajesh@gluster.com>
Reviewed-on: http://review.gluster.com/428
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Tested-by: Rajesh Amaravathi <rajesh@gluster.com>
Reviewed-by: Rajesh Amaravathi <rajesh@gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I96db0d94566ceabf1649f890318363f738c06553
BUG: 2458
Reviewed-on: http://review.gluster.com/403
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I267c81a129197534fb318671eafb76e144a15c8c
BUG: 2458
Reviewed-on: http://review.gluster.com/402
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
AI_ADDRCONFIG flag is needed for 'getaddrinfo()' call as hint so
that while resolving a hostname, ip list will be taken from proper
configured address family
Change-Id: Iad6067ad64444d3930d5be593ca819a8de5fc0c1
BUG: 3548
Reviewed-on: http://review.gluster.com/414
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ie379992bdea0974c8c5e1a4d7bc3e87cefe0d256
BUG: 3539
Reviewed-on: http://review.gluster.com/404
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Complexity involved: To migrate a file with open fd, we have to
notify the other client process which has the open fd, and make
sure the write()s happening on that fd is properly synced to the
migrated file. Once the migration is complete, the client
process which has open-fd should get notified and it should
start performing all the operations on the new subvolume,
instead of earlier cached volume.
How to solve the notification part:
We can overload the 'postbuf' attribute in the _cbk() function to
understand if a file is 'under-migration' or 'migration-complete'
state. (This will be something similar to deciding whether a file
is DHT-linkfile by its 'mode').
Overall change includes below mentioned major changes:
1. dht_linkfile is decided by only 2 factors (mode(01000),
xattr(trusted.glusterfs.dht.linkto)), instead of earlier
3 factors (size==0)
2. in linkfile self-heal part (in 'dht_lookup_everywhere_cbk()'),
don't delete a linkfile if there is a open-fd on it. It means,
there may be a migration in progress.
3. if a file's revalidate fails with ENOENT, it may be due to file
migration, and hence need a lookup_everywhere()
4. There will be 2 phases of file-migration.
-> Phase 1: Migration in progress
* The source data file will have SGID and STICKY bit set in its mode.
* The source data file will have a 'linkto' xattr pointing the
destination.
* Destination file will have mode set to '01000', and 'linkto' xattr
set to itself.
-> Phase 2: File migration Complete
* The source data file will have mode '01000', and will be 'truncated'
to size 0.
* The destination file will have inherited mode from the source. (without
sgid and sticky bit) and its 'linkto' attribute will be removed.
4. Changes in distribute to work smoothly with a file which is in migration /
got migrated.
The 'fops' are divided into 3 categories, inode-read, inode-write and others.
inode-read fops need to handle only 'phase 2' notification, where as, the
inode-write fops need to handle both 'phase 1' and phase2. The inode-write
operations will be done on source file, and if any of 'file-migration' procedures
are detected in _cbk(), then the operations should be performed on the destination
too.
when a phase-2 is detected, then the inode-ctx itself should be changed to represent
a new layout.
With these changes, the open file migration will work smoothly with multiple clients.
Change-Id: I512408463814e650f34c62ed009bf2101d016fd6
BUG: 3071
Reviewed-on: http://review.gluster.com/209
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes client fake that given user is a superuser,
by changing FUSE requests coming with uid of user so that uid
is set to 0.
User can be given in numeric form, in which case it's treated
as an uid directly, or else it's tried to be resolved to an
uid with getpwnam(3).
Implies --acl.
Change-Id: I2d5a3d3e178be7ffdf22b46a56f33a7eeaaa7fe1
BUG: 3242
Reviewed-on: http://review.gluster.com/127
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes ~200 such warnings, but leaves three categories untouched.
(1) Rpcgen code.
(2) Macros which set variables in the outer (calling function) scope.
(3) Variables which are set via function calls which may have side effects.
Change-Id: I6554555f78ed26134251504b038da7e94adacbcd
BUG: 2550
Reviewed-on: http://review.gluster.com/371
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The header of the ptr returned from mem-pool will now store the
mem-pool ptr it belongs to. mem_put will now take only the pointer
to be freed.
Also, changing MALLOC call to GF_CALLOC in mem_get when we run out
of entries in mem-pool. This also will have the header information
saved.
Change-Id: I3de182663a7f5b49c9e9425e9531775b70bdff67
BUG: 3390
Reviewed-on: http://review.gluster.com/205
Reviewed-by: Amar Tumballi <amar@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I1649ed61b13b935d714ca024e6883f3903c5edeb
BUG: 3460
Reviewed-on: http://review.gluster.com/310
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I84b4f7c9c2787334ce67e5c3e0534953b691c8e0
BUG: 3460
Reviewed-on: http://review.gluster.com/295
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendrabhat@gluster.com>
|
|
|
|
|
|
|
|
| |
Change-Id: Ifad5827c6b022de7d84e081ce77effda0c245a13
BUG: 3415
Reviewed-on: http://review.gluster.com/277
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
|