| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
contiguous iobufs into a single iobuf
- while aggregating, we should make sure that the destination has enough
memory. __wb_collapse_write_bufs assumed that destination vector's iov_base
was aligned to the start of an iobuf and hence memory of page_size is
available for aggregation. This assumption is not always true, like in the
configuration consisting afr->write->io-cache (afr is on top). Refer to the
bug url for more details.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 542 (write-behind crashes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=542
|
|
|
|
|
|
|
|
|
|
| |
- refactor done to remove duplicated code.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 542 (write-behind crashes)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=542
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 570 (Cache only those files whose sizes falls under a configured window size)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=570
|
|
|
|
|
|
|
|
|
|
| |
configured window.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 570 (Cache only those files whose sizes falls under a configured window size)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=570
|
|
|
|
|
|
|
|
|
|
|
| |
fix logic in __wb_mark_winds to properly initialize incomplete_writes
and conditionally check based on enable_trickling_writes flag
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 547 (write-behind enable-trickling-writes working?)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=547
|
|
|
|
|
|
|
|
| |
Signed-off-by: Harshavardhana <harsha@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 364 (Segfault in io-cache)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=364
|
|
|
|
|
|
|
|
|
|
|
| |
- rbt_hash_remove only removes entry from the hash table. It does not free
the data.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 438 (Memory leak)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
failed in sp_process_inode_ctx.
We need this patch for following reasons:
1. The inode used in the successful lookup call may not be the one passed to
fops operating on path. This may happen, if revalidate of inode is failed,
but the lookup itself succeeds (in case of reavalidate failures, fuse
sends a fresh lookup using new inode) and since inode_link, if there is an
inode already associated with a path retains it.
2. Only fops that "wait" in stat-prefetch on a lookup which is already in
progress, need to check for the result of the lookup they are waiting on,
before resuming and sp_process_inode_ctx is _not_ used in such contexts.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 428 (looks like stat cache not upto date..)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=428
|
|
|
|
|
|
|
|
|
|
|
| |
- since sp_process_inode_ctx is called by many fops, if the context is not
set "caller" argument can be logged in log msgs to identify caller.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mkdir.
- context will not be set as a fresh inode is passed in each of these calls.
instead create a new context.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
|
| |
of inode passed as arguement in sp_lookup_cbk.
- @inode in sp_lookup_cbk may be NULL in case of failure of lookup.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 426 (stat on mount point hangs.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=426
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 221 (stat prefetch implementation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lookup on same path if one is in progress.
- If current lookup (2) does not wait for completion of the lookup (1) which
is in progress, there can be a race condition where (2) completes ahead of
(1) and resuming all the waiting operations in the queue. When (1) returns,
the original operation (eg., stat, chmod etc) might've already unwound and
hence the frame would've been destroyed.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in sp_inode_ctx_process.
- the variables that are used for making decisions are assigned before
memory allocations and these variables were not reset to
correct values in case of memory allocation failures.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 257 (Backport stat-prefetch to 2.0)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257
|
|
|
|
|
|
|
|
|
|
|
| |
- Access the inode table from one of fd->inode->table, inode->table or
parent->table instead of from root xlators itable.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 369 (Samba does not work with booster.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
|
|
|
|
|
|
|
|
|
|
|
|
| |
- translators like io-cache, read-ahead return a zero-filled stbuf in
readv_cbk and usage of zero filled stat for cache validation is not
correct.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 376 (server-side io-cache is preventing client-side io-cache from working)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=376
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 242 (If any of the writes fail, write-behind should not wait till the fd is closed for reporting errors)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=242
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from 1MB.
- protocol restricts the maximum buffer size that can be received over network
to 1MB. Since the buffer holding reply of lookup should also contain the
lookup header and other key/value pairs of xattr_reply dict, the maximum
file size that can be fetched through dictionary cannot be equal to 1MB.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 419 (Issues with writing files of size >= 1MB)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=419
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 405 (Segmentation fault in stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405
|
|
|
|
|
|
|
|
|
|
|
| |
- since the lifetime of fd context can be no longer than the fd, we can use
lock in fd.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 405 (Segmentation fault in stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not the expected one.
- cache creation is expensive operation. Also, cache will be freed in
releasedir. Hence, just remove all entries from cache without freeing
the cache. However this is not entirely true, since sp_cache_remove_entry
frees the old table and reinitializes a new table if all entries are being
removed. When rbtree based hash table provides an interface to remove all
the entries, sp_cache_remove_entry should be modified not to destroy the
table.
- this patch also fixes a race condition wherein the cache being used in
lookup getting freed in readdir if the offset is not equal to expected
offset.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 405 (Segmentation fault in stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- distribute picks up the inode number from hashed subvolume. But readdir
is done from different subvolumes based on the offset. Hence there is a
possibility of inode number and device number for directories being
inconsistent between two stat calls.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 371 (rm -rf fails on stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sp_get_cache_entry.
- since we don't know the size of dentry before calling sp_get_cache_entry,
we must dynamically allocate the dentry in sp_cache_get_entry and copy the
contents from cache.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 371 (rm -rf fails on stat-prefetch.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371
|
|
|
|
|
|
|
|
|
|
| |
happens in lookup.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
| |
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 374 (quick read fails to initialize if no options are given)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=374
|
|
|
|
|
|
|
|
| |
Signed-off-by: Vinayak Hegde <vinayak@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 360 (All fop fails when stat-prefetch is loaded on afr.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=360
|
|
|
|
|
|
|
|
|
|
| |
inode_ctx_get returns -1.
Signed-off-by: Vinayak Hegde <vinayak@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 360 (All fop fails when stat-prefetch is loaded on afr.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=360
|
|
|
|
|
|
|
|
|
|
| |
- caching file contents in io-cache during lookup is obsolete since quick-read
does the same work.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 314 (Hang in quick-read)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=314
|
|
|
|
|
|
|
|
|
|
| |
- local is used only by certain operations and hence it need not be set by
all the operations invoking open.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 323 (fd leak with quick-read loaded in translator tree)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=323
|
|
|
|
|
|
|
|
|
|
|
|
| |
not found.
- if the fd-context is not set, quick-read has no role to play other than
just passing down the call to underlying translators.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 317 (Data corruption with write-behind loaded in translator tree.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=317
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 238 (Backport quick-read to 2.0 release)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=238
|
|
|
|
|
|
|
|
|
| |
made atomic.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
- sp_entrylk has to send lookup on the path if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
- sp_inodelk has to send lookup on the path if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
- sp_getxattr needs to send a lookup on the path if it is not already looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
|
|
| |
cache in sp_link.
- ctime of oldloc->path will be changed on completion of link fop.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
been looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
not already been looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked-up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
been looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
been looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|
|
|
|
|
|
|
|
|
| |
looked up.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 284 (performance actually decreases for 'ls -l' on a directory containing large number of files with stat-prefetch loaded)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=284
|