| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way stat cache gets updated was not consistent across
all syscalls. Consequently, I was running into a bug that
returned a 0 st_ino. The fix actually resides in the hunk
that changes the lines in libgf_client_lookup but similar
changes were also required in other users of stat cache.
This commit fixes the bug and also cleans up the way stat
cache is updated.
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One part of the glusterfsclient library requires users
to use a handle to address a particular glusterfs context.
This can become cumbersome for applications that need to use multiple
such context. For such applications, we make it easy by letting them
define virtual mount points(VMPs), which are just paths that identify
a particular glusterfs context. This is done through a new
glusterfs_mount(..) interface.
Subsequenly, any path based operations, that pre-pend a VMP before
the files and directories inside the glusterfsd export, get internally
routed to the correct glusterfs context. This helps users do away
with the need to maintain their own path-to-glusterfs_handle_t
mapping.
The old handle-based interface still exists for whoever wishes to use
it.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
| |
The line being removed made libgf_client_readv return
a 0 on successfull return when the return should really
be the size of data read.
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>
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit creates a separate function that allows users of
the inode attribute cache to update the cache when required.
Major users are lookup, stat and fstat functions.
The function libgf_update_iattr_cache(..) allows updating the lookup
and stat caches separately using flags.
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>
|
|
|
|
|
|
|
|
|
| |
This patch moves the read-write permission check on directory
inode into libgf_client_opendir, so that when I am next adding support
for the opendir syscall, I dont have to perform similar checks again,
outside this function.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
| |
If we have received an O_CREAT for a name where that basename is a
directory, and if we have successfully looked up the inode for this directory,
then we can check for S_ISDIR in libglusterfsclient and prevent sending a message
to the server through libgf_client_creat. See also the comment inline.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
| |
All reply notifications can now be abstracted away through
this macro and all cbk functions should now call this.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The gf_log message actually assumes that loc->name will have a valid
non-NULL name in it, whereas if the loc_t being passed to it was
actually created on a function stack, i.e. a local function variable
and was then passed down the code path to do_path_resolve without ever
initing it or zeroing the structure, its possible that the name member
has a non-NULL but corrupted address. This leads to a segfault.
Whereas, we know loc->path will always have the full path.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
| |
Having those if {} blocks to check for argument
validity hurts the eye so this patch replaces those checks
with macros. One macro already exists in libglusterfs. The second
macro is introduced by this commit for libglusterfsclient-specific
check for paths.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
| |
to 128KB in main()
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
| |
glusterfs_rmdir code path wasnt implemented completely. Here is an
attempt to complete it.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
| |
Make sure we give an allocated inode in the loc so that the underlying
callbacks are able to fill it with the relevant information about the
directory being created.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
| |
If any of the path's components, except the basename, are missing
from the dentry cache and the corresponding lookup from the server
also fails, return an ENOENT.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
| |
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We must create the file based on the O_CREATE in the flags
instead of depending on the return status of the lookup.
This works because we've already handled O_EXCL earlier and
also handled a missing file(ENOENT)
in case this was actually an open and not create.
Adapted from Raghu's original patch.
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
|