| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 306 (Enhance locks to aid debugging)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hold a lock on the inode for the getxattr/add-array/setxattr
section since multiple threads can enter into it causing
wrong values to be written and triggering spurious replicate
self-heal later.
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
|
|
|
|
|
|
|
|
|
|
| |
Move common code into do_xattrop.
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
|
|
|
|
|
|
|
|
|
|
|
| |
Check if linked_inode is different from returned inode in create,
and if so, make the fd point to the correct inode.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 347 (Assertion failed: inode->ref)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=347
|
|
|
|
|
|
|
|
|
|
| |
TCP_NODELAY is enabled by default for lowlat client and server sockets.
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 344 (Add support for TCP NODELAY in master)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=344
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 344 (Add support for TCP NODELAY in master)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=344
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 344 (Add support for TCP NODELAY in master)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=344
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 306 (Enhance locks to aid debugging)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 306 (Enhance locks to aid debugging)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 306 (Enhance locks to aid debugging)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
|
|
|
|
|
|
|
| |
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: 306 (Enhance locks to aid debugging)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
entries in the hash table as argument.
- the expected number of entries is used to create the memory pool of the hash
table. Having constant macro for this purpose is not suitable since different
users of rbtree based hash table store different number of entries in the
table.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 335 (Io-cache optimization)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
|
|
|
|
|
|
|
|
|
| |
- page table of cache was not being destroyed in ioc_forget.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 335 (Io-cache optimization)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
|
|
|
|
|
|
|
|
|
|
|
| |
- the destroyer function passed to rbthash_table_init is used to free the data.
The data being inserted is page and it is destroyed in ioc_page_destroy. Hence
no destroyer function needs to be passed to rbthash_table_init.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 335 (Io-cache optimization)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
|
| |
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 343 (GlusterFS volume generator - 'volgen')
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343
|
|
|
|
|
|
|
|
|
|
| |
this causes a problem where inodes even after truncate show old
file size for a short time (till attributes are expired in fuse kernel module)
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
|
|
|
|
|
|
|
|
|
|
| |
top-down initialization will miss out on xlators from disconnected subgraphs
and notify can go prematurely to these xlators
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 341 (mountpoint first access failure in single address space mode client/server)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=341
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
1. do not set ENOENT for RESOLVE_MAY case
2. set op_ret to -1 and op_errno to EINVAL when request has neither of entry, inode or fd handles
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
|
|
|
|
|
|
|
|
|
| |
- io-cache uses rbtree based hash tables to store page-cache instead of lists.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 335 (Io-cache optimization)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 338 (rpm post uninstall kills glusterfsd process)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=338
|
|
|
|
|
|
|
| |
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: 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: 320 (Improve self-heal performance)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
Before multiplying the time_t value by 2^32, store it in a
64-bit variable. This is necessary on 32-bit systems, where
time_t is only 32-bits, and left-shifting by 32 results in 0.
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
- readdir and readdir64 should not call same procedure booster_readdir
in their implementation, since the layout of dirent structures returned by
libc implementations of readdir and readdir64 is different (readdir returns
struct dirent *, where as readdir64 returns struct dirent64 *).
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 333 (ls on paths not on virtual mounts report wrong directory contents)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=333
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just before the lookup is unwound during background data self-heal,
the read subvolume is set to the self-heal source subvol so that
read operations on the file work correctly, and don't have to
wait for the self-heal to complete.
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Start upto "data-self-heal-window-size" instances of the read-write loop
of the "diff" data self-heal algorithm simultaneously.
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@dev.gluster.com>
BUG: 146 (Add setattr FOP)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when requested ino/gen is not available in the inode table cache,
then use the path presented by the client to lookup entries with
the hope that the requested ino/gen gets populated into the cache.
re-perform regular search after finishing the deep component
lookup
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
|
|
|
|
|
|
|
|
|
| |
also unlink non existent dentries in lookup_cbk
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Start upto "data-self-heal-window-size" instances of the read-write loop
of the "full" data self-heal algorithm simultaneously.
Add a new option "data-self-heal-window-size" with range [1-1024],
and a default value of 16.
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4
|
|
|
|
|
|
|
|
|
|
| |
- handle generation number in protocol
- rewrite server dentry resolution code for inode cache miss
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
|
|
|
|
|
|
|
|
|
| |
* also fix trailing whitespaces in a couple of places
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
|