| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
During entry self-heal, make sure not only that a symlink
exists on all subvolumes, but also that their targets match.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 193 (symlink contents not self-healed by replicate)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=193
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a new option "background-self-heal-count", with a
default value of 16.
This means that upto {background-self-heal-count} number of files/directories
will be healed in the background at any given time. If such number of self-heals
are already in progress, further self-heals take place in the foreground.
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the initial lookup shows that 'pending' is positive, then
self-heal will hold a lock and do a lookup again. This lookup
might show that 'pending' is zero everywhere. However, entry
self-heal used to consider this as a case of 'no sources' and
try to merge the directories. This patch checks for that case
and does not do the merge.
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
|
|
|
|
|
|
|
|
|
| |
impunge_parent_setattr.
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
frame.
There was a race condition in assuming that afr_sh_entry_impunge_parent_setattr_cbk will
always return before impunge_xattrop_cbk and impunge_setattr_cbk.
This patch fixes two additional problems:
1) Building the parent_loc from impunge_local->loc after STACK_WIND to
impunge_xattrop_cbk has happened. In a simple afr-posix configuration
the stack will have been destroyed by the time building of parent_loc is
attempted.
2) parent_loc built in impunge_newfile_cbk was not being loc_wipe'd.
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
|
|
|
|
|
|
|
|
|
|
|
| |
While creating/deleting an entry as part of entry self-heal,
set the parent directory's mtime to match that on the source
subvolume.
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
|
|
|
|
|
|
|
|
|
|
| |
afr selfheal now remembers all the nodes on which locks were successfully
held and sends unlocks only to those nodes
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
|
|
|
|
|
|
|
|
|
|
|
| |
when files on all backend nodes are missing, the logic in afr_sh_entry_erase_pending
is broken and results in missing lookup frame. this causes processes to enter into
uninterruptible sleep state.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 311 (missing frame (lookup) when entry-selfheal finds missing files in all backend nodes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=311
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 145 (NFSv3 related additions to 2.1 task list)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
|
|
|
|
|
|
|
| |
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: Anand V. Avati <avati@dev.gluster.com>
BUG: 130 (build warnings)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
|
| |
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
xattrs on source subvolume for that dir/file
|
|
|
|
| |
impunge loop was 'continued' on a different subvolume in certain cases, resulting in healing of partial files
|
|
|
|
|
|
| |
subvolumes while keeping existing data.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
| |
If file sizes differ, then compulsorily do self-heal. If no 'wise'
sources are found, then pick a 'fool' with the biggest file size.
If even 'fools' aren't found, pick the 'innocent' source with the
biggest file size.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
| |
Decrement xattr during self-heal based on the original dict instead
of pending_matrix, as the pending_matrix might have been
altered later.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
| |
updated copyright header to include 2009.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|