| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In brief, when an open is called the VMP-based open is called first.
If that fails, the fallback is the Mount-Point Bypass(MBP) technique
which uses entended attributes to determine if the given
path is a gluster mount. If it is, it goes ahead to create a
glusterfsclient handle. All subsequent calls to this real mount point
get redirected to the glusterfsclient handle. The other fallback is
the actual open syscall on the local file system itself. This happens
when the absence of an extended attribute tells us that the path is
not even a glusterfs mount point.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We define the O_CREAT, etc. flags so that we can remove fcntl.h from the
include path. fcntl.h has certain defines and other lines of
code that redirect application's open and open64 calls to the
syscalls defined by libc.
For us, thats not a Good Thing (TM).
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit brings into booster the use of VMP based operations
which will allow users of booster to specifiy a VMP and use it
for transparently operating on a glusterfs client context.
Since applications are oblivious to booster's presence, because it is
LD_PRELOAD'ed, we need to specify the VMPs and the corresponding
options like volfile, logfile, loglevel, through a conf file.
By default, this conf file is the /etc/booster.conf. This can be
over-ridden through the GLFS_BOOSTER_CONF environment variable
for the application.
The format of the conf file is very simple for now. Each VMP is
described on a single line with space separated fields.
Format: <Virtual Mount Point> <volfile-path> <log-file> <log-level>
<log-level> takes the string representation of the usual glusterfs
log levels.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit does two things:
1. Changes glusterfs_readdir prototype to conform to the POSIX
readdir().
2. Uses a 1024-byte value instead of sizeof(struct dirent) for the
@size for libgf_client_readdir. This allows even larger names to fit
into a single readdir request to the server.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
| |
We want to resolve even nested symlinks when calling stat,
therefore, we need to depend on realpath-like functionality
and not just a readlink.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit does two things:
1. Ensures we go on to traverse nested symlinks by calling realpath
recursively on the symlink.
2. Makes glusterfs_realpath, a VMP-based operation, return a resolved
/real path that actually has the VMP pre-fixed to the resolved path.
If this is not done, we'll be returning a path that is valid only
within the glusterfs context, i.e. the path will point to a real
file/dir only if a glusterfs handle identifies which glusterfs context
the file is in.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
| |
The target of the symlink does not have to be interpreted in
any way. It should be sent across as it is.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
On my system, an selinux module gets inited before
booster even though the FS calls from the selinux module
get routed through our LD_PRELOAD'ed wrappers. In this
scenario, the VMP list is un-inited, resulting in a seg-fault
if it is dereferenced. The list_empty check does not help
because the pointers in the list have non-NULL values.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the functions have also been moved within
the header to reflect the order in which users will
read through and try to understand how to use the lib.
For eg. the init, mount and umount functions have been moved to
the beginning to clarify how to start by init and de-initing.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
| |
Metadata operations now lock only a single byte at offset
(LLONG_MAX - 1) instead of the whole file, to avoid contention
with writev().
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch cleans up io-threads behaviour regarding the
range values that can be specified for min-threads
and max-threads. THe major change is that the min threads
have been reduced to 2 to signify that io-threads needs minimum
two threads for its operation, while keeping the default number of
threads at 16. The idea is to decouple the default thread count
from the minimum thread count.
Note to Avati:
This applies over Raghu's indentation and logging take-3 patch.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
| |
Conditional was wrong and dependency check would fail.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
| |
inode->st_mode is not set.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|