| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to He Xaobing <allreol@gmail.com>, this patch is inspired by
http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=188#c2
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 188 ([ glusterfs 2.0.6rc2 ] - "Directory not empty" on rm -rf)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=188
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 560 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=560
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added 'auto' option, older boolean options works as they used to.
* This option should make 'create' rate faster, also handles
self-healing of linkfile properly in case of scaling to
more servers or filesystem is getting full.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 584 (automatically configure 'lookup-unhashed' option)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=584
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 574 (Sticky bit files are not listed in the output of ls on a dht volume)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=574
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of relying on CALLOC's zero initialization which happens
to be the value of DHT_HASH_TYPE_DM, explicitly set the value
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 523 (Hash type is not initialized in dht_layout_new)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=523
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 521 (SPECFS validation fails over distribute + replicate)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=521
|
|
|
|
|
|
|
|
|
|
|
| |
Create the entry (either regular file or directory), when its
missing in some of the subvolumes and available on some.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 535 (stripe entry self-heal..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=535
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
innocent.
If metadata changelog has been disabled, all subvolumes
will be innocent. In that case, simply pick the subvolume
on which the file has the lowest uid as the source and
sync other subvolumes to it.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 451 (metadata self-heal does not a pick a source if mode/times have been changed at the backend)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=451
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- just before xl_init_tree call on namespace, unify node is set as parent of
namespace node and since xl->ready of unify node is set only after return
from init call, calling xl_init_tree on namespace node will result in
execution of init of unify node for the second time. This results in
following bugs:
* since during second execution, parent of namespace node is unify, init of
unify xlator fails.
* even if init did not fail, re-execution of init in itself is bad, since it
results in memory leaks etc. Worse, it can result in infinite recursive
calls into init of unify node.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 518 (unify does not start)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=518
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 509 (Crash in afr_local_cleanup ())
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=509
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of CALLOC'ing a loop_state structure at the beginning
of every loop, keep a table of allocated structures and reuse
them.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
|
|
| |
fixes the crash due to dereferencing NULL fd pointer
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 497 (Client crashes in fuse_fd_cbk while running ltp tests)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=497
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a crash that was caused due to a NULL pointer deref
because a NULL sbuf is returned if the readlink fop fails.
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 492 (distribute crashes in readlink)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=492
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 463 (Crash in dht_stat_merge ())
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=463
|
|
|
|
|
|
|
|
|
|
| |
Removed few more 'fops' from stripe. More cleaner stat structure return.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 340 (Kernel Compilation fail in stripe)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=340
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 137 (Parent directory mtime not reset after a create in self-heal)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=137
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 326 ([2.0.8rc9] Spurious self-heal)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 326 ([2.0.8rc9] Spurious self-heal)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326
|
|
|
|
|
|
|
|
| |
Signed-off-by: Harshavardhana <harsha@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
performed
distribute should return st_dev from the same subvolume it itransforms the inode
number. this is to ensure that there will not be false replacements of inodes in
inode management
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
sh->healing_fd should be ref'ed only when healing_fd_opened is not set
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
| |
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 340 (Kernel Compilation fail in stripe)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=340
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
|
|
|
| |
Marking the fop as failed in the ENOTEMPTY case led to spurious
entry self-heals.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 326 ([2.0.8rc9] Spurious self-heal)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* needed to have ctime in the statbuffer from first subvolume.
* unlink should be sent to all subvolumes no matter what.
(earlier it was sent to all nodes only in case of regular files,
causing directory not empty type of errors in 'rm -rf' cases)
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 321 (over distributed-stripe set-up, annihilate.sh fails.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=321
|
|
|
|
|
|
|
|
|
|
|
| |
If a pre-op has not been done on any subvolume at all, there
is no reason to make flush a transaction call.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 427 (flush on a file opened read-only should not hold locks)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=427
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 146 (Add setattr FOP)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The janitor thread deletes all files and directories in
the "/" GF_REPLICATE_TRASH_DIR directory. This directory
is used by replicate self-heal to dump files and
directories it deletes.
This is needed because letting replicate walk the directory
tree and delete a directory and all its children is too racy.
Instead, replicate self-heal only does an atomic rename(),
and the janitor thread takes care of actually deleting them.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 227 (replicate selfheal does not remove directory with contents in it)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These changes are required to make GlusterFS compile on MacOSX (10.5).
Currently glusterfs server component alone will work over Mac, and it has
to be built with following options to ./configure.
"bash$ ./configure --disable-fuse-client --disable-fusermount "
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 361 (GlusterFS 3.0 should work on Mac OS/X)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
|
|
|
|
|
|
|
|
|
|
|
|
| |
copy out members which are needed. memcpy of full local causes
a copy of pointers without references and results in various corruption
errors
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the background self-heal frame's local_t, copy only
required members --- not a wholesale memcpy. The memcpy
lead to pointers being copied and then double free'd.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
|
|
|
| |
Set the buf.st_size of the original frame's afr_local_t, and
not the copy_frame'd one.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doing self-heal.
This patch sets the read-subvolume equal to the self-heal "source"
even if we're not doing self-heal (because some one else is already
doing it).
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See http://cppcheck.sf.net
[./build/libglusterfs/src/y.tab.c:2104]: (error) Memory leak: cmd
[./libglusterfs/src/md5.c:306]: (error) Resource leak: f
[./xlators/debug/io-stats/src/io-stats.c:1396]: (error) Possible null pointer dereference: this - otherwise it is redundant to check if this is null at line 1402
[./xlators/cluster/stripe/src/stripe.c:3597]: (error) Memory leak: dup_str
[./xlators/debug/trace/src/trace.c:2426]: (error) Possible null pointer dereference: this - otherwise it is redundant to check if this is null at line 2429
These appear in rarely hit error cases or test/demo code so nothing
serious, in fact.
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 420 (fix leaks pointed out by cppcheck static analyzer)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=420
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
creation fops.
This fixes fuse_create_cbk conflict warnings and random errors while
running dbench (typically open handle failure with ENOENT).
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 315 (generation number support)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Error handling in afr_lookup_cbk was faulty because it
did not give priority to errors such as ESTALE over ENOENT,
and ENOENT over other errors. This patch fixes that, and
also breaks up afr_lookup_cbk into multiple logical functions.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 205 ([ glusterfs 2.0.6rc4 ] - Hard disk failure not handled correctly)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=205
|
|
|
|
|
|
|
|
|
|
|
|
| |
when active_sink count is 0, the code proceeded into a dangerous loop
resulting in a crash while issuing the call or in the callback
afr_sh_data_setattr_cbk or afr_sh_data_flush_cbk
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
|
|
|
|
| |
reset pre_op_done[i] to 0 after issuing a postop in flush. this was
missed during the introduction of pre_op_done[] array and was resulting
in a lot of spurious self heals when spurious flushes were received
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
|
|
|
|
|
|
|
|
|
|
|
|
| |
When checksum fop returns error, mark for terminating the loop at the end
of the iteration (when all checksum calls of that iteration return) and
not immediately
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
|
|
|
|
| |
maintaining unify is not feasible, and its design of namespace is
not scalable too. hence moving it to 'legacy/' directory..
Thanks to unify, we learnt something about rename(). 'cluster/unify' has
served GlusterFS well for more than 2years, and its the time to say
goodbye :-(
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now nufa uses dht_conf->private variable to store its
contents, and doesn't pollute distribute's structures.
It used to hang earlier as layout_lock was not INIT()'d.
whitespace-cleanup done on the code too.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 409 (implement a switch scheduler)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=409
|
|
|
|
|
|
|
|
|
|
|
| |
switch translator is a wrapper around distribute to work for a
pattern based scheduling.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 409 (implement a switch scheduler)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=409
|
|
|
|
|
|
|
|
|
|
|
|
| |
stripe code assumes in many places that it will have more than one subvolume,
but the strict check was not there in init, hence, if somebody configures stripe
with just one subvolume, it will cause many fops with frame loss.
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 340 (Kernel Compilation fail in stripe)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=340
|
|
|
|
|
|
|
|
|
|
|
| |
alloca.h should be included on a platform-specific basis.
Lets common-utils.h handle that.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 349 (FreeBSD compilation error (alloca.h).)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=349
|