| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Another attempt to enhance searching for VMP entries.
There was a problem of returning the longest prefix match
from all the VMPs without checking whether the number of
matched components were same as the number of components
in the candidate VMP.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 209 (VMP parsing through fstab has issues)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 209 (VMP parsing through fstab has issues)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 230 (Bulid fails on Solaris and Mac OS due to Linux specific flags)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=230
|
|
|
|
|
|
|
|
|
| |
allocated memory.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 228 (Segmentation fault in glusterfs_getxattr)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=228
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 226 (mkdir after rm of regular file of same name fails)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=226
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 209 (VMP parsing through fstab has issues)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209
|
|
|
|
|
|
|
|
|
|
|
| |
when there are no servers available to client, and transport init is
not successful, send 'connecting' event once to parent so it doesn't
hand in there.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 224 (Client hangs if none of the servers are up)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=224
|
|
|
|
|
|
| |
not found, the server crashes.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
| |
Support for process state dump.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 213 (Support for process state dump)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213
|
|\
| |
| |
| |
| | |
Conflicts:
xlators/mount/fuse/src/fuse-bridge.c
|
| | |
|
| |
| |
| |
| | |
Idea by Avati.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As of now, if a frame submit fails on server, there are no logs,
and clients will have missing frames (which leads to 'hangs').
Supporting situation like this very tricky without proper log
messages. As a step to make our log message lean and meaningful,
this log is important.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 190 (missing frames due to larger reply message size.. (ib-verbs))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some weeks back, I'd separated the big lock into vmplock and mountlock.
See commit 304e4274ca9b0339539581c5413e3339078c1182 in mainline.
At that time, we did not have a solution to the problem
of when to init the vmplist in a thread-safe manner, since
there was no lock to protect the vmplock specifically, and that
when libgf_vmp_map_ghandle was called inside glusterfs_mount
so the "lock" was already being held.
Now that we have separate mount and vmp locks, the
accesses can be synced correctly.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 211 (libglusterfsclient: Race condition against vmplist in libgf_vmp_map_ghandle)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=211
|
| |
| |
| |
| |
| |
| |
| | |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 210 (libglusterfsclient: Enhance logging)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Till now, we've been doing a character by character comparison
between a given path and the VMP, to search for the glusterfs
handle for the given path.
This does not work for all cases and has been a known bug.
This commit changes the byte-by-byte comparison into a more
accurate component based comparison to fix search
failures.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 209 (VMP parsing through fstab has issues)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
if the lock's end point is LLONG_MAX, the corresponding
struct flock's len must be 0.
Previous code had LLONG_MAX and 0 reversed.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
| |
| |
| |
| | |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
| |
| |
| |
| | |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|/
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In client_open_cbk, client_opendir_cbk the list_add_tail macros were invoked with wrong
ordered arguments, causing the existing registered fd list to get unlinked from the
saved_fds list. The effects of this is far fetched - when transport disconnects, open
fds are no more marked bad as they are not reachable from the saved_fds list. After
reconnection, resumed access on this fd causes reference to invalid fds on the server.
It could appear in the form of 'unresolved fd' error, readdir happening on a file fd,
files reading from other files, etc.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 192 (sefault in posix-readdir)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192
BUG: 126 (Immediate segfault when used for rootfs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=126
BUG: 173 ([ glusterfs 2.0.6rc1 ] - "server SEG fault")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=173
BUG: 194 (Apache+Booster results in inconsistent download size using wget)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=194
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the previous commit, the path info was removed to prevent the
segfault, which instead could have been provided from request
header directly. More specific information is required for debugging,
and hence adding the path log.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 189 (segfault in server-lookup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189
|
|
|
|
|
|
|
|
|
| |
When directories on different subvolumes have different ownerships, use the highest uid/gid till self-heal resolves the inconsistency
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 191 (random Permission denied errors)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=191
|
|
|
|
|
|
|
|
|
|
|
| |
The root cause of this error is not found yet. But this check will
make sure that there is no crash when the situation happens.
Segfault can happen when a readdir() call comes over file's fd.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 192 (sefault in posix-readdir)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192
|
|
|
|
|
|
|
|
|
|
|
|
| |
When 'dict_unserialize' failed, the log message was trying to
print 'state->loc.path' and 'state->ino', which gets filled in
later stages in flow. Caused segmentation fault when there was
a failure.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 189 (segfault in server-lookup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Noticed that in few cases, where ib-verbs doesn't handle a bigger
sized buffer to be sent across, which happens without problem in
tcp. Caused frame losses in the case where server's reply msg was
bigger, hence the msg got dropped at the server end. With this patch
ib-verbs buffer size is fixed to 512KB. (4 x page-size)
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 190 (missing frames due to larger reply message size.. (ib-verbs))
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this option, 'single point of failure', in case of volfile server can be
avoided
Thanks to Cory Meyer <cory.meyer@gmail.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 185 (Request to support secondary volfile-server option in mount.glusterfs)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=185
|
|
|
|
|
|
|
|
|
| |
inode number.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 184 ([ glusterfs 2.0.6rc2 ] - Client Segfault while running fs-perf-test)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=184
|
|
|
|
|
|
|
|
|
| |
privileged port fails.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 140 (use appropriate loglevel to log in case of failure to bind to privileged socket)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=140
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an fd_t is fd_create'd, we need to call fd_bind on it to
ensure that any fd_lookup on the inode gets us this fd. We're not
doing this so translators like write-behind were not able to order
path-based requests at all resulting in some fops like stat, which
could be issued after a writev, overtaking a previous writev which
is still being written-behind.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 179 (fileop reports miscompares on read tests)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=179
|
|
|
|
|
|
|
|
|
|
|
| |
Earlier we have invalidated the iattr cache on writes. Now
we need to do so for reads also, so that we are not updating
the iattr cache with 0-filled stat received from io-cache.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 180 (fileop fails at chmod with stale file handle error over unfs3)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=180
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 177 (replicate: On file/dir creation, replicate returns inode from random subvolumes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=177
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Till now we've been creating an iovec, storing references in it
to the application data and simply passing it on to the translator
tree. This means that the buffer being passed to the translators is
not at all associated with the memory ref'd by the iobref argument
to write fop. This is a problem when write-behind is a translator in
the tree since it assumes that the memory in the iovecs passed to
write fops is already refcounted by the iobref and so it simply copies
the address of the application data. The problem is that the application
can continue using this buffer, free it or over-write it destroying the
data that write-behind may write at a later time.
The solution involves copying the application's write buffer into
an iobuf which will be referred to by the iobref.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 178 (libglusterfsclient: Data corruption on using write-behind in translator tree)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=178
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 174 (booster: fd_ts, they are a leakin)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when logfile path is not specified as absolute path, the symbolic
link created to the logfile (only in invocation of glusterfs with
--run-id) might end up as a broken symbolic link.
for example, command-line invocation like below will result in
broken symbolic link:
glusterfsd -f /home/glusterfs/volfiles/nufa/nufa.vol
-l ../home/glusterfs/logs/nufa.f1.log --run-id nufatest /mnt/nufa/
symbolic link will be created at $PWD/../home/glusterfs/logs/nufa.f1.log
will have a value of ../home/glusterfs/logs/nufa.f1.log.<date>.<time>.<pid>.
this symlink might be broken.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 156 (Broken symbolic link when relative path is given for a log file)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=156
|
|
|
|
|
|
|
|
|
|
|
|
| |
to continue with 'hashed' inode, even if inode_path() on the inode
fails. This will is needed for few lock operations, to unlock the
lock held on inode. (ie, it fixes 'rm -rf *' hang issue, seen from
multiple clients).
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 115 (./configure adds libglusterfsclient when it shouldn't)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=115
|
|
|
|
|
|
|
|
|
| |
always returned the value of second parameter (len) as a result.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 155 (The SuperFastHash function used in dictionaries is broken.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=155
|
|
|
|
|
|
|
|
|
|
|
|
| |
afr_lk_cbk:
Use the original struct flock supplied by the
user to do further STACK_WIND's, and not the flock returned
by the previous STACK_WIND.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 159 (Client hangs when coherent byte range locks is attempted in replicate setup)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=159
|
|
|
|
|
|
|
|
|
|
|
|
| |
There seems to a reproduceable corruption specifically of
the libglusterfs_client_local_t that is allocated for
the read call. Therefore, the subsequent access to fd inside
local leads to a segfault. This is a temporary fix.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 164 (libglusterfsclient: Segfault due to memory corruption of frame local in libgf_client_read)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=164
|
|
|
|
|
|
|
|
|
|
| |
Remember the inode number that had been returned in lookup_cbk
and set the stat buf->ino to the same.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 166 (libglusterfsclient: Cached stat buf inode is different from ino in inode_t)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=166
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 166 (libglusterfsclient: Cached stat buf inode is different from ino in inode_t)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=166
|