| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
been init()ed.
fixes bz# 12
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
| |
in _gf_log(), free 'msg' before returning.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
| |
In AFR self-heal set timestamp of a freshly created missing entry
to that of the source entry.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
| |
to maintain uniformity of maximum length of file name, through out
glusterfs, use NAME_MAX.
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>
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
| |
and "-o" options to be agnostic of their position.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Memory allocated from the heap instead of the mem-pool
need not under go the chunkhead to ptr conversion when returning
to a mem-pool user since this address can be use directly.
This fixes a crash in io-threads.
Ref: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=102
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
| |
Ref: http://www.gnu.org/s/libc/manual/html_node/Access-Modes.html
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
| |
This makes the log format compatible with earlier
versions. Fixes bug #105.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
| |
open() & create() calls should reset frame->local to NULL.
bz# 104
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
| |
as client now doesn't send forget at all to server, it should take care
of forgetting the inode when there is a successful unlink and rmdir fops.
also cleaned up unwanted forget fop's code.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
upon detailed inspection of 'forget' behavior, it became evident that
forgets from client should not goto server side, as server keeps its
own purging mechanism to forget its inodes.
if client sends all forget to server, many highly used required inodes
may get freed up (it will surely effect io-cache buffers on server side)
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>
|
|
|
|
|
|
| |
integer typecast warnings fixed
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
| |
Write calls should not be pushed to background only when the
mandatory locking is enabled, in all other cases (eg: O_SYNC,
O_DIRECT etc), we should not be 'caching' any data, but the
calls can be pushed to the background.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
| |
package-version: because master is undergoing changes for 2.1.x release,
protocol-version: because of addition of mops 'log'
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
| |
- though the previous commit fixes bug #29, this patch fixes bugs
arising in similar situations where xattrop is initiated by
xlators other than afr.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
each of the subvolume
- This patch fixes bug #29.
- Using separate copies of dictionaries also eliminates a potential bug in a
setup consisting of afr with a posix and client, each having io-threads on
top as children. Since posix_xattrop after performing required operations
on the xattr array passed in dictionary, sets the result at the same key
and in the same dictionary passed as input argument,
there can be race conditions where in the results of the operation on
posix-child can be sent to the other child as input argument for xattrop,
which ofcourse is wrong.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been facing a problem on some test systems where the
booster.so is built by libtool as an executable rather than
a dynamically loadable library.
This problem is probably caused by it seeing a _init function in
the source. This is the name of the libc initiliazation
function so it could be the source of the problem.
In any case, ld-preloadable libraries must not have a function
called _init, instead they need to have __attribute ((constructor))
as the attribute for any and all functions the library wants
executed before the program's main(). Our earlier approach was
inherently problematic.
This commit also cleans up the booster Makefile for better
build behaviour. Credit: Harsha.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible that the only translator in the libglusterfsclient
tree is the posix. In that case, inside gluster_init, the graph
init routines will need to call lstat on the posix subdirectory.
Since even the glusterfs stack is running over booster, those
calls will also first require vmp searching. BUT, the vmp lock
is the same as the mount lock that was already taken when we entered
glusterfs_mount, so a deadlock occurs.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch, we might have finally arrived at a solution
to the problem of function definition conflicts between
our functions and those of libc while over-riding the libc versions.
This commit defines functions which do not conflict with libc,
then it uses libc's own macro to redirect/rename these functions
to the actual sys call names in the binary.
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>
|
|
|
|
|
|
|
|
|
|
|
| |
The reason we need a booster specific fd-table is because
the libglusterfs fd-table has come to a point where it is
optimized for libglusterfs-style of fd allocations.
This conflicts with the way booster requires fds to be allocated
so this commit brings in a re-based version of a booster-specific
fd-table written by Raghu.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
| |
I noticed that there were some minor spelling mistakes/typos in some
of the source files. This patch fixes the ones I've found.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
| |
This patch is a step towards giving compatibility between the versions of
GlusterFS. Now onwards, the protocol-version won't depend on release
versions. In general, multiple glusterfs versions can have common
protocol-version.
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>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ref: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=37
earlier instead of path, it used to take port number, which is an
option (-o server-port=<port>), now.
new syntax is
bash# mount -t glusterfs <hostname>:<path/key> [mountpoint]
[This patch is backward compatible with earlier syntax]
bash# mount -t glusterfs <hostname>:<port> [mountpoint]
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
| |
Ref: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=35
The check done earlier was not handling the case when a 'op' is == MAX_VALUE (which
is not defined), and used to skip to the next array (like gf_mops[MAX] == gf_cbks[0])
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
| |
With this patch, one can fetch any volumefile which is not pre-defined in
volume file with 'option' in server protocol volume, instead clients can
fetch the volume files based on the key name itself [From the confdir only]
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
| |
mount.<fstype> script/program should return success in case when it finds
duplicate mounts. It was returning failure earlier. Someversions of
automount programs had issues with this behavior.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
while appending mount/fuse to a translator tree, make sure
that <xlator_t-of-fuse>->next points to the first xlator in
the list of xlators and not the subvolume of mount/fuse.
NOTE: tree traversal should always happen through <xlator_t>->children
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
| |
"fuse_opt_add_arg"
This makes it easier to adjust the option list, and also reduces redundancy.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|