diff -Nru glusterfs-2.0.9/argp-standalone/strcasecmp.c glusterfs-3.0.0/argp-standalone/strcasecmp.c --- glusterfs-2.0.9/argp-standalone/strcasecmp.c 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/argp-standalone/strcasecmp.c 2009-12-08 06:24:06.000000000 +0000 @@ -8,6 +8,7 @@ */ #include +int strcasecmp(const char *, const char *); int strcasecmp(const char *s1, const char *s2) { diff -Nru glusterfs-2.0.9/argp-standalone/vsnprintf.c glusterfs-3.0.0/argp-standalone/vsnprintf.c --- glusterfs-2.0.9/argp-standalone/vsnprintf.c 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/argp-standalone/vsnprintf.c 2009-12-08 06:24:06.000000000 +0000 @@ -551,7 +551,7 @@ return result; } -static LDOUBLE pow10 (int exp) +static LDOUBLE pow10_argp (int exp) { LDOUBLE result = 1; @@ -564,7 +564,7 @@ return result; } -static long round (LDOUBLE value) +static long round_argp (LDOUBLE value) { long intpart; @@ -626,12 +626,12 @@ /* We "cheat" by converting the fractional part to integer by * multiplying by a factor of 10 */ - fracpart = round ((pow10 (max)) * (ufvalue - intpart)); + fracpart = round_argp ((pow10_argp (max)) * (ufvalue - intpart)); - if (fracpart >= pow10 (max)) + if (fracpart >= pow10_argp (max)) { intpart++; - fracpart -= pow10 (max); + fracpart -= pow10_argp (max); } #ifdef DEBUG_SNPRINTF diff -Nru glusterfs-2.0.9/auth/addr/Makefile.in glusterfs-3.0.0/auth/addr/Makefile.in --- glusterfs-2.0.9/auth/addr/Makefile.in 2009-12-11 09:15:39.000000000 +0000 +++ glusterfs-3.0.0/auth/addr/Makefile.in 2009-12-08 06:24:14.000000000 +0000 @@ -67,10 +67,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -84,6 +84,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ diff -Nru glusterfs-2.0.9/auth/addr/src/addr.c glusterfs-3.0.0/auth/addr/src/addr.c --- glusterfs-2.0.9/auth/addr/src/addr.c 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/auth/addr/src/addr.c 2009-12-08 06:24:06.000000000 +0000 @@ -39,6 +39,7 @@ auth_result_t gf_auth (dict_t *input_params, dict_t *config_params) { + int ret = 0; char *name = NULL; char *searchstr = NULL; char peer_addr[UNIX_PATH_MAX]; @@ -55,19 +56,34 @@ return AUTH_DONT_CARE; } - asprintf (&searchstr, "auth.addr.%s.allow", name); + ret = asprintf (&searchstr, "auth.addr.%s.allow", name); + if (-1 == ret) { + gf_log ("auth/addr", GF_LOG_ERROR, + "asprintf failed while setting search string"); + return AUTH_DONT_CARE; + } allow_addr = dict_get (config_params, searchstr); free (searchstr); - asprintf (&searchstr, "auth.addr.%s.reject", name); + ret = asprintf (&searchstr, "auth.addr.%s.reject", name); + if (-1 == ret) { + gf_log ("auth/addr", GF_LOG_ERROR, + "asprintf failed while setting search string"); + return AUTH_DONT_CARE; + } reject_addr = dict_get (config_params, searchstr); free (searchstr); if (!allow_addr) { /* TODO: backword compatibility */ - asprintf (&searchstr, "auth.ip.%s.allow", name); + ret = asprintf (&searchstr, "auth.ip.%s.allow", name); + if (-1 == ret) { + gf_log ("auth/addr", GF_LOG_ERROR, + "asprintf failed while setting search string"); + return AUTH_DONT_CARE; + } allow_addr = dict_get (config_params, searchstr); free (searchstr); } diff -Nru glusterfs-2.0.9/auth/addr/src/Makefile.in glusterfs-3.0.0/auth/addr/src/Makefile.in --- glusterfs-2.0.9/auth/addr/src/Makefile.in 2009-12-11 09:15:39.000000000 +0000 +++ glusterfs-3.0.0/auth/addr/src/Makefile.in 2009-12-08 06:24:14.000000000 +0000 @@ -85,10 +85,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -102,6 +102,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ diff -Nru glusterfs-2.0.9/auth/login/Makefile.in glusterfs-3.0.0/auth/login/Makefile.in --- glusterfs-2.0.9/auth/login/Makefile.in 2009-12-11 09:15:40.000000000 +0000 +++ glusterfs-3.0.0/auth/login/Makefile.in 2009-12-08 06:24:14.000000000 +0000 @@ -67,10 +67,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -84,6 +84,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ diff -Nru glusterfs-2.0.9/auth/login/src/login.c glusterfs-3.0.0/auth/login/src/login.c --- glusterfs-2.0.9/auth/login/src/login.c 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/auth/login/src/login.c 2009-12-08 06:24:06.000000000 +0000 @@ -27,6 +27,7 @@ auth_result_t gf_auth (dict_t *input_params, dict_t *config_params) { + int ret = 0; char *username = NULL, *password = NULL; data_t *allow_user = NULL, *username_data = NULL, *password_data = NULL; int32_t result = AUTH_DONT_CARE; @@ -52,7 +53,13 @@ return AUTH_REJECT; } - asprintf (&searchstr, "auth.login.%s.allow", brick_name); + ret = asprintf (&searchstr, "auth.login.%s.allow", brick_name); + if (-1 == ret) { + gf_log ("auth/login", GF_LOG_ERROR, + "asprintf failed while setting search string"); + return AUTH_DONT_CARE; + } + allow_user = dict_get (config_params, searchstr); free (searchstr); @@ -69,7 +76,12 @@ if (!fnmatch (username_str, username, 0)) { - asprintf (&searchstr, "auth.login.%s.password", username); + ret = asprintf (&searchstr, "auth.login.%s.password", username); + if (-1 == ret) { + gf_log ("auth/login", GF_LOG_ERROR, + "asprintf failed while setting search string"); + return AUTH_DONT_CARE; + } passwd_data = dict_get (config_params, searchstr); FREE (searchstr); diff -Nru glusterfs-2.0.9/auth/login/src/Makefile.in glusterfs-3.0.0/auth/login/src/Makefile.in --- glusterfs-2.0.9/auth/login/src/Makefile.in 2009-12-11 09:15:40.000000000 +0000 +++ glusterfs-3.0.0/auth/login/src/Makefile.in 2009-12-08 06:24:14.000000000 +0000 @@ -85,10 +85,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -102,6 +102,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ diff -Nru glusterfs-2.0.9/auth/Makefile.in glusterfs-3.0.0/auth/Makefile.in --- glusterfs-2.0.9/auth/Makefile.in 2009-12-11 09:15:39.000000000 +0000 +++ glusterfs-3.0.0/auth/Makefile.in 2009-12-08 06:24:13.000000000 +0000 @@ -67,10 +67,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -84,6 +84,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ diff -Nru glusterfs-2.0.9/booster/Makefile.in glusterfs-3.0.0/booster/Makefile.in --- glusterfs-2.0.9/booster/Makefile.in 2009-12-11 09:15:40.000000000 +0000 +++ glusterfs-3.0.0/booster/Makefile.in 2009-12-08 06:24:14.000000000 +0000 @@ -67,10 +67,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -84,6 +84,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ diff -Nru glusterfs-2.0.9/booster/src/booster.c glusterfs-3.0.0/booster/src/booster.c --- glusterfs-2.0.9/booster/src/booster.c 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/booster/src/booster.c 2009-12-08 06:24:06.000000000 +0000 @@ -49,6 +49,8 @@ #define GF_UNIT_KB 1024 #endif +static pthread_mutex_t cwdlock = PTHREAD_MUTEX_INITIALIZER; + /* attr constructor registers this function with libc's * _init function as a function that must be called before * the main() of the program. @@ -102,6 +104,7 @@ static int (*real_open) (const char *pathname, int flags, ...); static int (*real_open64) (const char *pathname, int flags, ...); static int (*real_creat) (const char *pathname, mode_t mode); +static int (*real_creat64) (const char *pathname, mode_t mode); /* read, readv, pread, pread64 */ static ssize_t (*real_read) (int fd, void *buf, size_t count); @@ -139,6 +142,7 @@ static int (*real_fchown) (int fd, uid_t, gid_t gid); static int (*real_fsync) (int fd); static int (*real_ftruncate) (int fd, off_t length); +static int (*real_ftruncate64) (int fd, loff_t length); static int (*real_link) (const char *oldpath, const char *newname); static int (*real_rename) (const char *oldpath, const char *newpath); static int (*real_utimes) (const char *path, const struct timeval times[2]); @@ -188,6 +192,18 @@ static ssize_t (*real_sendfile64) (int out_fd, int in_fd, off_t *offset, size_t count); static int (*real_fcntl) (int fd, int cmd, ...); +static int (*real_chdir) (const char *path); +static int (*real_fchdir) (int fd); +static char * (*real_getcwd) (char *buf, size_t size); +static int (*real_truncate) (const char *path, off_t length); +static int (*real_truncate64) (const char *path, loff_t length); +static int (*real_setxattr) (const char *path, const char *name, + const void *value, size_t size, int flags); +static int (*real_lsetxattr) (const char *path, const char *name, + const void *value, size_t size, int flags); +static int (*real_fsetxattr) (int filedes, const char *name, + const void *value, size_t size, int flags); + #define RESOLVE(sym) do { \ if (!real_##sym) \ @@ -598,6 +614,8 @@ int __REDIRECT (booster_false_creat, (const char *pathname, mode_t mode), creat) __nonnull ((1)); +int __REDIRECT (booster_false_creat64, (const char *pathname, mode_t mode), + creat64) __nonnull ((1)); int booster_false_creat (const char *pathname, mode_t mode) @@ -642,6 +660,49 @@ } +int +booster_false_creat64 (const char *pathname, mode_t mode) +{ + int ret = -1; + if (!pathname) { + errno = EINVAL; + goto out; + } + + gf_log ("booster", GF_LOG_TRACE, "Create: %s", pathname); + ret = vmp_creat (pathname, mode); + + if ((ret == -1) && (errno != ENODEV)) { + gf_log ("booster", GF_LOG_ERROR, "VMP create failed: %s", + strerror (errno)); + goto out; + } + + if (ret > 0) { + gf_log ("booster", GF_LOG_TRACE, "File created"); + goto out; + } + + if (real_creat64 == NULL) { + errno = ENOSYS; + ret = -1; + goto out; + } + + ret = real_creat64 (pathname, mode); + + if (ret != -1) { + do_open (ret, pathname, GF_O_WRONLY | GF_O_TRUNC, mode, + BOOSTER_CREAT); + } else + gf_log ("booster", GF_LOG_ERROR, "real create failed: %s", + strerror (errno)); + +out: + return ret; +} + + /* pread */ ssize_t @@ -753,7 +814,8 @@ int ret; glusterfs_file_t glfs_fd = 0; - gf_log ("booster", GF_LOG_TRACE, "write: fd %d, count %d", fd, count); + gf_log ("booster", GF_LOG_TRACE, "write: fd %d, count %"GF_PRI_SIZET, + fd, count); glfs_fd = booster_fdptr_get (booster_fdtable, fd); @@ -805,8 +867,8 @@ int ret; glusterfs_file_t glfs_fd = 0; - gf_log ("booster", GF_LOG_TRACE, "pwrite: fd %d, count %d, offset %lu", - fd, count, offset); + gf_log ("booster", GF_LOG_TRACE, "pwrite: fd %d, count %"GF_PRI_SIZET + ", offset %lu", fd, count, offset); glfs_fd = booster_fdptr_get (booster_fdtable, fd); if (!glfs_fd) { @@ -832,10 +894,10 @@ int ret; glusterfs_file_t glfs_fd = 0; - gf_log ("booster", GF_LOG_TRACE, "pwrite64: fd %d, count %d, offset %" - PRIu64, fd, count, offset); + gf_log ("booster", GF_LOG_TRACE, "pwrite64: fd %d, count %"GF_PRI_SIZET + ", offset %"PRIu64, fd, count, offset); glfs_fd = booster_fdptr_get (booster_fdtable, fd); - + if (!glfs_fd) { gf_log ("booster", GF_LOG_TRACE, "Not a booster fd"); if (real_pwrite64 == NULL) { @@ -1261,8 +1323,13 @@ return ret; } +int __REDIRECT (booster_false_ftruncate, (int fd, off_t length), + ftruncate); +int __REDIRECT (booster_false_ftruncate64, (int fd, loff_t length), + ftruncate64); + int -ftruncate (int fd, off_t length) +booster_false_ftruncate (int fd, off_t length) { int ret = -1; glusterfs_file_t fh = NULL; @@ -1287,6 +1354,31 @@ } int +booster_false_ftruncate64 (int fd, loff_t length) +{ + int ret = -1; + glusterfs_file_t fh = NULL; + + gf_log ("booster", GF_LOG_TRACE, "ftruncate: fd %d, length: %"PRIu64,fd + , length); + fh = booster_fdptr_get (booster_fdtable, fd); + if (!fh) { + gf_log ("booster", GF_LOG_TRACE, "Not a booster fd"); + if (real_ftruncate == NULL) { + errno = ENOSYS; + ret = -1; + } else + ret = real_ftruncate64 (fd, length); + } else { + gf_log ("booster", GF_LOG_TRACE, "Is a booster fd"); + ret = glusterfs_ftruncate (fh, length); + booster_fdptr_put (fh); + } + + return ret; +} + +int link (const char *old, const char *new) { int ret = -1; @@ -2520,7 +2612,8 @@ ssize_t ret = -1; gf_log ("booster", GF_LOG_TRACE, "sendfile: in fd %d, out fd %d, offset" - " %"PRIu64", count %d", in_fd, out_fd, *offset, count); + " %"PRIu64", count %"GF_PRI_SIZET, in_fd, out_fd, *offset, + count); /* * handle sendfile in booster only if in_fd corresponds to a glusterfs * file handle @@ -2550,7 +2643,8 @@ ssize_t ret = -1; gf_log ("booster", GF_LOG_TRACE, "sendfile64: in fd %d, out fd %d," - " offset %"PRIu64", count %d", in_fd, out_fd, *offset, count); + " offset %"PRIu64", count %"GF_PRI_SIZET, in_fd, out_fd, + *offset, count); /* * handle sendfile in booster only if in_fd corresponds to a glusterfs * file handle @@ -2688,6 +2782,271 @@ return ret; } + +int +chdir (const char *path) +{ + int ret = -1; + char cwd[PATH_MAX]; + char *res = NULL; + + gf_log ("booster", GF_LOG_TRACE, "chdir: path %s", path); + + pthread_mutex_lock (&cwdlock); + { + res = glusterfs_getcwd (cwd, PATH_MAX); + if (res == NULL) { + gf_log ("booster", GF_LOG_ERROR, "getcwd failed: %s", + strerror (errno)); + goto unlock; + } + + ret = glusterfs_chdir (path); + if ((ret == -1) && (errno != ENODEV)) { + gf_log ("booster", GF_LOG_ERROR, "chdir failed: %s", + strerror (errno)); + goto unlock; + } + + if (ret == 0) { + gf_log ("booster", GF_LOG_TRACE, "chdir succeeded"); + goto unlock; + } + + if (real_chdir == NULL) { + errno = ENOSYS; + ret = -1; + goto unlock; + } + + ret = real_chdir (path); + if (ret == -1) { + glusterfs_chdir (cwd); + } + } +unlock: + pthread_mutex_unlock (&cwdlock); + + return ret; +} + + +int +fchdir (int fd) +{ + int ret = -1; + glusterfs_file_t glfs_fd = 0; + char cwd[PATH_MAX]; + char *res = NULL; + + glfs_fd = booster_fdptr_get (booster_fdtable, fd); + + if (!glfs_fd) { + gf_log ("booster", GF_LOG_TRACE, "Not a booster fd"); + if (real_write == NULL) { + errno = ENOSYS; + ret = -1; + } else { + ret = real_fchdir (fd); + if (ret == 0) { + res = real_getcwd (cwd, PATH_MAX); + if (res == NULL) { + gf_log ("booster", GF_LOG_ERROR, + "getcwd failed (%s)", + strerror (errno)); + ret = -1; + } else { + glusterfs_chdir (cwd); + } + } + } + } else { + gf_log ("booster", GF_LOG_TRACE, "Is a booster fd"); + ret = glusterfs_fchdir (glfs_fd); + booster_fdptr_put (glfs_fd); + } + + return ret; +} + + +char * +getcwd (char *buf, size_t size) +{ + char *res = NULL; + + res = glusterfs_getcwd (buf, size); + if ((res == NULL) && (errno == ENODEV)) { + res = real_getcwd (buf, size); + } + + return res; +} + + +int __REDIRECT (booster_false_truncate, (const char *path, off_t length), + truncate) __nonnull ((1)); +int __REDIRECT (booster_false_truncate64, (const char *path, loff_t length), + truncate64) __nonnull ((1));; + +int +booster_false_truncate (const char *path, off_t length) +{ + int ret = -1; + + gf_log ("booster", GF_LOG_TRACE, "truncate: path (%s) length (%"PRIu64 + ")", path, length); + + ret = glusterfs_truncate (path, length); + if ((ret == -1) && (errno != ENODEV)) { + gf_log ("booster", GF_LOG_ERROR, "truncate failed: %s", + strerror (errno)); + goto out; + } + + if (ret == 0) { + gf_log ("booster", GF_LOG_TRACE, "truncate succeeded"); + goto out; + } + + if (real_truncate != NULL) + ret = real_truncate (path, length); + else { + errno = ENOSYS; + ret = -1; + goto out; + } + +out: + return ret; +} + + +int +booster_false_truncate64 (const char *path, loff_t length) +{ + int ret = -1; + + gf_log ("booster", GF_LOG_TRACE, "truncate64: path (%s) length " + "(%"PRIu64")", path, length); + + ret = glusterfs_truncate (path, length); + if ((ret == -1) && (errno != ENODEV)) { + gf_log ("booster", GF_LOG_ERROR, "truncate64 failed: %s", + strerror (errno)); + goto out; + } + + if (ret == 0) { + gf_log ("booster", GF_LOG_TRACE, "truncate64 succeeded"); + goto out; + } + + if (real_truncate64 != NULL) + ret = real_truncate64 (path, length); + else { + errno = ENOSYS; + ret = -1; + goto out; + } + +out: + return ret; +} + + +int +setxattr (const char *path, const char *name, const void *value, size_t size, + int flags) +{ + int ret = -1; + + gf_log ("booster", GF_LOG_TRACE, "setxattr: path: %s", path); + ret = glusterfs_setxattr (path, name, value, size, flags); + if ((ret == -1) && (errno != ENODEV)) { + gf_log ("booster", GF_LOG_ERROR, "setxattr failed: %s", + strerror (errno)); + goto out; + } + + if (ret == 0) { + gf_log ("booster", GF_LOG_TRACE, "setxattr succeeded"); + goto out; + } + + if (real_setxattr != NULL) + ret = real_setxattr (path, name, value, size, flags); + else { + errno = ENOSYS; + ret = -1; + goto out; + } + +out: + return ret; +} + + +int +lsetxattr (const char *path, const char *name, const void *value, size_t size, + int flags) +{ + int ret = -1; + + gf_log ("booster", GF_LOG_TRACE, "lsetxattr: path: %s", path); + ret = glusterfs_lsetxattr (path, name, value, size, flags); + if ((ret == -1) && (errno != ENODEV)) { + gf_log ("booster", GF_LOG_ERROR, "lsetxattr failed: %s", + strerror (errno)); + goto out; + } + + if (ret == 0) { + gf_log ("booster", GF_LOG_TRACE, "lsetxattr succeeded"); + goto out; + } + + if (real_lsetxattr != NULL) + ret = real_lsetxattr (path, name, value, size, flags); + else { + errno = ENOSYS; + ret = -1; + goto out; + } + +out: + return ret; +} + + +int +fsetxattr (int fd, const char *name, const void *value, size_t size, int flags) +{ + int ret = -1; + glusterfs_file_t fh = NULL; + + gf_log ("booster", GF_LOG_TRACE, "fsetxattr: fd %d", fd); + fh = booster_fdptr_get (booster_fdtable, fd); + if (!fh) { + gf_log ("booster", GF_LOG_TRACE, "Not a booster fd"); + if (real_fsetxattr != NULL) + ret = real_fsetxattr (fd, name, value, size, flags); + else { + ret = -1; + errno = ENOSYS; + goto out; + } + } else { + gf_log ("booster", GF_LOG_TRACE, "Is a booster fd"); + ret = glusterfs_fsetxattr (fh, name, value, size, flags); + booster_fdptr_put (fh); + } + +out: + return ret; +} + + void booster_lib_init (void) { @@ -2695,6 +3054,7 @@ RESOLVE (open); RESOLVE (open64); RESOLVE (creat); + RESOLVE (creat64); RESOLVE (read); RESOLVE (readv); @@ -2723,6 +3083,7 @@ RESOLVE (fchown); RESOLVE (fsync); RESOLVE (ftruncate); + RESOLVE (ftruncate64); RESOLVE (link); RESOLVE (rename); RESOLVE (utimes); @@ -2765,6 +3126,14 @@ RESOLVE (readdir_r); RESOLVE (readdir64_r); RESOLVE (fcntl); + RESOLVE (chdir); + RESOLVE (fchdir); + RESOLVE (getcwd); + RESOLVE (truncate); + RESOLVE (truncate64); + RESOLVE (setxattr); + RESOLVE (lsetxattr); + RESOLVE (fsetxattr); /* This must be called after resolving real functions * above so that the socket based IO calls in libglusterfsclient diff -Nru glusterfs-2.0.9/booster/src/booster_fstab.c glusterfs-3.0.0/booster/src/booster_fstab.c --- glusterfs-2.0.9/booster/src/booster_fstab.c 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/booster/src/booster_fstab.c 2009-12-08 06:24:06.000000000 +0000 @@ -375,7 +375,6 @@ time_t timeout = BOOSTER_DEFAULT_ATTR_TIMEO; char *timeostr = NULL; char *endptr = NULL; - char *optval = NULL; if (!ent) return; @@ -421,13 +420,6 @@ ipars.lookup_timeout = timeout; ipars.stat_timeout = timeout; - opt = glusterfs_fstab_hasoption (ent, "relativepaths"); - if (opt) { - optval = get_option_value (opt); - if (strcmp (optval, "on") == 0) - ipars.relativepaths = 1; - } - if ((glusterfs_mount (ent->mnt_dir, &ipars)) == -1) gf_log ("booster-fstab", GF_LOG_ERROR, "VMP mounting failed"); diff -Nru glusterfs-2.0.9/booster/src/Makefile.am glusterfs-3.0.0/booster/src/Makefile.am --- glusterfs-2.0.9/booster/src/Makefile.am 2009-12-11 09:15:31.000000000 +0000 +++ glusterfs-3.0.0/booster/src/Makefile.am 2009-12-08 06:24:06.000000000 +0000 @@ -3,11 +3,11 @@ noinst_HEADERS = booster_fstab.h booster-fd.h libglusterfs_booster_la_SOURCES = booster.c booster_stat.c booster_fstab.c booster-fd.c libglusterfs_booster_la_CFLAGS = -I$(top_srcdir)/libglusterfsclient/src/ -D_GNU_SOURCE -D$(GF_HOST_OS) -fPIC -Wall \ - -pthread $(GF_BOOSTER_CFLAGS) -shared -nostartfiles + -pthread $(GF_BOOSTER_CFLAGS) -shared -nostartfiles libglusterfs_booster_la_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE \ -I$(top_srcdir)/libglusterfsclient/src \ -I$(top_srcdir)/libglusterfs/src -DDATADIR=\"$(localstatedir)\" \ - -DCONFDIR=\"$(sysconfdir)/glusterfs\" + -DCONFDIR=\"$(sysconfdir)/glusterfs\" $(ARGP_STANDALONE_CPPFLAGS) libglusterfs_booster_la_LDFLAGS = -module -avoidversion libglusterfs_booster_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(top_builddir)/libglusterfsclient/src/libglusterfsclient.la diff -Nru glusterfs-2.0.9/booster/src/Makefile.in glusterfs-3.0.0/booster/src/Makefile.in --- glusterfs-2.0.9/booster/src/Makefile.in 2009-12-11 09:15:40.000000000 +0000 +++ glusterfs-3.0.0/booster/src/Makefile.in 2009-12-08 06:24:14.000000000 +0000 @@ -94,10 +94,10 @@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BDB_SUBDIR = @BDB_SUBDIR@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONTRIBDIR = @CONTRIBDIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -111,6 +111,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FUSERMOUNT_SUBDIR = @FUSERMOUNT_SUBDIR@ FUSE_CLIENT_SUBDIR = @FUSE_CLIENT_SUBDIR@ GF_BOOSTER_SUBDIR = @GF_BOOSTER_SUBDIR@ GF_CFLAGS = @GF_CFLAGS@ @@ -220,12 +221,12 @@ noinst_HEADERS = booster_fstab.h booster-fd.h libglusterfs_booster_la_SOURCES = booster.c booster_stat.c booster_fstab.c booster-fd.c libglusterfs_booster_la_CFLAGS = -I$(top_srcdir)/libglusterfsclient/src/ -D_GNU_SOURCE -D$(GF_HOST_OS) -fPIC -Wall \ - -pthread $(GF_BOOSTER_CFLAGS) -shared -nostartfiles + -pthread $(GF_BOOSTER_CFLAGS) -shared -nostartfiles libglusterfs_booster_la_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE \ -I$(top_srcdir)/libglusterfsclient/src \ -I$(top_srcdir)/libglusterfs/src -DDATADIR=\"$(localstatedir)\" \ - -DCONFDIR=\"$(sysconfdir)/glusterfs\" + -DCONFDIR=\"$(sysconfdir)/glusterfs\" $(ARGP_STANDALONE_CPPFLAGS) libglusterfs_booster_la_LDFLAGS = -module -avoidversion libglusterfs_booster_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(top_builddir)/libglusterfsclient/src/libglusterfsclient.la diff -Nru glusterfs-2.0.9/ChangeLog glusterfs-3.0.0/ChangeLog --- glusterfs-2.0.9/ChangeLog 2009-12-11 09:15:32.000000000 +0000 +++ glusterfs-3.0.0/ChangeLog 2009-12-08 06:24:06.000000000 +0000 @@ -1,3843 +1,9715 @@ -commit 7e1ba386dd51aebe3fb05b5d7b3d9ff42e3fb77a -Author: Raghavendra G -Date: Sun Dec 6 04:46:24 2009 +0000 +commit 8379edd97876a85fe1231b7cc8d4cc40f962c5cc +Author: Pavan Sondur +Date: Mon Dec 7 09:43:23 2009 +0000 - performance/stat-prefetch: fix memory leak. - - - rbt_hash_remove only removes entry from the hash table. It does not free - the data. + Disable fusermount by default in the rpm spec file and remove bdb references. - Signed-off-by: Raghavendra G + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 438 (Memory leak) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438 + BUG: 349 (FreeBSD compilation error (alloca.h).) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=349 -commit f57ef39dbd46389dc9763bf291b08a0ba762b707 -Author: Harshavardhana Ranganath -Date: Fri Dec 4 20:48:09 2009 +0000 +commit f0a026b837df2c85d44e1991a802d00201402a47 +Author: Vijay Bellur +Date: Mon Dec 7 02:07:39 2009 +0000 - Fix critical argument validation bug found during initial testing. + Changed occurrences of Z Research to Gluster - Signed-off-by: Harshavardhana + Signed-off-by: Vijay Bellur + +commit 2fa7e528f50236355aa29874bd57d96c429ef33f +Author: Anand Avati +Date: Mon Dec 7 07:33:49 2009 +0000 + + resolver: include RESOLVE_EXACT type for failure case when inode not found + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 437 (Fix critical argument validation check on Fedora11 systems) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=437 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 2449ed76ee63375846e62656e98cb88cdfce51ed -Author: Harshavardhana Ranganath -Date: Fri Dec 4 20:48:02 2009 +0000 +commit a12bfdc8f32212354824a1b8dd7b27840518c4dc +Author: Vikas Gorur +Date: Mon Dec 7 05:44:31 2009 +0000 - glusterfs-volgen honours now build level prefix + cluster/afr: Sync the parent directory's mtime during missing entries self-heal. - Signed-off-by: Harshavardhana + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 437 (Fix critical argument validation check on Fedora11 systems) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=437 + 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 -commit 9f37cca2ced2628f480fbdcf2071ca4b16b3549e -Author: Raghavendra G -Date: Fri Dec 4 20:02:28 2009 +0000 +commit 0ae2b4be39214426a50f5e1fd09562f309819f32 +Author: Vikas Gorur +Date: Mon Dec 7 04:52:47 2009 +0000 - fuse-bridge: fix memory leak during error handling. + cluster/afr: Don't do entry self-heal in the background. - Signed-off-by: Raghavendra G + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 438 (Memory leak) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438 + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit 84f474a00f68c4ac685fca970b1fe814a8c6e032 -Author: Raghavendra G -Date: Fri Dec 4 15:29:51 2009 +0000 +commit 7499335588eabb578c4dab06263cd416a4f3b2d5 +Author: Vikas Gorur +Date: Mon Dec 7 04:40:57 2009 +0000 - performance/stat-prefetch: don't check whether previous lookups have been 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. + cluster/afr: Hold inode lock on 0-infinity for a flush transaction. - Signed-off-by: Raghavendra G + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 428 (looks like stat cache not upto date..) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=428 + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit 42c6d322bbb9ffa24e1f5ed8a909ee1258cfe0df -Author: Raghavendra G -Date: Fri Dec 4 11:33:18 2009 +0000 +commit 4fdfc9fdcce340209d35e62f585c5897ca2a1104 +Author: Csaba Henk +Date: Sun Dec 6 21:18:53 2009 +0000 - performance/stat-prefetch: add "caller" arguement to sp_process_inode_ctx. - - - 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. + fix typo in 76d6f3fbe - Signed-off-by: Raghavendra G + Signed-off-by: Csaba Henk Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 61823259dcbcbd41e62cbb70a996b7f19c0b8de9 -Author: Raghavendra G -Date: Fri Dec 4 11:33:05 2009 +0000 +commit e026edec58aa234ef0c923eb6fed50dc227b7f8a +Author: Harshavardhana Ranganath +Date: Sun Dec 6 21:16:12 2009 +0000 - performance/stat-prefetch: refactor sp_lookup_cbk to use sp_update_inode_ctx. + Save st_dev properly in stbuf.st_dev from the same subvolume. - Signed-off-by: Raghavendra G + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433 -commit 58768ac88263ad73d593a319f50c2089719f76bd -Author: Raghavendra G -Date: Fri Dec 4 11:32:53 2009 +0000 +commit 3b2c86c8ed77b04cda05b7cbd8e73f6d01db1bed +Author: Amar Tumballi +Date: Sun Dec 6 16:38:06 2009 +0000 - performance/stat-prefetch: dont check for inode context in fops like create, mkdir. - - - context will not be set as a fresh inode is passed in each of these calls. - instead create a new context. + removed every reference to BDB from configure.ac - Signed-off-by: Raghavendra G + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit 496ff502e2b00b37051c1319885ff495475196fc -Author: Raghavendra G -Date: Wed Dec 2 12:19:07 2009 +0000 +commit 2bee3fb30bb05e5c6b9af9cbbe0b10deba0db790 +Author: Anand V. Avati +Date: Sun Dec 6 13:51:03 2009 -0800 - performance/stat-prefetch: get inode context from local->loc.inode instead of inode passed as arguement in sp_lookup_cbk. + Revert "performance/write-behind: Changed default value of option disable-till to 0" - - @inode in sp_lookup_cbk may be NULL in case of failure of lookup. + This reverts commit e6c35f74ff4a204cf016ebf201a2630b331f9434. - Signed-off-by: Raghavendra G + This commit is found to trigger spurious self heal by causing flush and writev to get + reordered. Reverting as a workaround. + +commit c50bc71035d87b5df77f6331ced6229af5508a10 +Author: Csaba Henk +Date: Sun Dec 6 14:29:04 2009 +0000 + + fuse-bridge: set lk_owner to -1 for release forged flush. + + Server would interpret 0 as a sign of us getting disconnected. + + Signed-off-by: Csaba Henk Signed-off-by: Anand V. Avati - BUG: 426 (stat on mount point hangs.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=426 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 85b587f07c754bd2399fb227c6ea79509502d38c -Author: Vijay Bellur -Date: Wed Dec 2 06:08:56 2009 +0000 +commit 76d6f3fbe993dddd72540f461090803636fa2dc5 +Author: Csaba Henk +Date: Sun Dec 6 14:27:57 2009 +0000 - Add support in rbthash to make use of user provided mempool. + fuse-bridge: make use of lock owner data in a protocol adherent way. - Signed-off-by: Vijay Bellur + No need for pid fallback, for those cases where we use it, + it's always available. + + It appears conditionally in read/write/truncate (related to mandatory + locking). There just get it for demonstrative purposes. + + Discard it from release, there locking data exists only as a + portability hack, no use of it on Linux. + + Signed-off-by: Csaba Henk Signed-off-by: Anand V. Avati - BUG: 221 (stat prefetch implementation) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 3f8320c34ad07ec93956ac0211fb2ef658893747 -Author: Raghavendra G -Date: Wed Dec 2 01:53:01 2009 +0000 +commit 33f3abffe4f0de929d3732a472ad3df766d575b7 +Author: Anand Avati +Date: Sun Dec 6 13:48:43 2009 +0000 - performance/stat-prefetch: make lookup to wait for the completion of another lookup on same path if one is in progress. + resolver: handle resolutions of paths - - 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. + support a new type of resolution where only the path is sent from the + client over the wire without inode/parent/generation numbers. this can + happen when cluster translators could not look up inodes on a server + and later when the server comes up applications issues operations on + the inode without a lookup (since they could be cd'ed inside). In these + cases the server makes the best attempt to resolve the path and perform + the fop on it - Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit b37c742f579191a96737c519f6de1ff54a3076d7 -Author: Raghavendra G -Date: Wed Dec 2 01:52:15 2009 +0000 +commit f08a2073d58ffff8c5b358fbb05702377a251b87 +Author: Anand V. Avati +Date: Sun Dec 6 11:34:07 2009 -0800 - performance/stat-prefetch: fix errors in handling memory allocation failures in sp_inode_ctx_process. + Revert "protocol/client: return ENOENT if inode context is missing" - - 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. + This reverts commit 4439876a34f2e5d19db0d8b05ce7d7722c1c466f. - Signed-off-by: Raghavendra G + This revert is necessary for path handle resolution to work over the + protocol where client/server talk only with the path, without inode + or parent inode and generation numbers + +commit 9e38b5066d42d47f1011e1d1bc32ed9c41df57ec +Author: Pavan Sondur +Date: Sun Dec 6 13:29:08 2009 +0000 + + features/locks: Implement release xlator callback. + + This patch solves the lock bailout problem seen recently when autoconf tools were run. This is a workaround, + where 'flock' locks are removed in pl_release, if an explicit UNLCK call does not come. The complete fix would + be to allow 'fcntl' and 'flock' locks to operate in different domains. + + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 449 (Handle flock calls in a different domain from fcntl calls) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=449 -commit 570e5b5a378f8c94c9b96f806ce8ae2c0fa11b22 -Author: Raghavendra G -Date: Wed Dec 2 01:05:52 2009 +0000 +commit fe37a56dd42294e26158a29c15a35aeb8cb38be2 +Author: Anand Avati +Date: Sun Dec 6 13:06:18 2009 +0000 - performance/stat-prefetch: fix access to inode table. - - - Access the inode table from one of fd->inode->table, inode->table or - parent->table instead of from root xlators itable. + distribute: more cases of st_dev setting - Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 369 (Samba does not work with booster.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 + BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433 -commit 8de5abce794b1d0e50f7ef77d6fdd63b2c788c42 -Author: Raghavendra G -Date: Wed Dec 2 00:13:04 2009 +0000 +commit 72e82741b52fb749eb912f97848b707d97ec69ff +Author: Anand Avati +Date: Sun Dec 6 12:47:25 2009 +0000 - performance/io-cache: don't use stat got in read_cbk if it is zero-filled. + distribute: return st_dev from the same subvol from where itransform is performed - - 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. + distribute should return st_dev from the same subvolume it itransforms the inode + number. this is to ensure that there will not be false replacements of inodes in + inode management - Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433 -commit 38e228b87af308f54c7b5cfe73cce08a14213afb -Author: Raghavendra G -Date: Tue Dec 1 14:19:55 2009 +0000 +commit 0117cf0d3dfeb49b739e0da84f429b5375fd922a +Author: Anand Avati +Date: Sun Dec 6 12:46:14 2009 +0000 - extras/benchmarking: port glfs-bm.c to master. + fuse-bridge: log cases where newer generation is found in table - Signed-off-by: Raghavendra G + This is usually the case when there is a bug a cluster xlator and returns + generation number from the wrong subvolume + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 422 (port glfs-bm to latest code-base) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=422 + BUG: 433 (Posix conformance test failed on 3.0.0pre2 (Dec 3) release) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=433 -commit e75c2667db1c5a4f35f18406130b87325537edf3 -Author: Raghavendra G -Date: Tue Dec 1 14:18:16 2009 +0000 +commit b5ad85803b85ae83b2a1bcbe18c8b42265dc34dc +Author: Pavan Sondur +Date: Sun Dec 6 10:50:18 2009 +0000 - libglusterfsclient/read: break reads bigger than the iobuffer size into smaller ones. + features/locks: Disable mandatory locks, until we can use lock-owner field without problems in mandatory locking. - Signed-off-by: Raghavendra G + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 21abd303c84f7d36aeee90ecefb2a09091c706b5 -Author: Raghavendra G -Date: Tue Dec 1 14:18:00 2009 +0000 +commit 21b06ce3e46c3125ee5f281b49f6fcc3a09c02e7 +Author: Pavan Sondur +Date: Sun Dec 6 10:34:39 2009 +0000 - libglusterfsclient/readv: break reads bigger than the iobuffer size into smaller ones. + features/locks: Correct the order of arguments and print a log message in pl_flush. - Signed-off-by: Raghavendra G + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit 6b2ad4a77fe8022b66cde091c3ebfb828dcf93da -Author: Raghavendra G -Date: Tue Dec 1 18:05:15 2009 +0000 +commit fdc187d11ead26710add3cd45dd5f306dad59900 +Author: Anand Avati +Date: Sun Dec 6 07:42:30 2009 +0000 - stat-prefetch: fix unsafe reference to @local in sp_lookup_cbk. + protocol/server: more fixes in server_link_cbk - Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 448 (server_link_cbk refers to @inode when op_ret is -1) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=448 -commit a60647a995357c8e573d05e15e17c68c6e3e38bb -Author: Harshavardhana Ranganath -Date: Mon Nov 30 01:18:38 2009 +0000 +commit a53cd95827df0a9c560fdf5e07b0c23d03707b04 +Author: Anand Avati +Date: Sun Dec 6 05:31:44 2009 +0000 - Booster configuration fixed for per transport type and honours conf-dir option. + THIS: set THIS pointers before forget/release/releasedir callbacks - Signed-off-by: Harshavardhana + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - - BUG: 421 (Make booster configuration honour conf-dir and transport type) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=421 -commit 5cc6fb5759d359eb8d2011e5ec065bdffc1f8cc2 -Author: Harshavardhana Ranganath -Date: Thu Nov 26 15:49:31 2009 +0000 +commit ea93dd6397b79842c1d8e5189ff217201c002a8d +Author: Anand Avati +Date: Sun Dec 6 04:45:17 2009 +0000 - Excluding static libraries + afr: fix fd ref leak in self-heal - Signed-off-by: Harshavardhana + sh->healing_fd should be ref'ed only when healing_fd_opened is not set + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 413 (rpmbuild fails with unpackaged files) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=413 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 453f382606440cf1e80a38b178b90e6c6004cd39 -Author: Harshavardhana Ranganath -Date: Thu Nov 26 15:42:03 2009 +0000 +commit 7a3c372c7a8a3ad7d481f94a899fd4333d146634 +Author: Anand Avati +Date: Sun Dec 6 04:44:59 2009 +0000 - Removed deprecated export_dir typo in volgen. + libglusterfsclient: fix libgf_client_read to handle short reads - Signed-off-by: Harshavardhana + Fixes two issues in the current code + -short reads (reading larger than file size) result in failure of full read + -reads which span multiple iterations return with the op_ret of only + the last read + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 412 (Remove deprecated export_dir in print string) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=412 + BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334 -commit 09be9b2593f5b4f1fcfdb2429ab65e4522bc620c +commit 4235868f0ded7aeb157aef05f10d2df4a470a2c5 Author: Raghavendra G -Date: Sat Nov 28 11:01:20 2009 +0000 +Date: Sun Dec 6 04:42:01 2009 +0000 - performance/quick-read: add options to doc/translator-options.txt. + performance/stat-prefetch: remove the usage of THIS. Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 238 (Backport quick-read to 2.0 release) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=238 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit 2d6dc07c934ee3b65f320d54714939fd98e84008 +commit bf23224e5dc2af09efd0888490f7af191052c874 Author: Raghavendra G -Date: Sat Nov 28 10:53:40 2009 +0000 +Date: Sun Dec 6 04:39:13 2009 +0000 - performance/quick-read: change the maximum value of max-file-size to 1000KB from 1MB. + performance/stat-prefetch: fix memory leak. - - 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. + - rbt_hash_remove only removes entry from the hash table. It does not free + the data. Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 419 (Issues with writing files of size >= 1MB) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=419 + BUG: 438 (Memory leak) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438 + +commit 4d8c682181822834f46adaa6afea029556a0bb59 +Author: Anand Avati +Date: Sun Dec 6 04:41:02 2009 +0000 + + protocol/server: fix bad reference to @inode in server_link_cbk + + when op_ret is -1, gf_log refers to @inode which can be NULL. fix + this to refer to state->loc2.inode instead + + Signed-off-by: Anand V. Avati + Signed-off-by: Anand V. Avati + + BUG: 448 (server_link_cbk refers to @inode when op_ret is -1) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=448 -commit ad5e0dc127a85027d5d2f8a26e746f4fdcf5e9f4 +commit 9cedbb537f648a38606d14c425caa952dd5d0049 Author: Harshavardhana Ranganath -Date: Thu Nov 26 12:10:05 2009 +0000 +Date: Fri Dec 4 20:43:01 2009 +0000 - Volgen rewritten using option parser and added proper support for booster. + Fix critical argument validation bug found during initial testing. Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - BUG: 411 (Rewrite volgen using option parser and extend cifs/nfs support) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=411 + BUG: 437 (Fix critical argument validation check on Fedora11 systems) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=437 -commit 378b34f62f52d8cf1e4ee3bd5e034363c77c6acc +commit a2d7ca2ee22de61bf43525e4a8a2928ce6dd8851 Author: Harshavardhana Ranganath -Date: Wed Nov 25 14:33:55 2009 +0000 +Date: Fri Dec 4 20:42:55 2009 +0000 - Volgen supporting multidisks and booster configuration for nfs and cifs + glusterfs-volgen honours now build level prefix. Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - BUG: 396 (Volgen multiple export directory support) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=396 + BUG: 437 (Fix critical argument validation check on Fedora11 systems) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=437 -commit c05707b41a325ec6a0cd4f24a6068a1efdf18d6a +commit b5da78348291435b2f711018c529c83dc824cff8 Author: Raghavendra G -Date: Wed Nov 25 13:53:23 2009 +0000 +Date: Sat Dec 5 16:35:14 2009 +0000 - performance/stat-prefetch: Add refcounting to cache objects + libglusterfsclient/chdir: assign op_ret the return value of libgf_client_chdir. Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 405 (Segmentation fault in stat-prefetch.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405 + BUG: 446 (apache does not start in daemon mode on fedora core 11.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=446 -commit d01ba463de631fb38f96b2aa02907f0ac40db4eb -Author: Raghavendra G -Date: Wed Nov 25 13:53:11 2009 +0000 +commit 05140d5f3c84cde0f0a568a6deb000bb906174b2 +Author: Amar Tumballi +Date: Sat Dec 5 22:04:32 2009 +0000 - performance/stat-prefetch: remove lock member in sp_fd_ctx_t. + corrected the stripe's stat structure return logic. - - since the lifetime of fd context can be no longer than the fd, we can use - lock in fd. - - Signed-off-by: Raghavendra G + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 405 (Segmentation fault in stat-prefetch.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405 + BUG: 340 (Kernel Compilation fail in stripe) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=340 -commit 71eae4bd2f5384bd79c4e0bb6ac679841a8dc042 +commit 759d2ec189ce632022494baa478cc0d5256697e0 Author: Raghavendra G -Date: Wed Nov 25 13:52:56 2009 +0000 +Date: Fri Dec 4 15:16:05 2009 +0000 - performance/stat-prefetch: don't free the cache in readdir if the offset is 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. + performance/stat-prefetch: don't check whether previous lookups have been failed in sp_process_inode_ctx. - - 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. + 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 for 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 Signed-off-by: Anand V. Avati - BUG: 405 (Segmentation fault in stat-prefetch.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405 + BUG: 428 (looks like stat cache not upto date..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=428 -commit fc9a8a76001b5d304d4589eb28ee903972dffcbb -Author: Vikas Gorur -Date: Fri Nov 20 07:51:36 2009 +0000 +commit d281971e5061d4a339b31340798d6f1dbff348be +Author: Anand Avati +Date: Sat Dec 5 06:03:04 2009 +0000 - storage/posix: Fix condition typo. + fuse: fix leak in fuse_getxattr and fuse_getattr - Do comparison instead of assignment in if-condition - in posix_link. + In fuse_getxattr, @finh was leaked in the case of posix ACL getxattr + request - Signed-off-by: Vikas Gorur + In fuse_getattr, @state was leaked when fuse_loc_fill() failed + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 254 (storage/posix has to do inode number transformation wherever it unwinds with a stat structure) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=254 + BUG: 438 (Memory leak) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=438 -commit 5a131d66a26baa247ed9fc9acc7f4dc1ea6c1027 -Author: Paul Rawson -Date: Tue Nov 17 00:13:24 2009 +0000 +commit 73ef824cbb8a468b70b57e503c98c226aed813a7 +Author: Vikas Gorur +Date: Sat Dec 5 03:06:40 2009 +0000 - Fix Redhat init file so that it knows the correct binary location + cluster/afr: Fix inode_ref's for local->cont.lookup.inode - Signed-off-by: Paul Rawson + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 388 (Redhat initfile fix) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=388 + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 957bcfd1242c15925272cb5e3bb0650bb29f7c89 -Author: Raghavendra G -Date: Wed Nov 18 15:06:50 2009 +0000 +commit 3e86687e74bdf4847f3e35063dfb46e9871d6959 +Author: Amar Tumballi +Date: Fri Dec 4 21:27:15 2009 +0000 - transport/ib-verbs: fix race-condition resulting in freeing of transport while it was still being used. + fix crash in server protocol server-connection-destroy - - while handling a failed work completion status, the transport is - disconnected. But further down in the code, the transport is still - used. There can be a possibility that transport might've been freed - by the time control reaches this point. More detailed description of - events leading to this situation can be found at - http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=381 + a variable allocated inside a condition was getting reffered outside + the block. If the condition fails, there used to be a crash. - Signed-off-by: Raghavendra G + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 381 (glusterfs crash in ib-verbs) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=381 + BUG: 439 (crash in server protocol, while destroying connection) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=439 -commit 877522adb8a30de0023464cba0e597104e93cccc -Author: Raghavendra G -Date: Fri Nov 13 16:04:47 2009 +0000 +commit 89bbaa124af8c54bb7ca8b85ad5d40f0bb754e49 +Author: Anand Avati +Date: Fri Dec 4 09:28:23 2009 +0000 - transport/ib-verbs: synchronize ib_verbs_recv_completion_proc with ib_verbs_receive so that the former doesn't overwrite the pointer from which latter reads. + posix_rchecksum() - fix leak of read buffer - - There can be a condition wherein, - 1. the thread executing ib_verbs_recv_completion_proc (thr 1) stores the - buffer pointer and notifies the upper translators about a POLLIN event. - 2. the thread waiting for events on socket (thr 2) calls transport_receive, - but in ib_verbs_receive it has not still read the data. - 3. thr 1 receives work completion event for another work request and - overwrites the buffer pointer. - 4. thr 2 reads from the new pointer there by missing the data stored in - buffer pointed by pointer which got overwritten. + Signed-off-by: Anand V. Avati + Signed-off-by: Anand V. Avati - Signed-off-by: Raghavendra G + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 + +commit 4439876a34f2e5d19db0d8b05ce7d7722c1c466f +Author: Anand Avati +Date: Fri Dec 4 08:12:43 2009 +0000 + + protocol/client: return ENOENT if inode context is missing + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 382 (Data can be lost before it is read in ib_verbs_receive.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=382 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit f88cd26064d7aa306720d4e4d48af9086d97fb13 -Author: Amar Tumballi -Date: Sun Nov 15 21:27:19 2009 +0000 +commit cba270e7dfe271dfa43cd7127089b91dfedf838f +Author: Vikas Gorur +Date: Fri Dec 4 06:04:37 2009 +0000 - segfault fix in posix + mount/fuse: Refactored fuse_setattr. - fd_ctx_get() was getting passed with wrong argument (type punned), and - hence was getting segfaulted on 32bit systems. + If both truncate & setattr need to be sent from fuse_setattr, + they are now sent one after the other (setattr first, and then truncate) + instead of being sent parallelly. The earlier code that sent them parallelly + had a couple of problems: - Signed-off-by: Amar Tumballi + 1) A bug in the logic that would sometimes cause the setattr call + to never return, making the application hang. + + 2) A possibility that truncate and setattr would race at the server/io-threads/posix + end, thus returning the wrong stat structure to the application. + + This patch also removes an unneccessary "can_fuse_return" call in + fuse_attr_cbk, which would cause a call to hang if STAT or FSTAT failed. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 383 (glusterfs server crash on 2.0.8) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=383 + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 05ad7717083057de819ad545591bffeb8af2f741 +Author: Anand Avati +Date: Fri Dec 4 04:52:33 2009 +0000 + + afr: fix memory leaks + + Signed-off-by: Anand V. Avati + Signed-off-by: Anand V. Avati + + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 0b8b78145b31c12fa4e44e75453531c8a278bc48 +commit 349f9b77178aac3d2823bb35b0dc6c40b7a3b876 Author: Raghavendra G -Date: Wed Nov 18 00:47:05 2009 +0000 +Date: Thu Dec 3 21:47:23 2009 +0000 - performance/stat-prefetch: don't cache dentries corresponding to directory. + performance/stat-prefetch: add "caller" arguement to sp_process_inode_ctx. - - 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. + - 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 Signed-off-by: Anand V. Avati - BUG: 371 (rm -rf fails on stat-prefetch.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit 1f17e87d6ed3a5cbe3f000c923a6280f5713fc0d +commit 45494f35deb30b6e0410351bdea7cf10f8f83c04 Author: Raghavendra G -Date: Wed Nov 18 00:46:51 2009 +0000 +Date: Thu Dec 3 21:47:11 2009 +0000 - performance/stat-prefetch: don't use pre-allocated dirent structure in sp_get_cache_entry. + performance/stat-prefetch: implement sp_check_and_create_inode_ctx. - - 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 + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 4db7a358a294e11568ef818e64d5b3f37176609b +Author: Raghavendra G +Date: Thu Dec 3 21:46:52 2009 +0000 + + performance/stat-prefetch: refactor sp_lookup_cbk to use sp_update_inode_ctx. Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 371 (rm -rf fails on stat-prefetch.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit 489bba93525f85725e85bdeb94e02ebd7be69772 +commit 58535b168ca9d65a5c5018f89882d7c18d8f15fe Author: Raghavendra G -Date: Wed Nov 18 00:46:39 2009 +0000 +Date: Thu Dec 3 21:46:40 2009 +0000 - cluster/distribute: copy the stat structure while copying dentries in readdir_cbk. + performance/stat-prefetch: dont check for inode context in fops like create, mkdir. - - only the transformed inode number was being copied, leaving other fields of - stat 0. + - 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 Signed-off-by: Anand V. Avati - BUG: 371 (rm -rf fails on stat-prefetch.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit e1230265306aa39ddeac4c1323087169358c5c6d -Author: Anand V. Avati -Date: Mon Nov 16 09:25:36 2009 -0800 +commit 290a38912ce9f942f4ebdd24fcb0033214ecc537 +Author: Anand Avati +Date: Fri Dec 4 03:50:47 2009 +0000 - Revert "libglusterfs/src/gf-dirent.c: In gf_dirent_nb structure d_name should be char array of size 1." + protcol/server: server_connection_destroy - destroy frame after issuing flush + + frame was getting destroyed after unlocking, but before issuing flush. This + could result in corruption if an fd was opened between server_connection_cleanup + and server_connection_destroy because of pending open calls in io-threads at the + time of POLLERR disconnection + + Signed-off-by: Anand V. Avati + Signed-off-by: Anand V. Avati - This reverts commit 1a53a5a4bf069e28ed6cbf6bba2b3ed14d20eb86. + BUG: 430 (Server crash when client is killed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=430 -commit b1573bcff0c63743cf6a2273b95508efa5714cc5 +commit e7b86dedcdde48e37a2d50370998d7285624bdb8 Author: Pavan Sondur -Date: Thu Nov 12 02:22:00 2009 +0000 +Date: Wed Dec 2 18:18:35 2009 +0000 - mount/fuse: Prevent a hang on the mount point if no server is up when the client is started. + features/locks: Process State Dump support for locks. Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 373 (Spawn fuse thread after a parent_up and wait and block until child_up) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=373 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit c65e5463f22bb2ef8120ac89db19f3d6c11fe62f -Author: Raghavendra G -Date: Mon Nov 9 18:42:54 2009 +0000 +commit aa53bb583d2d01867a2db1d217001fc897e2b835 +Author: Amar Tumballi +Date: Thu Dec 3 16:10:17 2009 +0000 - performance/stat-prefetch: allocate and init local only if cache-miss happens in lookup. + fixing some warnings on 64bit machine. - Signed-off-by: Raghavendra G + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 408 (warning while building on 64bit machine..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=408 -commit 19cc1fa99cb0f02fd81b430eb7cce0a55b08d6e5 -Author: Raghavendra G -Date: Wed Nov 11 14:27:21 2009 +0000 +commit cec1f78d42f49f35448d81c944afb9afae19c959 +Author: Pavan Sondur +Date: Thu Dec 3 16:10:16 2009 +0000 - performance/quick-read: set return value to zero after successful init. + features/locks: Fix inodelk leak when issued an UNLOCK. - Signed-off-by: Raghavendra G + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - 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 + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 -commit 1a53a5a4bf069e28ed6cbf6bba2b3ed14d20eb86 -Author: vinayak hegde -Date: Thu Nov 5 06:31:51 2009 +0000 +commit f4983bb29be027e40fcd379d0a018b87cf82fc85 +Author: Pavan Sondur +Date: Thu Dec 3 16:09:22 2009 +0000 - libglusterfs/src/gf-dirent.c: In gf_dirent_nb structure d_name should be char array of size 1. + storage/posix: Fix Leak in posix_getxattr while filtering gen-number xattr. - Signed-off-by: Vinayak Hegde + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit de6be8f7f5eed270aa6fa904b1da15c9bc0b6e3b -Author: vinayak hegde -Date: Thu Nov 5 06:29:58 2009 +0000 +commit 54046015d3c732b48304c9a5ecf7a7f8ff94c90e +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:12 2009 +0000 - performance/stat-prefetch: In sp_readdir_cbk op_ret is not handled correctly. + mount/fuse: Print correct log message if encountered with errno - EAGAIN. - Signed-off-by: Vinayak Hegde + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - 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 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit fcd9175ee73b9fe4fddf4348a3f9dbc395e14a01 -Author: vinayak hegde -Date: Wed Nov 4 23:48:06 2009 +0000 +commit 26257254fb42c132ff2e0565655fdc382184d8af +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:11 2009 +0000 - performance/stat-prefetch: In lookup_cbk do not set error no to EINVAL, when inode_ctx_get returns -1. + features/locks: Release all locks of an fd when a client disconnects. - Signed-off-by: Vinayak Hegde + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - 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 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 3624eb02435d6c0b6035aa4a00baf53fd2604253 -Author: Shehjar Tikoo -Date: Wed Nov 4 00:16:45 2009 +0000 +commit 120b446967ef33701a31d0da23324177922a3d73 +Author: Pavan Sondur +Date: Thu Dec 3 14:51:10 2009 +0000 - libglusterfsclient: Dont alloc root inode context + features/locks: Changes in log messages reflecting lk-owner. - ....because the lookup on root inode done a few lines before this - call already allocates an inode context. This one just over-writes - that context, results in invalidation of the cached iattrs. - - Signed-off-by: Shehjar Tikoo + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 354 (Stale file handle on unfs3 booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=354 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit fb50e361504a1daf39944e685dbd7f357f5f74f0 -Author: Shehjar Tikoo -Date: Wed Nov 4 00:16:44 2009 +0000 +commit 83487d024bcfe671ef83752c8c3a8b56b8dcee2b +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:09 2009 +0000 - libglusterfsclient: Prevent root inode number clobbering + protocol/server: Changes in protocol client to include lk_owner in protocol header. - Signed-off-by: Shehjar Tikoo + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 354 (Stale file handle on unfs3 booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=354 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 027f3de77d56e0eeeaf42d629b7cff73af0d6920 -Author: Pavan Sondur -Date: Tue Nov 3 05:52:53 2009 +0000 +commit 687311adfd08f55de5f70cc89d69c5da0f37a80f +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:08 2009 +0000 - Include glusterfs-volgen in the rpm build. + features/locks: Use owner field in inodelks. Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 343 (GlusterFS volume generator - 'volgen') - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 190cbd78add970655dbfe93182961745d16240e4 -Author: Corentin Chary -Date: Tue Oct 27 12:59:54 2009 +0000 +commit 31b18f256fa3972a0cebc51cc15127440321c4c4 +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:07 2009 +0000 - transport/name.c: refine the address resolution logic when listen-host is not specified. - - - when listen-host is not specified and there are are no interfaces having - adresses belonging to the address-family specified, listen at 0.0.0.0/::0. + features/locks: Use owner field for entrylks. - - this patch is necessary since with AI_ADDRCONFIG, getaddrinfo fails if there - are no active interfaces for the address family specified and when - listen-host is specified we still want the functionality provided with - usage of AI_ADDRCONFIG. - Signed-off-by: Corentin Chary + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 339 (glusterfsd fails to start when there are no active interfaces having address in the address family configured.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=339 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 05ba65c143ff35cf9a2bbd022711877efb8c67d4 -Author: Anand V. Avati -Date: Tue Nov 3 04:41:09 2009 -0800 +commit e0c09ea80904a26ac932eec546d7675fc0d2cd08 +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:06 2009 +0000 - use @initdir@ for installing init scripts + features/locks: Use lock_owner from fuse in posix locks. + + Signed-off-by: Pavan Vilas Sondur + Signed-off-by: Anand V. Avati + + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 28d10d5dfdca4015827679dcc9a18d0e75624287 -Author: Anand Avati -Date: Mon Nov 2 00:21:51 2009 +0000 +commit 1c8aa56a1bcff7640b65102782641ab0d53861d2 +Author: Pavan Vilas Sondur +Date: Thu Dec 3 14:51:05 2009 +0000 - call-stub: fix leak of fxattrop dictionary + mount/fuse: Use fuse lock_owner field in posix locks. - Signed-off-by: Anand V. Avati + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 315 (generation number support) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + BUG: 336 (Use lock owner field from fuse in locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336 -commit 4ff046a1e1747cf93c650bd9c630547cdeaa3793 +commit 4645dc9a0be85d64f0a19c4cc9cf8cdc24e24865 Author: Vijay Bellur -Date: Fri Oct 30 12:32:07 2009 +0000 +Date: Thu Dec 3 08:11:36 2009 +0000 - features/locks: Do not try to set values in dictionary when lookup has failed + mount/fuse: Handle the case when attribute_timeout is set to 0 in dictionary. - lock-count was being set without checking for op_ret from lookup. This would - cause a lot of Critical messages in the log as dict would be NULL in case - of a lookup failure. + Signed-off-by: Vijay Bellur + Signed-off-by: Anand V. Avati - Also, did some minor re-factoring. + BUG: 252 (client coherence problem with locks and truncate) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=252 + +commit 6922f156d65e7426b90f6ae5ebf0fc87f162554c +Author: Vijay Bellur +Date: Thu Dec 3 08:10:57 2009 +0000 + + glusterfsd: Handle argument attribute-timeout when set to 0 Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 306 (Enhance locks to aid debugging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 + BUG: 252 (client coherence problem with locks and truncate) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=252 -commit e4548d105538182ee3e2be72d9ceb11df18610fd +commit 3208d63c0ffd1735bc95c6986b2a3ddd96ba71d6 Author: Vikas Gorur -Date: Fri Oct 30 05:58:01 2009 +0000 +Date: Thu Dec 3 05:37:05 2009 +0000 - cluster/afr: Don't try to self-heal if there are locks held + core: Change replicate trash directory name to ".landfill". - If the inodelk_count or entrylk_count is positive on a - file/directory, don't try to do self-heal on it. + The earlier name ".trash" conflicts with the name used by + the trash translator. Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 326 ([2.0.8rc9] Spurious self-heal) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 + BUG: 227 (replicate selfheal does not remove directory with contents in it) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227 -commit f01aa2aa7487cdb3198fb7749d2fbf25d41ad1e6 +commit 5821d2cf591789760e790d4af0575d1b9754c08d Author: Shehjar Tikoo -Date: Fri Oct 30 03:40:11 2009 +0000 +Date: Thu Dec 3 05:15:09 2009 +0000 - booster: Must check errno for error number not return value + core, client, server: Support auxiliary group ids + + Support for auxiliary group ids is needed for transmission + of more than one group id right through the xlator tree + so that posix can use these group ids to perform + in-house permission tests. The in-house permission checks are + needed so that we do not have to depend on non-POSIX calls + like setfs[ug]id for changing the user for each fop. + + The setfs[ug]id are also limited since they do not allow setting + multiple group id as required for operation with NFS, which sends + us all the group ids for a process issuing file system requests. Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati - BUG: 346 (booster returns success on failed getxattr and lgetxattr) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=346 + BUG: 400 (Support auxiliary gids in GlusterFS) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=400 -commit c618b7bc59ad46e8b9d1eed0383184336382aec7 -Author: Shehjar Tikoo -Date: Fri Oct 30 03:40:09 2009 +0000 +commit 930f709881d85774baab1df57c2c03de93110bf7 +Author: Vikas Gorur +Date: Thu Dec 3 03:57:15 2009 +0000 - booster, libglusterfsclient: Support samba specific relative paths + cluster/afr: Don't mark the fop as failed if rmdir returns ENOTEMPTY. - Signed-off-by: Shehjar Tikoo + Marking the fop as failed in the ENOTEMPTY case led to spurious + entry self-heals. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 158 (libglusterfsclient: Applications are restricted to using absolute paths) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=158 + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit 7e77e4c026f48137b2320ad07e9834a7b0cddc45 +commit 2615d1a9558868b0b247375fc7560ea399390516 Author: Shehjar Tikoo -Date: Fri Oct 30 03:40:10 2009 +0000 +Date: Thu Dec 3 03:43:12 2009 +0000 - core: Check for NULL to avoid segfault + libglusterfsclient: Separate order of path compaction and VMP search for abs and rel paths - A segfault as a result of this was observed during tests. + The previous set of changes for relative paths in libglusterfsclient + break the absolute path operation. The fix involves differentiating + between absolute and relative paths in terms of the order + in which the 2 operations are performed: + + - path compaction + - VMP search + + For absolute paths, since we assume that VMP is already perfixed to the + path, we need the following order of operation: + + 1. VMP search + 2. path compaction on the path components beyond the VMP. + + For relative paths, the operations are reversed because there + we do not have a VMP pre-fixed in order to perform a VMP search. + This means that a path compaction combined with prepending of the + CWD is needed to get an absolute path before the VMP is searched for. Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati - BUG: 348 (touch on booster segfaults) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=348 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit d45e6b9a17a2a40a06d6cffbac97e6568223f143 -Author: Pavan Sondur -Date: Thu Oct 29 09:31:42 2009 +0000 +commit 0f73d6c94ce00eae317463fe32de40bb4225c820 +Author: Raghavendra G +Date: Thu Dec 3 03:16:34 2009 +0000 - Implement lookup in posix locks to return lock counts in a dict value. + performance/stat-prefetch: don't access stat if lookup has been failed. - Signed-off-by: Pavan Vilas Sondur + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 306 (Enhance locks to aid debugging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 + BUG: 429 (crash in lookup_cbk when lookup returns with error) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=429 -commit b9e3c902bf6eed825ebd6323a5905d64a3153269 -Author: Vikas Gorur -Date: Thu Oct 29 07:44:24 2009 +0000 +commit d666c882cf6896fb700a15bd72e53c675356f8fc +Author: Erick Tryzelaar +Date: Wed Dec 2 17:32:05 2009 +0000 - storage/posix: Serialize do_xattrop. + Hopefully fix rpm building for everyone by rm-ing *.a and *.la - 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. + My Fedora 11 machine doesn't seem to make the .a files, so it errors out, + but it appears someone else's machine does, so try to fix it by explicitly + removing the .a and .la files, rather than excluding them from the %files + section. - Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - - BUG: 326 ([2.0.8rc9] Spurious self-heal) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit f1f80d5f037800fd8c653c6985fe0874c1d7bca6 -Author: Vikas Gorur -Date: Thu Oct 29 07:43:57 2009 +0000 +commit 0cac194a149871999072e8573d7eccc4b4723e0c +Author: Pavan Sondur +Date: Wed Dec 2 18:19:53 2009 +0000 - storage/posix: Refactor xattrop - - Move common code into do_xattrop. + Disable fusermount by default in configure.ac. - Signed-off-by: Vikas Gorur + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 326 ([2.0.8rc9] Spurious self-heal) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 + BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit d3a1b1e45d83d66eeb4fbd630dfe716b263b437c -Author: Harshavardhana Ranganath -Date: Thu Oct 29 00:50:03 2009 +0000 +commit 29890d798167338c0aaa3a1bab26fe416ddadf19 +Author: Amar Tumballi +Date: Wed Dec 2 14:28:59 2009 +0000 - change open flag to O_RDWR as ftruncate fails for a read only fd + posix-compliance test now passes over stripe + * needed to have ctime in the statbuffer from first subvolume. + * unlink should be sent to all subvolumes no matter what. + (earlier it was sent to all nodes only in case of regular files, + causing directory not empty type of errors in 'rm -rf' cases) + + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 - -commit 70cc55ba0a28192c4e0d5d669e119f5dee9a01f0 -Author: Anand V. Avati -Date: Wed Oct 28 07:15:55 2009 -0700 - - Add -s (signoff) to format-patch.sh + BUG: 321 (over distributed-stripe set-up, annihilate.sh fails.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=321 -commit 5ba4fcb1dab921b50a9f743edfa2da6256ddec75 -Author: Harshavardhana Ranganath -Date: Mon Oct 26 19:54:14 2009 +0000 +commit a3d5eb9b2a08190528b1e024bdfbff41c0a6b88f +Author: Vikas Gorur +Date: Wed Dec 2 14:17:18 2009 +0000 - Don't stop an already running glusterfsd upon upgrade or install. + storage/posix: Change janitor sleep duration to 10 minutes. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 338 (rpm post uninstall kills glusterfsd process) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=338 + BUG: 227 (replicate selfheal does not remove directory with contents in it) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227 -commit 544333a14af7a0ff9595072b86716474d6e48632 -Author: Raghavendra G -Date: Fri Oct 23 13:03:04 2009 +0000 +commit be762405e773ac25054cd08ba7f5760389db3bdd +Author: Vikas Gorur +Date: Wed Dec 2 14:02:44 2009 +0000 - booster: seperate out the implementations of readdir and readdir64. + cluster/afr: Don't do transactional flush if pre-op has been nowhere done. - - 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 *). + If a pre-op has not been done on any subvolume at all, there + is no reason to make flush a transaction call. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - 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 + BUG: 427 (flush on a file opened read-only should not hold locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=427 -commit ef9a28bb2dd57f06c8c4ff75615aba894f2d0bf7 +commit 9cc2207e2ffc23e88c23a95bb0783156a85b57c4 Author: Vikas Gorur -Date: Fri Oct 23 06:45:23 2009 +0000 +Date: Wed Dec 2 13:29:34 2009 +0000 - cluster/afr: Prevent spurious entry self-heal. + storage/posix: Filter out generation number xattr. - 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. + Don't return the generation number xattr "trusted..gen" + in getxattr, since this can cause replicate self-heal to copy + it over to another subvolume. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 326 ([2.0.8rc9] Spurious self-heal) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 4c31c11509fa490d1746ed614042b04abccc0415 -Author: vinayak hegde -Date: Tue Oct 20 23:58:44 2009 +0000 +commit e6c35f74ff4a204cf016ebf201a2630b331f9434 +Author: Vijay Bellur +Date: Wed Dec 2 12:17:32 2009 +0000 - glusterfsd.c: Unnecessary writing of strerror of errorno on pipe + performance/write-behind: Changed default value of option disable-till to 0 + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 + BUG: 425 (Change disable-till default to 0) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=425 -commit 121a781c1dd2d46f01bc6e9e30e1efc6b676a07a -Author: Vikas Gorur -Date: Tue Oct 20 01:36:35 2009 +0000 +commit 494db717941e90ae209d416e00bf2c63490ba75e +Author: Pavan Sondur +Date: Wed Dec 2 08:34:25 2009 +0000 - cluster/afr: Attempt to set fd ctx in create only if the call has succeeded. + features/locks: Release blocked locks also when server requests to release all locks of a 'transport'. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 325 (crash in afr_fd_ctx_set) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=325 + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 -commit fbaea55d731ea9891c1c6ae08dea6b7765e7ad11 -Author: Anand Avati -Date: Sat Oct 17 00:58:01 2009 +0000 +commit 7d740b2c01224019525fda01235f56c3a4416747 +Author: Vikas Gorur +Date: Wed Dec 2 12:20:10 2009 +0000 - locks: trace support for inodelk + cluster/afr: Add log messages when setattr fails in self-heal. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 306 (Enhance locks to aid debugging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 -commit 0fa1305ed3e3943b22d9a3340a4464daf7742ab3 -Author: Anand Avati -Date: Fri Oct 16 23:56:55 2009 +0000 +commit 14c5492a2c03728f18a20125b785f43f441dbfd5 +Author: Raghavendra G +Date: Wed Dec 2 12:29:56 2009 +0000 - locks: trace support for entrylk + performance/stat-prefetch: get inode context from local->loc.inode instead 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 Signed-off-by: Anand V. Avati - BUG: 306 (Enhance locks to aid debugging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 + BUG: 426 (stat on mount point hangs.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=426 -commit 04de4b6063617d4ad31b31fb0d24fe2242deb7f0 -Author: Anand Avati -Date: Fri Oct 16 16:21:09 2009 +0000 +commit 855a57a1f9c05d627c22f3091a7e0603d3e4092f +Author: Vikas Gorur +Date: Wed Dec 2 10:28:34 2009 +0000 - locks: trace support - - 'option trace on' will trace all locks and unlocks in the logfile - under NORMAL log mode + cluster/afr: Fix conditional typo. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 306 (Enhance locks to aid debugging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit c8f39bea04c6021243d1ab2bcea450a0f067aabc -Author: Anand Avati -Date: Thu Oct 15 19:36:47 2009 +0000 +commit c04c1a170dcc605efcf80c8ae2674b69488b591d +Author: Vikas Gorur +Date: Wed Dec 2 07:48:45 2009 +0000 - locks: keep ref on the inode while locks are held + storage/posix: Added janitor thread. - keeping refs on the inode while there are held locks prevents the - inode from getting pruned away + The janitor thread deletes all files and directories in + the "/" GF_REPLICATE_TRASH_DIR directory. This directory + is used by replicate self-heal to dump files and + directories it deletes. + + This is needed because letting replicate walk the directory + tree and delete a directory and all its children is too racy. + Instead, replicate self-heal only does an atomic rename(), + and the janitor thread takes care of actually deleting them. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - 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 + BUG: 227 (replicate selfheal does not remove directory with contents in it) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227 -commit d3722f7546bdcfeed7cf3c2745c1bfafa7fa79a4 -Author: Vikas Gorur -Date: Fri Oct 16 06:27:36 2009 +0000 +commit 90328b827768552a05bb12abf62d09c9566309d1 +Author: Raghavendra G +Date: Wed Dec 2 01:00:44 2009 +0000 - cluster/afr: Unlock only those paths which have been locked during rename. + performance/stat-prefetch: fix access to inode table. - For ENTRY_RENAME_TRANSACTIONs, keep track separately whether the - lower_path and the higher_path have been locked, and unlock only - those which have been. + - 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 Signed-off-by: Anand V. Avati - 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 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 4e2e497479a37ea659163ec8a84b8876b61ee1f3 -Author: Vikas Gorur -Date: Fri Oct 16 03:10:08 2009 +0000 +commit 67d6a0a6195a72bce251891fccbd38929d5586dc +Author: Amar Tumballi +Date: Tue Dec 1 20:28:28 2009 +0000 - cluster/afr: Hold lock on all names under "victim" in rmdir + fixes to compile on MacOSX (no fuse client) + + These changes are required to make GlusterFS compile on MacOSX (10.5). - When an rmdir is being done, hold a lock on all names under it, so - that new entries cannot be created while the rmdir is in progress. + Currently glusterfs server component alone will work over Mac, and it has + to be built with following options to ./configure. - Without this lock, rmdir and create operations under the - victim directory race with each other leading to - inconsistencies among the subvolumes. + "bash$ ./configure --disable-fuse-client --disable-fusermount " + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 361 (GlusterFS 3.0 should work on Mac OS/X) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361 -commit bd6a6bc71dfaad3f74aa974f0c26ee4adc4dc05e -Author: Pavan Sondur -Date: Fri Oct 16 01:56:06 2009 +0000 +commit 0c4b5814e7402658493f1e16ef7fa9a8fa8b4be5 +Author: Amar Tumballi +Date: Sat Nov 28 03:09:02 2009 +0000 - Changes in posix unlink and rmdir to prevent inode num re-use immediately. + bring new MOP called NOTIFY. + + which can be used as a bridge between client and server processes, + when needed. + This mop is needed now, so that many features in 3.0.0 can come in + with this without bumping protocol version. + + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 201 (server should get notified about client 'umount') + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=201 -commit 6b3cf8045866726b09576e4d3f0a417257716373 +commit 0a6b3ce3bf4acd994cb67c9c79b7c03909443bdd Author: Anand Avati -Date: Thu Oct 15 11:37:23 2009 +0000 +Date: Tue Dec 1 20:06:18 2009 +0000 - shuffle hash layouts on directories + afr: remove memcpy of @local contents in afr_local_copy - allow for hash layouts to be written differently for different - directories to give a better spread for same filenames across - directories + copy out members which are needed. memcpy of full local causes + a copy of pointers without references and results in various corruption + errors + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 324 (distribute does not spread files of the same name among all servers) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=324 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit a159ebc5c0277797db7937c8489b26e1975dd265 -Author: Raghavendra G -Date: Thu Oct 15 01:57:58 2009 +0000 +commit dc16ba6f79726e9c42d2309947ad805978375b8c +Author: Anand Avati +Date: Tue Dec 1 19:58:02 2009 +0000 - performance/io-cache: remove caching in lookup. - - - caching file contents in io-cache during lookup is obsolete since quick-read - does the same work. + afr: fix fd reference leak + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 314 (Hang in quick-read) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=314 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit d9d268b7983d06cfb6d2b6bea5aca0f4bd60dee7 -Author: Raghavendra G -Date: Thu Oct 15 08:40:53 2009 +0000 +commit 933e87700e25e83bcd5e9ba4c4f580d48fcaccee +Author: Vijay Bellur +Date: Tue Dec 1 12:03:08 2009 +0000 - performance/quick-read: frame->local need not be set in qr_open_cbk. + performance/io-cache: Hold locks on inode before creating rbt tree. - - local is used only by certain operations and hence it need not be set by - all the operations invoking open. + Lock is held before creating a RBT in inode. Also, did some re-factoring. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 323 (fd leak with quick-read loaded in translator tree) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=323 + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit db3155c3c8a96bb964408f22d833d3997a64570b +commit 6afe4faeaa77911490b2eca0830928367543e504 Author: Raghavendra G -Date: Wed Oct 14 21:15:52 2009 +0000 +Date: Tue Dec 1 14:39:45 2009 +0000 - performance/quick-read: flush should proceed with winding if fd-context is 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. + libglusterfsclient/read: break reads bigger than the iobuffer size into smaller ones. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 317 (Data corruption with write-behind loaded in translator tree.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=317 + BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334 -commit 52521b87a32d841d5d4c9492c0916d658dc99907 -Author: Anand Avati -Date: Tue Oct 13 07:32:27 2009 +0000 +commit 435b234325bdcdcea88c3e1c7e9d97deeee3eb9a +Author: Raghavendra G +Date: Tue Dec 1 14:39:31 2009 +0000 - afr transaction: fix op_ret check during locking + libglusterfsclient/readv: break reads bigger than the iobuffer size into smaller ones. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - 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 + BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334 -commit f512ee469bd690f65e388f565b69e2395e43a4aa -Author: Anand Avati -Date: Tue Oct 13 06:42:50 2009 +0000 +commit b491da7cc5fdcebdf641c5768685061221643611 +Author: Raghavendra G +Date: Tue Dec 1 14:46:21 2009 +0000 - prevent spurious unlocks from afr selfheal - - afr selfheal now remembers all the nodes on which locks were successfully - held and sends unlocks only to those nodes + extras/benchmarking: port glfs-bm.c to master. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - 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 + BUG: 422 (port glfs-bm to latest code-base) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=422 -commit 92a5fd621db0949637bb37e698709271e13610df -Author: Anand Avati -Date: Tue Oct 13 06:27:22 2009 +0000 +commit 8d9b1a1987840b5ab254db0ffe47663641d9ae15 +Author: Amar Tumballi +Date: Tue Dec 1 14:51:15 2009 +0000 - afr transaction prevent spurious unlocks + changed the version of glusterfs from 2.1.0 to 3.0.0 - mark a subvol with held lock only if op_ret == 0 + Signed-off-by: Amar Tumballi + Signed-off-by: Anand V. Avati + +commit ade63327d7beaf6f8458aba9f8980e15016b6f31 +Author: Amar Tumballi +Date: Mon Nov 30 01:20:20 2009 +0000 + + trash_ftruncate fop added + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 142 (enhance features/trash translator so it can work on client side too..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=142 -commit fd441bca2a68ca93765f7a270cab1b7ffdf90799 -Author: Vikas Gorur -Date: Mon Oct 12 07:01:41 2009 +0000 +commit 4f7886034742709b285499aa0052fdb21e9c42f6 +Author: Amar Tumballi +Date: Mon Nov 30 01:19:10 2009 +0000 - cluster/afr: Hold second lock after first lock has been granted for rename transactions. - - Hold the lock on the {higher_path} only after the lock on the - {lower_path} has been granted successfully. + trash_truncate fop added + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 142 (enhance features/trash translator so it can work on client side too..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=142 -commit 42e8f30a7c8e6fa7755aa058a2ef73542c7e8f0e -Author: Anand Avati -Date: Mon Oct 12 11:21:22 2009 +0000 +commit 7bb52eb192f9541e70bf48a206c2d78b5dbb5cb2 +Author: Amar Tumballi +Date: Mon Nov 30 01:18:41 2009 +0000 - replicate: fix missing frame in entry-self-heal - - 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. + trash_rename fop added + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 142 (enhance features/trash translator so it can work on client side too..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=142 -commit 358b284535dc7e98d9817c8f63d7659098f5e427 -Author: Raghavendra G -Date: Fri Oct 9 12:43:36 2009 +0000 +commit 056e3e7a56a24291c6f07b9ef572ee8c8ff7c700 +Author: Amar Tumballi +Date: Mon Nov 30 01:18:09 2009 +0000 - performance/quick-read: change the default option values in quick-read. + trash_unlink fop added + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 238 (Backport quick-read to 2.0 release) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=238 + BUG: 142 (enhance features/trash translator so it can work on client side too..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=142 -commit da5cf2d0209eadda7b6350205206e19253882edd -Author: Anand Avati -Date: Fri Oct 9 10:02:41 2009 +0000 +commit 936001b147a3adcf9731d02e8f2fb62e5e50caf4 +Author: Amar Tumballi +Date: Mon Nov 30 01:16:35 2009 +0000 - fail revalidate properly + features/trash initial cleanup commit - fail revalidate calls if inoode number has changed for the basename at the server side. This is a temporary workaround for most of the cases till inode-gen is merged + * support O_TRUNC flag in open (call comes to FS as 'truncate' + or 'ftruncate' fop) + * option to provide 'eliminate-pattern' so those files matching + won't be kept in trash. Eg: + option eliminate-pattern *.out|*~ + * option to give 'maximum' file size to keep in trash, ie, when a + 20GB file is deleted, it won't be kept in trash if max file size + given is 1GB. Eg: + option max-trashable-file-size 1GB + + These particular features are developped as a part of college project + by following team: + + Sunil bhagwath + Yashaswi Kumar + Rashmi B K + Sandeep M - Avati + Submitting after minor coding standard edits and memoryleak fixes. + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 142 (enhance features/trash translator so it can work on client side too..) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=142 -commit b0f456cdd55ebfa0498db75157b544ad88904d03 -Author: Anand Avati -Date: Fri Oct 9 08:00:22 2009 +0000 +commit 90cebe19380b4319e3a4345f31268563b51e08c3 +Author: Harshavardhana Ranganath +Date: Mon Nov 30 01:17:22 2009 +0000 - Add INIT_LIST_HEAD which was left out in the previous commit + Booster configuration fixed for per transport type and honours conf-dir option. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - BUG: 297 (Posix locks cannot handle a single unlock over multiple held locks) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=297 + BUG: 421 (Make booster configuration honour conf-dir and transport type) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=421 -commit f4d6b3ba3d94fb4cd7e9f9f19aaf3b11a10213a7 -Author: Corentin Chary -Date: Fri Oct 9 06:24:49 2009 +0000 +commit 85ed82893aca7dd6307100660b9bba0233d52240 +Author: Vikas Gorur +Date: Tue Dec 1 06:11:06 2009 +0000 - features/locks: Fix insert_and_merge - - Init the list structure, because it will be used later, - and subtract_lock does not do it. + cluster/afr: Don't do memcpy of afr_local_t in afr_local_copy. - Also remove the special handling for unlocks, which was - probably introduced as a workaround for this bug. + For the background self-heal frame's local_t, copy only + required members --- not a wholesale memcpy. The memcpy + lead to pointers being copied and then double free'd. - Signed-off-by: Corentin Chary + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 297 (Posix locks cannot handle a single unlock over multiple held locks) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=297 + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 726ec6f9819bd29bc6e7a75c06a800fa6e6ac10f -Author: Raghavendra G -Date: Wed Oct 7 10:09:34 2009 +0000 +commit cc57da87504621655d4acb7ec65e27f45b2b72d1 +Author: Vikas Gorur +Date: Tue Dec 1 06:11:05 2009 +0000 - performance/stat-prefetch: checking for cache and creation if not present is made atomic. + cluster/afr: Set file size properly before unwinding from self-heal. + + Set the buf.st_size of the original frame's afr_local_t, and + not the copy_frame'd one. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - 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 + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit f23a2c6d3daea2b1afffe5ead931efe9d1164a7d -Author: Raghavendra G -Date: Wed Oct 7 10:09:33 2009 +0000 +commit ab99355f55ce8a55d5c9b339ced830723be5f213 +Author: Vikas Gorur +Date: Tue Dec 1 06:11:04 2009 +0000 - performance/stat-prefetch: lookup the path in xattrop if it is not already looked up. + cluster/afr: Set the self-heal "source" as read subvolume even when not doing self-heal. + + This patch sets the read-subvolume equal to the self-heal "source" + even if we're not doing self-heal (because some one else is already + doing it). + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - 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 + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 2375d4ad16f2bce4c49ed67d2e1273ffce928f9a -Author: Raghavendra G -Date: Wed Oct 7 10:09:30 2009 +0000 +commit d2a30ec4aaeaa546f6370a1377c44574ada5edbc +Author: Anand Avati +Date: Tue Dec 1 07:02:02 2009 +0000 - performance/stat-prefetch: implement sp_entrylk. + stat-prefetch: fix unsafe reference to @local in sp_lookup_cbk - - sp_entrylk has to send lookup on the path if it is not already looked up. + stat-prefetch uses the main syscall frame for performing lookup on + demand. this causes a potential reference to a freed local in + sp_lookup_cbk after resuming the main syscall frame (which could + have unwound and destroyed) + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + 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 -commit 09d70bbbfa1cba9be7e6cd22efe1fe5fa1da68b6 +commit d7e0bf1757e5fae23bce3d09cd0d9fbbd822a067 Author: Raghavendra G -Date: Wed Oct 7 10:09:29 2009 +0000 +Date: Mon Nov 30 15:48:38 2009 +0000 - performance/stat-prefetch: implement sp_inodelk. + performance/stat-prefetch: make lookup to wait for the completion of another lookup on same path if one is in progress. - - sp_inodelk has to send lookup on the path if it is not already looked up. + - 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 Signed-off-by: Anand V. Avati - 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 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit 39f147cca50a3b700c2f069c36964fe5811a3e1a +commit 47a8f97b729dd6bb2a2dabd3ed250ebbdf8be7fc Author: Raghavendra G -Date: Wed Oct 7 10:09:28 2009 +0000 +Date: Mon Nov 30 15:48:21 2009 +0000 - performance/stat-prefetch: do lookup on path in removexattr if it is not already looked up. + performance/stat-prefetch: don't use same variable for getting inode context of an inode and its parent. + + - this bug results in updation of flags in inode context of the parent + instead of that of inode. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - 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 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit cc36c4ae0c4aef08b04f3b320a72a6abd2bd276d +commit cff970c45034f917a76182bc0a326d59f2cebd40 Author: Raghavendra G -Date: Wed Oct 7 10:09:26 2009 +0000 +Date: Mon Nov 30 15:48:08 2009 +0000 - performance/stat-prefetch: implement sp_getxattr. + performance/stat-prefetch: fix errors in handling memory allocation failures in sp_inode_ctx_process. - - sp_getxattr needs to send a lookup on the path if it is not already looked up. + - 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 Signed-off-by: Anand V. Avati - 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 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit cf4ced9d6329b410dfb864c70365134718524ec7 -Author: Raghavendra G -Date: Wed Oct 7 10:09:23 2009 +0000 +commit 2a3adcfe5c8d649a17b2d30f3715f26794dff6bb +Author: Csaba Henk +Date: Sun Nov 29 19:26:57 2009 +0000 - performance/stat-prefetch: lookup path in setxattr if it is not already looked up. + fix leaks pointed out by cppcheck static analyzer - Signed-off-by: Anand V. Avati + See http://cppcheck.sf.net - 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 - -commit dc5c9ca1f00ecb14f0bcc7a64287b8ca738618dc -Author: Raghavendra G -Date: Wed Oct 7 10:09:21 2009 +0000 - - performance/stat-prefetch: lookup path in opendir if it is not already looked up. + [./build/libglusterfs/src/y.tab.c:2104]: (error) Memory leak: cmd + [./libglusterfs/src/md5.c:306]: (error) Resource leak: f + [./xlators/debug/io-stats/src/io-stats.c:1396]: (error) Possible null pointer dereference: this - otherwise it is redundant to check if this is null at line 1402 + [./xlators/cluster/stripe/src/stripe.c:3597]: (error) Memory leak: dup_str + [./xlators/debug/trace/src/trace.c:2426]: (error) Possible null pointer dereference: this - otherwise it is redundant to check if this is null at line 2429 + + These appear in rarely hit error cases or test/demo code so nothing + serious, in fact. + Signed-off-by: Csaba Henk Signed-off-by: Anand V. Avati - 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 + BUG: 420 (fix leaks pointed out by cppcheck static analyzer) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=420 -commit 9a422418df906c5157ebc1a2a0610aea4d06d2a9 -Author: Raghavendra G -Date: Wed Oct 7 10:09:20 2009 +0000 +commit cc3967db49e5983f43530708c1eb4b2708546ad9 +Author: Vikas Gorur +Date: Mon Nov 30 04:35:09 2009 +0000 - performance/stat-prefetch: lookup path in create if it is not already looked up. + cluster/afr: Preserve generation number along with inode in lookup and creation fops. + + This fixes fuse_create_cbk conflict warnings and random errors while + running dbench (typically open handle failure with ENOENT). + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit f9142a9831e0b7d1da66d83b09f07c06e0f5e714 -Author: Raghavendra G -Date: Wed Oct 7 10:09:18 2009 +0000 +commit d21e0108638bdde5f46361aadb370061293c8146 +Author: Vikas Gorur +Date: Mon Nov 30 02:27:12 2009 +0000 - performance/stat-prefetch: remove stat corresponding to oldloc->path from cache in sp_link. + cluster/afr: Refactored lookup_cbk and introduce precedence of errors. - - ctime of oldloc->path will be changed on completion of link fop. + Error handling in afr_lookup_cbk was faulty because it + did not give priority to errors such as ESTALE over ENOENT, + and ENOENT over other errors. This patch fixes that, and + also breaks up afr_lookup_cbk into multiple logical functions. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - 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 + BUG: 205 ([ glusterfs 2.0.6rc4 ] - Hard disk failure not handled correctly) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=205 -commit 575cb7ed94cb08ecc8bd3556355231c6ac3f343b -Author: Raghavendra G -Date: Wed Oct 7 10:09:17 2009 +0000 +commit 357e464ffee8cbed84e0c34727b9226adbdb7bd2 +Author: Anand Avati +Date: Sun Nov 29 09:27:54 2009 +0000 - performance/stat-prefetch: lookup oldloc->path in link if it has not already been looked up. + afr: fix crash in afr_sh_data_close + + when active_sink count is 0, the code proceeded into a dangerous loop + resulting in a crash while issuing the call or in the callback + afr_sh_data_setattr_cbk or afr_sh_data_flush_cbk + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 920196c5420434f5b8a31466dcfb14b6f7196c50 -Author: Raghavendra G -Date: Wed Oct 7 10:09:15 2009 +0000 +commit 6c949d9d0ddc3397eac3207c0718743d49bd8707 +Author: Anand Avati +Date: Sun Nov 29 07:45:20 2009 +0000 - performance/stat-prefetch: lookup oldpath and newpath in rename if they've not already been looked up. + protocol/server: enhance trace logging + add logging of fop name, callid number and make logging more friendly + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit d75a0e46ff31f1895ab669c7d859e7e8c5b46344 -Author: Raghavendra G -Date: Wed Oct 7 10:09:14 2009 +0000 +commit 77a7250b16c119e20c2d5c66a80b559455953a47 +Author: Anand Avati +Date: Sun Nov 29 07:37:32 2009 +0000 - performance/stat-prefetch: do lookup of path in symlink if it is not already looked-up. + afr: handle fdctx->pre_op_done handling + reset pre_op_done[i] to 0 after issuing a postop in flush. this was + missed during the introduction of pre_op_done[] array and was resulting + in a lot of spurious self heals when spurious flushes were received + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit e67f66cda27f9b6ce59a049226de4c715914158d -Author: Raghavendra G -Date: Wed Oct 7 10:09:12 2009 +0000 +commit 51600217be80dc9e1b1ad8bf20b7e5a95d31ec1c +Author: Anand Avati +Date: Sat Nov 28 05:34:41 2009 +0000 - performance/stat-prefetch: do lookup in rmdir if the path has not already been looked up. + afr: fix logic to break out of diff/checksum loop + When checksum fop returns error, mark for terminating the loop at the end + of the iteration (when all checksum calls of that iteration return) and + not immediately + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 311283be7f3255c3d9081875980ac8a8edd17a8d -Author: Raghavendra G -Date: Wed Oct 7 10:09:09 2009 +0000 +commit 1ec37aa78fccb45aa701a3380f6acf95819c7a39 +Author: Anand Avati +Date: Sat Nov 28 05:34:11 2009 +0000 - performance/stat-prefetch: lookup the path in mkdir if it is not already looked up. + protocol/server: fix improper validation of fd in server_rchecksum + state->fd validation should be done _after_ resolve_and_resume() + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 2c8afec5a9cc34331771d40fb143b8def268df0f +commit 915299aff39c993fbe21e68e9458100db519535e Author: Raghavendra G -Date: Wed Oct 7 10:09:11 2009 +0000 +Date: Sat Nov 28 11:04:19 2009 +0000 - performance/stat-prefetch: do lookup in unlink if the path has not already been looked up. + performance/quick-read: add options to doc/translator-options.txt. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - 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 + BUG: 419 (Issues with writing files of size >= 1MB) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=419 -commit 98cdc4ca1212b901adc592e7873e90e77e6ef127 +commit 79243bfdeeb328126d30da22fd48756a1bf65dd3 Author: Raghavendra G -Date: Wed Oct 7 10:09:07 2009 +0000 +Date: Sat Nov 28 10:52:37 2009 +0000 - performance/stat-prefetch: do lookup in readlink if the path is not already looked up. + performance/quick-read: change the maximum value of max-file-size to 1000KB 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 Signed-off-by: Anand V. Avati - 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 + BUG: 419 (Issues with writing files of size >= 1MB) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=419 -commit 4199ac7e9417abe8a38a6333f0f0395ecef1e6d2 -Author: Raghavendra G -Date: Wed Oct 7 10:09:08 2009 +0000 +commit 04da2ae78b83e1cb3e14379dd72d694fa03fc5e1 +Author: Harshavardhana Ranganath +Date: Thu Nov 26 15:47:28 2009 +0000 - performance/stat-prefetch: do lookup in mknod if the path is not already looked up. + Excluding static libraries. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - 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 + BUG: 413 (rpmbuild fails with unpackaged files) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=413 -commit 1120b0bcf6357509c5ef9413b5fdd351d0602d9e -Author: Raghavendra G -Date: Wed Oct 7 10:09:05 2009 +0000 +commit 4b363f1c968e7b9d2c339ea8e30dac5ca935da0e +Author: Harshavardhana Ranganath +Date: Thu Nov 26 15:42:26 2009 +0000 - performance/stat-prefetch: implement sp_access. + Removed deprecated export_dir in print string. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - 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 + BUG: 412 (Remove deprecated export_dir in print string) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=412 -commit 2b2651db6fa5f3c644b9ab64874e37ffb966dd92 -Author: Raghavendra G -Date: Wed Oct 7 10:09:02 2009 +0000 +commit 07d5b01960a8fc7754d1957451210fff2ed4617e +Author: Amar Tumballi +Date: Thu Nov 26 14:55:03 2009 +0000 - performance/stat-prefetch: do lookup in utimens if the path is not already looked up + moved unify from 'cluster/unify' to 'legacy/cluster/unify' - Signed-off-by: Anand V. Avati + maintaining unify is not feasible, and its design of namespace is + not scalable too. hence moving it to 'legacy/' directory.. - 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 - -commit 697bbe4e15b6c080ea1874748807ab2b39ec8ffd -Author: Raghavendra G -Date: Wed Oct 7 10:09:00 2009 +0000 - - performance/stat-prefetch: do lookup in truncate if the path is not already looked-up + Thanks to unify, we learnt something about rename(). 'cluster/unify' has + served GlusterFS well for more than 2years, and its the time to say + goodbye :-( + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - - 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 -commit edbb6c1af44e4f9fc131e527064732ecf66ced93 -Author: Raghavendra G -Date: Wed Oct 7 10:08:59 2009 +0000 +commit ff9944ff7910441a1f8b9784c153d5de5be62142 +Author: Vijay Bellur +Date: Thu Nov 26 13:36:34 2009 +0000 - performance/stat-prefetch: lookup the path in chown if it is not already looked up. + performance/stat-prefetch: Changed rbthash to make use of 1 bucket + + rbthash makes use of 1 bucket and a common mem-pool is being used for all rbt entries. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - 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 + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 -commit a4e67d3c524cb6b721192defe62e751243c563b0 -Author: Raghavendra G -Date: Wed Oct 7 10:08:57 2009 +0000 +commit 03949adaf0c7fcfe10f31a802723613b357ec191 +Author: Harshavardhana Ranganath +Date: Thu Nov 26 12:08:44 2009 +0000 - performance/stat-prefetch: lookup the path in chmod if it is not already looked up. + Volgen rewritten using option parser and added proper support for booster. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - 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 + BUG: 411 (Rewrite volgen using option parser and extend cifs/nfs support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=411 -commit f0fe79f513c6d41ef1077f291059946f07b7ed1b -Author: Raghavendra G -Date: Wed Oct 7 10:08:56 2009 +0000 +commit 9b2159c6111cff889c543fdaf7628fce03e50154 +Author: Anand Avati +Date: Thu Nov 26 07:22:08 2009 +0000 - performance/stat-prefetch: lookup the path in stat if the it is not already looked-up. + THIS: transport to use xlator_notify() for proper setting of @THIS + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit eaf82a3c0aff20a268766746739dc6f95df1eb77 -Author: Raghavendra G -Date: Wed Oct 7 10:08:55 2009 +0000 +commit bf34a8714e6ab9dce0670c2648f839165904f2f7 +Author: Pavan Sondur +Date: Thu Nov 26 07:51:26 2009 +0000 - performance/stat-prefetch: do lookup on the path in checksum if it is not already looked up. + protocol/server: Introduce option trace to log requests and replies in normal log. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 40fe4be5277e2563411cbbcd94ad57753071c813 -Author: Raghavendra G -Date: Wed Oct 7 10:08:54 2009 +0000 +commit e91b3c49e3ab8787513764dfdadf503bc9a5da1f +Author: Pavan Sondur +Date: Thu Nov 26 07:50:49 2009 +0000 - performance/stat-prefetch: lookup the path in open if it is not already looked up. + protocol/server: Get all fops to use the new 'resolve_and_resume' path in server/protocol. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 614763a256f06bd5aab9ad88654f67454df79d36 -Author: Raghavendra G -Date: Wed Oct 7 10:08:53 2009 +0000 +commit 63f963700f0c89292092047ec2423e8d8ab1f955 +Author: Vijay Bellur +Date: Thu Nov 26 06:37:30 2009 +0000 - performance/stat-prefetch: implement procedure sp_process_inode_ctx. + Changed rbthash_table_init() to take a mem-pool argument. - - this procedure processes inode_ctx to make decisions like whether the - current procedure can continue (i.e., inode is already looked up), - or the procedure has to initiate/wait for lookup on the path. It also - sets up the frame->local and adds the stub corresponding to current fop - if needed. + Changes in libglusterfs/rbthash: - Signed-off-by: Anand V. Avati + rbthash_table_init() now takes a mem-pool argument. + The mem-pool argument would be mutually exclusive to expected_entries. + If expected_entries is provided, mem-pool would be ignored and vice-versa. - 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 - -commit 42d58aad9175e2eb086cf8113d65f53ee8aabbee -Author: Raghavendra G -Date: Wed Oct 7 10:08:51 2009 +0000 - - performance/stat-prefetch: use op_errno instead of errno to store error code. + Changes in io-cache: + 1) Moved rbthash creation to readv. + 2) rbthash makes use of 1 rbt instead of 4096 + 3) A global mem-pool is being used in place of a mem-pool per rbt. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - 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 + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit 64bba90418fd037708f38c4a4e0b73c89a11ea5f -Author: Raghavendra G -Date: Wed Oct 7 10:08:46 2009 +0000 +commit a928aa5e0d65b9439b8a10eb9dede954220ba9f3 +Author: Amar Tumballi +Date: Wed Nov 25 21:29:25 2009 +0000 - performance/stat-prefetch: Add support code to implement lookup-behind. - - - change sp_lookup and sp_lookup_cbk to support sending lookups when needed. - lookups might need to be sent in fops like open, chmod, chown etc which - operate on a path, since the actual lookup sent to stat-prefetch by its - parent xlators is not propagated down the xlator tree if the path is - cached. + fixes in nufa - Signed-off-by: Anand V. Avati + Now nufa uses dht_conf->private variable to store its + contents, and doesn't pollute distribute's structures. - 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 - -commit c4cba07caf188cae38ae4e3008526ea79e924abb -Author: Raghavendra G -Date: Wed Oct 7 10:08:17 2009 +0000 - - performance/stat-prefetch: remove lookup-behind in sp_lookup. + It used to hang earlier as layout_lock was not INIT()'d. - - lookup-behind should be done on-demand basis, in fops like open - instead of in sp_lookup itself. This would reduce network traffic - between client and server related to lookup, if the only use of - lookup was to fetch stat structure. + whitespace-cleanup done on the code too. + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 409 (implement a switch scheduler) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=409 -commit a4b02e16a315862de378761b5f340ec346bd5e6d +commit fc87b19f0bd511ee294c058ea9066189ca06ce88 Author: Amar Tumballi -Date: Wed Oct 7 16:55:34 2009 +0000 - - added few missing options in translator's option array - - Signed-off-by: Anand V. Avati - -commit e31b712714920c8133269b416a0c9efd5c6ec44e -Author: Vijay Bellur -Date: Mon Oct 5 13:16:32 2009 +0000 +Date: Wed Nov 25 21:26:24 2009 +0000 - Changed occurrences of Z Research to Gluster. + switch translator added - Signed-off-by: Anand V. Avati - -commit c77583a4ae5ecf716edb4b7c7834fc804ba36dad -Author: Raghavendra G -Date: Wed Oct 7 03:46:12 2009 +0000 - - performance/stat-prefetch: Add accounting of cache hits and misses. + switch translator is a wrapper around distribute to work for a + pattern based scheduling. + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 409 (implement a switch scheduler) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=409 -commit a9151c7c398f755abca20ec1055909f4ab4f3e0f -Author: Raghavendra G -Date: Wed Oct 7 03:44:00 2009 +0000 +commit 057c071403eb808b065e760d91101d519f86b65c +Author: Harshavardhana Ranganath +Date: Wed Nov 25 14:40:55 2009 +0000 - performance/stat-prefetch: optimizations to sp_lookup. - - - if stat cache cannot be found for a path in its parent inode and the path - is a directory, we can get the cache from the inode corresponding to path - and look for "." in that cache. + Volgen supporting multidisks and booster configuration for nfs and cifs + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - 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 + BUG: 396 (Volgen multiple export directory support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=396 -commit fee63b09862e228eb95f5354c533d237e3a462b7 -Author: Raghavendra G -Date: Wed Oct 7 03:43:12 2009 +0000 +commit 3429e8755756191d010896083ca9a7141682ead9 +Author: Amar Tumballi +Date: Wed Nov 25 15:13:37 2009 +0000 - performance/stat-prefetch: change behaviour of sp_lookup when xattr_req is not NULL. + add an extra check for loc->parent when loc->ino is not 1 - - if the xattr_req is empty (fuse just creates an empty dictionary and - sends along lookup) we can still use the cache prefetched during readdir, - since we need not fill the reply dictionary. + This extra check is needed only in case where setup is + "server -> chain -> client", where for the root inode, inode->ino + is not updated in the first lookup call, hence used to crash. + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - 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 + BUG: 377 (segfault in protocol/client with chaining) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=377 -commit 02e934c0aeedf44c3213829e593f10ccaf4e6bba -Author: Raghavendra G -Date: Wed Oct 7 03:42:45 2009 +0000 +commit 28e2901806d35055ca58470bf26d72edb803ba01 +Author: Harshavardhana Ranganath +Date: Thu Nov 26 04:16:27 2009 +0000 - performance/stat-prefetch: change the cache to use rbtree based hashtable instead of list for caching dentries. + Fixed typo in gf_proc_dump for attribute_timeout. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - 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 + BUG: 410 (Typo in gf_proc_dump for attribute_timeout) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=410 -commit e2b1e7bb775b2f2f95357550bac786961ec9848a -Author: Raghavendra G -Date: Wed Oct 7 03:39:45 2009 +0000 +commit b80fac541701689b07940be518431bacb101f09f +Author: Amar Tumballi +Date: Thu Nov 26 03:29:46 2009 +0000 - performance/stat-prefetch: fix memory leaks + don't allow stripe with just one subvolume - - sp_cache_get_inode uses fd_lookup which internally increases the refcount of - fd by 1. This needs to be unrefed once we get the cache. - - for directories, stat is stored in the inode context in sp_lookup_cbk. - but, while doing so, no check was being done for the presence of context - in inode, resulting in leak of memory equal to sizeof (struct stat) when - multiple lookups happened on the directory. stat was needed to serve the - postparent member during lookup. postparent stat is needed only in releases - having NFS related changes and hence removing code present to get - postparent. - - path constructed in sp_readdir was not freed. + stripe code assumes in many places that it will have more than one subvolume, + but the strict check was not there in init, hence, if somebody configures stripe + with just one subvolume, it will cause many fops with frame loss. + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 340 (Kernel Compilation fail in stripe) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=340 -commit 65c68a0e9ae3d504bde99a81744c1b1103480430 -Author: Shehjar Tikoo -Date: Mon Oct 5 07:55:59 2009 +0000 +commit d1f3cdc4dcae63b1bb8e6fd6ff0db791646e2ad2 +Author: Vijay Bellur +Date: Thu Nov 26 00:53:49 2009 +0000 - core: Add rbtree based hashtable + protocol/server: Changed logging level of message on deep resolution + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 145 (NFSv3 related additions to 2.1 task list) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 94afc3ed4ce54bf6680572ba462e9c9cc599e8fd -Author: Shehjar Tikoo -Date: Mon Oct 5 07:55:58 2009 +0000 +commit 61a73726a51936fb59245a0ba9511c4907306130 +Author: Amar Tumballi +Date: Thu Nov 26 00:38:28 2009 +0000 - mem-pool: Include stdlib for calloc() + changed the log level of failure case in client_setvolume_cbk - Doing so removes build warnings about calloc and free - for files that use mem-pool but do not by themselves - include stdlib.h, for eg., rbthash.c + It *should* be an error when a handshake fails. Its hard to debug + it otherwise + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 145 (NFSv3 related additions to 2.1 task list) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + BUG: 26 (Version mismatch not handled correctly) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=26 -commit 86338b253e095f54997d43349959cbabe1612691 -Author: Raghavendra G -Date: Wed Sep 30 14:51:28 2009 +0000 +commit 25c220cf505c71139afe0cefe5a04b7e435f77ba +Author: Harshavardhana Ranganath +Date: Wed Nov 25 13:15:36 2009 +0000 - mem-pool: add mem_pool_destroy. + Added boundaries for each fops, mops and cbks. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - 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 + BUG: 366 (Infinite loop with centralized logging.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=366 -commit c1fd29003e68268cf81a72b83865f473a21d0d2f +commit 2517ec18aeae5d6952aace778dacdd1cde93efe0 Author: Vikas Gorur -Date: Tue Oct 6 06:45:30 2009 +0000 +Date: Tue Nov 24 10:08:54 2009 +0000 - storage/posix: Process "glusterfs.content" key in lookup only for regular files. + cluster/afr: Include "common-utils.h" instead of alloca.h + alloca.h should be included on a platform-specific basis. + Lets common-utils.h handle that. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 301 (lookup should ignore ISDIR error when trying to get content) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=301 + BUG: 349 (FreeBSD compilation error (alloca.h).) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=349 -commit b4c87b3314f20188f6cd2998cdd7c9e9ca015850 -Author: vinayak hegde -Date: Mon Oct 5 05:39:05 2009 +0000 +commit 1c6a55b04c418106cf2be5156fa8e53b1adaa1b4 +Author: Vikas Gorur +Date: Wed Nov 25 02:19:31 2009 +0000 - glusterfsd.c:Pipe is used during daemonization as ipc. + protocol/client: Make log message print both generation number and inode number. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 117 (Wrong command line does not throw error) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=117 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit ac344e1cf5fb80f0c237f74508f5087741e94ee9 +commit 1bcb009cf65e57117653bbbb5cdf673f9d9142e9 Author: Vikas Gorur -Date: Mon Oct 5 04:02:10 2009 +0000 +Date: Wed Nov 25 07:51:23 2009 +0000 - cluster/afr: Initialize local->first_up_child in AFR_LOCAL_INIT. + cluster/afr: Do self-heal on unopened fds. + This patch completes the previous patch for self-heal of + open fds in replicate. + + If an fd was never opened on a subvolume, we remember that + and do the open after we've done self-heal on that fd. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 285 ("first up child" can change during a transaction) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=285 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 7ba890140fccdf58daa0b8dd1fa5586ebcd48a43 -Author: Harshavardhana Ranganath -Date: Wed Sep 30 05:34:19 2009 +0000 +commit 9806bd1f58d80d158e3cfb6edee40e92ee30c6d7 +Author: Raghavendra G +Date: Tue Nov 24 20:47:00 2009 +0000 - volgen script failed initial tests due to wrong fd definition + performance/stat-prefetch: Add refcounting to cache objects + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 288 (volgen script failed initial tests due to wrong fd definition) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=288 + BUG: 405 (Segmentation fault in stat-prefetch.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405 -commit 359c46118b756e1a5191ec6e902709258aad903b -Author: Vikas Gorur -Date: Mon Sep 28 20:58:57 2009 +0000 +commit ca4c8115a839568405e1dea2f4bda01f43357921 +Author: Raghavendra G +Date: Tue Nov 24 20:46:48 2009 +0000 - cluster/afr: dir-write: Fix inode number handling. + performance/stat-prefetch: remove lock member in sp_fd_ctx_t. - create, mkdir, symlink, mknod: Prefer to return itransform'd inode number - from the first_up_child. If not, fall back on any other child that returned - succcess. - - link, rename: Return the same inode number that - was passed as part of loc_t. - - Also adds a new member to afr_local_t, local->first_up_child - which is initialized at the start of the transaction. This - fixes the race where a subvolume might go down during the transaction - and thus have the first_up_child change. + - since the lifetime of fd context can be no longer than the fd, we can use + lock in fd. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 285 ("first up child" can change during a transaction) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=285 + BUG: 405 (Segmentation fault in stat-prefetch.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405 -commit f09558e2bf5b39284c6a2b750d791d38854ffcfc +commit 81af21adec38eb04de19694af1b3ce8a1a095ab7 Author: Raghavendra G -Date: Fri Sep 25 02:52:00 2009 +0000 +Date: Tue Nov 24 20:46:34 2009 +0000 - libglusterfsclient: don't destroy the iobuf pool during fini. + performance/stat-prefetch: don't free the cache in readdir if the offset is not the expected one. - - some of the iobufs in pool will be cached by io-cache and hence refcount - will not be zero. Hence the assertion of ref being zero in - __iobuf_arena_destroy fails. Commenting out iobuf_pool_destroy during fini, till - we introduce proper cleanup in all translators, thereby allowing io-cache - to release the buffers it has held. + - 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 Signed-off-by: Anand V. Avati - BUG: 283 (booster aborts complaining the refcount of iobuf is not zero during glusterfs_umount_all.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=283 + BUG: 405 (Segmentation fault in stat-prefetch.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=405 -commit 5464ab94634e949ff4fdcba74f13ed7302fbd322 -Author: Raghavendra G -Date: Fri Sep 25 02:48:00 2009 +0000 +commit 250edc9e494fe0c59eff580df18080111ecb475e +Author: Vikas Gorur +Date: Tue Nov 24 08:45:10 2009 +0000 - libglusterfsclient: traverse the vmplist during fini only if any entries are mounted. + cluster/afr: Refactored the self-heal interface. - - the vmplist.list is inited only during mounting of first entry. Hence doing - a list traversal when no vmpentries are present, results in a segfault. + Cleaned up the self-heal interface to callers. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 282 (segfault of applications using booster observed when the application does not mount any vmps.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=282 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 47802bd0fdb65424a4466cb2d67118e98a5337a8 -Author: Amar Tumballi -Date: Fri Sep 25 00:56:58 2009 +0000 +commit 74612a456ad1602f8038fae79fee654eb427602a +Author: Vikas Gorur +Date: Tue Nov 24 08:45:09 2009 +0000 - glusterfs volume generator + cluster/afr: Do self-heal on reopened fds. - http://gluster.com/community/documentation/index.php/Glusterfs-volgen_Reference_Page + This patch brings in partial support for self-heal of open + fds. The precondition is that the fd should have been opened + successfully during the initial open() (or create()), and we + assume that protocol/client has successfully reopened the fd + when the subvolume comes back up. - Signed-off-by: Anand V. Avati - -commit 1ed903641a297aaa16d212243eb17c8899d7969b -Author: Anand Avati -Date: Thu Sep 24 08:31:10 2009 +0000 - - write-behind: check for NULL file pointer in flush callback + It works by doing an "up/down flush" (a dummy flush transaction + to do post-op wherever necessary) and then triggering + data self-heal on the file in the post-post-op hook of the + dummy flush transaction. This ensures that any writes + that come in during self-heal will wait until self-heal completes. + The up/down flush is also done when a subvolume goes down, + so that post-op is done on all subvolumes where pre-op was done. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 260 (ls on booster VMP results in error: "File descriptor in bad state") - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=260 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit bad9a77c646bc286feecba4d62e036504993175d -Author: Raghavendra G -Date: Thu Sep 24 06:04:19 2009 +0000 +commit 218959e0597b16755a98b19786ed6a42cd15cbc4 +Author: Vikas Gorur +Date: Tue Nov 24 08:45:08 2009 +0000 - performance/write-behind: Add NULL checks for file pointer. + cluster/afr: Provide a post-post_op hook in the transaction. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 260 (ls on booster VMP results in error: "File descriptor in bad state") - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=260 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit c730a5a5d937829b9c9b75286fe687feae5ef6f1 +commit 9e3fddb13769288ddc13db3125b8bedf26058cdf Author: Vikas Gorur -Date: Thu Sep 24 04:29:10 2009 +0000 +Date: Tue Nov 24 08:45:07 2009 +0000 - glusterfsd/main: Do a sem_post only if running in daemon mode. + cluster/afr: Refactored the data self-heal algorithm. + Refactored the operation of the data self-heal algorithm + as: + + * open all fd's (if fd not supplied by caller) + * lock 0-0 (if lock not supplied by caller) + * fxattrop, fstat (instead of lookup) + ... self heal ... + * unlock (if lock not supplied by caller) + * close (if fd not supplied by caller). + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 4ab8f717e23dda136f35c30ab103762afef6ff7a -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:40 2009 +0000 +commit 21cffbc219efc36229002e71a02b9270cfee9186 +Author: Vikas Gorur +Date: Tue Nov 24 08:45:06 2009 +0000 - booster: Cleanup booster_cleanup and register for atexit + cluster/afr: Hold blocking locks for data self-heal. + Data self-heal now holds blocking locks, and instead of locking + on all subvolumes, it only locks on {data-lock-server-count} subvolumes. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 279 (File written with booster results in self-heal after dd exits) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 56d00a6e589525d4e88c86d800ef0b9665564e80 -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:39 2009 +0000 +commit a63e189822a777b450eeaeda8622cdb0e5e7cb1d +Author: Vikas Gorur +Date: Tue Nov 24 08:45:05 2009 +0000 - libglusterfsclient: Support TRACE loglevel + cluster/afr: Set read-child = source regardless of foreground/background self-heal + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 210 (libglusterfsclient: Enhance logging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 84ad18a00cf0ddd5723eb2d43a0c046a4ed66059 -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:38 2009 +0000 +commit 3fe840d93730f1f7feef053e58dfbc40f99cae04 +Author: Vikas Gorur +Date: Tue Nov 24 07:41:36 2009 +0000 - libglusterfsclient: Wait for all call pools to be destroyed + cluster/afr: Fix inode context bitmasks. - This ensures that the process using libglusterfsclient does - not exit before all the fops and calls have been replied to. - It helps to ensure that the backends are in a sane state when - the program exits. + Set opendir_done and split_brain flags correctly + in the inode context. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 279 (File written with booster results in self-heal after dd exits) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit d2a961b3d6792864d6852590c7dba93dc28906fa -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:37 2009 +0000 +commit 4a43031ce0f045b673a50159dce5316bcae825ee +Author: Vikas Gorur +Date: Tue Nov 24 06:07:16 2009 +0000 - libglusterfsclient: Clean up fini and umount code paths - - This patch cleans up the umount and fini paths in preparation - to support waiting for unwind of all pending call frames. - - Two misc fixes are: - 1. Fix to avoid deadlock in _libgf_umount by - using _libgf_vmp_search_entry instead of - libgf_vmp_search_exact_entry since the latter tries to take a - lock already help by _libgf_umount. + cluster/afr: Fix double-free in opendir self-heal callback. - 2. Avoid a crash in _libgf_umount by deleting the vmp - entry from the list before it gets freed. + local->cont.opendir.checksum was being free'd both in the + self-heal completion function and self-heal unwind. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 279 (File written with booster results in self-heal after dd exits) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit 788d174c36c29e3fcc638f2064c43f60f5521dd1 -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:36 2009 +0000 +commit 6adfd865588bdcf5ea67e8bde61dce131d18108c +Author: Raghavendra G +Date: Mon Nov 23 18:57:40 2009 +0000 - iobuf, logging: Expose existing functions as required + performance/quick-read: use STACK_UNWIND_STRICT for unwinding. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 279 (File written with booster results in self-heal after dd exits) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 -commit b003921b33de2d72ee39eaa4b6c0a161261c9db3 -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:35 2009 +0000 +commit fe34bb798cbadc964447ad2fd60a870dc2891572 +Author: Raghavendra G +Date: Mon Nov 23 18:57:33 2009 +0000 - libglusterfsclient: Reduce logging aggressiveness to TRACE + performance/write-behind: use STACK_UNWIND_STRICT for unwinding. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 210 (libglusterfsclient: Enhance logging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 -commit 7981f79e24e052ffe1ea758db3ba5217b74f20ce -Author: Shehjar Tikoo -Date: Thu Sep 24 00:57:34 2009 +0000 +commit 9aed8cd65940f99c9cdf647414d932750d2caf2d +Author: Raghavendra G +Date: Mon Nov 23 18:57:27 2009 +0000 - booster: Reduce logging aggressiveness to TRACE - - Internal users feel the amount of logging brought in - due to a previous logging enhancement patch is a bit too - aggressive for DEBUG, so this changes it to TRACE. + performance/read-ahead: use STACK_UNWIND_STRICT for unwinding. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 210 (libglusterfsclient: Enhance logging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 -commit 7f2da3aab0f32daca97176c3bfed76c70497f9b2 -Author: Shehjar Tikoo -Date: Thu Sep 24 00:59:50 2009 +0000 +commit afdc2c956912d8b01db414fceacd74d9c3ab3dbe +Author: Raghavendra G +Date: Mon Nov 23 18:57:21 2009 +0000 - libglusterfsclient: Re-validate root inode on every path resolution - - If the root inode's is outdated, send a revalidate on it. - A revalidate on root inode also reduces the window in which an - op will fail over distribute because the layout of the root - directory did not get constructed when we sent the lookup on - root in glusterfs_init. That can happen when not all children of a - distribute volume were up at the time of glusterfs_init. + performance/io-threads: use STACK_UNWIND_STRICT for unwinding. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 256 (revalidates should be sent on '/' in libglusterfsclient.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=256 + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 -commit 13b4437770fadf3089e37bdedd0fe689e79c87f9 +commit 8b8205c2be7ea70b9eaab8da3cec5ec7e830c516 Author: Raghavendra G -Date: Thu Sep 24 00:57:39 2009 +0000 +Date: Mon Nov 23 18:57:13 2009 +0000 - performance/write-behind: Add a NULL check for request->stub before checking request->stub->fop. - - - for non-write wind requests, the request structure outlives the stub. - The call stub is destroyed when stack is wound but request is destroyed - only when the reply has come. - (for writes, both stub and request are destroyed when refcount becomes 0, - which happens only when the write operation is stack unwound and a reply - for the write operation has come from underlying translators, for non-write - unwind requests the request is first destroyed before resuming the stub). + performance/io-cache: use STACK_UNWIND_STRICT for unwinding. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 280 (simple stripe, with write-behind set up, when dbench is run client crashes.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=280 + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 -commit a484a0c47ef6468c1615aa78795880e71347f709 -Author: Csaba Henk -Date: Wed Sep 23 10:34:38 2009 +0000 +commit 54188f9d8878b2a961050e001658f35e163caebc +Author: Raghavendra G +Date: Mon Nov 23 18:56:22 2009 +0000 - fuse: emit a flush from release if we didn't get an adjacent FLUSH message from the kernel + performance/stat-prefetch: use STACK_UNWIND_STRICT for unwinding. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 223 (flush not sent) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=223 + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 -commit 270a473ddaa076af5b3c8c455c7642932dabb479 -Author: vinayak hegde -Date: Wed Sep 23 07:12:33 2009 +0000 +commit 7c6bc261e7d60bb1c4103c2e2e64a8ab89aa66e9 +Author: Vikas Gorur +Date: Wed Oct 14 14:07:51 2009 +0000 - Changes for custom daemon function. + cluster/afr: Unlock only those paths which have been locked during rename. + + For ENTRY_RENAME_TRANSACTIONs, keep track separately whether the + lower_path and the higher_path have been locked, and unlock only + those which have been. Signed-off-by: Anand V. Avati - BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 + 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 -commit 56f1b4ed39201355553f9ac4f49c16809d8351e5 -Author: Raghavendra G -Date: Tue Sep 22 23:50:33 2009 +0000 +commit 1cd2e389020b8713d45dce44df9f473622109b0d +Author: Vikas Gorur +Date: Tue Nov 24 04:46:35 2009 +0000 - performance/write-behind: store currently aggregated data size in wb_file + cluster/afr: Fix handling of revalidate lookups. - - this helps us to not traverse the request list whenever we need currently - aggregated data in the queue + This patch does two things related to revalidate: + + 1) If a revalidate fails on any subvolume, the entire lookup + call is failed. + 2) Self-heal is not triggered on a revalidate if revalidate + has failed on any subvolume. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + BUG: 389 (auto-heal fails randomly and causes "Stale NFS file handle" errors) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=389 -commit f72e01fb1d98c7df99b42ae1cbabec0fb0ecfcbd -Author: Raghavendra G -Date: Tue Sep 22 23:50:17 2009 +0000 +commit 5b483cb62f00faa66e8795e24856600b961c8d4a +Author: Anand V. Avati +Date: Tue Nov 24 03:40:53 2009 -0800 - performance/write-behind: store the current window size in wb_file. + Revert "libglusterfs/src/gf-dirent.c: In gf_dirent_nb structure d_name should be char array of size 1." - - this would increase the performance since we don't have to traverse the - request list every time we need the current window size. + This reverts commit e151ab3ed4718606767146f18b416f8900552fbc. + +commit 40dfc3e78b590af907caa8a4461730284648034c +Author: Vikas Gorur +Date: Fri Nov 20 07:35:45 2009 +0000 + + storage/posix: Fix condition typo. + + Do comparision instead of assignment in if-condition + in posix_link. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + BUG: 254 (storage/posix has to do inode number transformation wherever it unwinds with a stat structure) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=254 -commit 8b76f7c394e99f35463fc508984c6c532ddf4a8f +commit 96ac4559414035288fa18e72a21628ea3cdf6a4c Author: Raghavendra G -Date: Tue Sep 22 23:49:55 2009 +0000 +Date: Thu Nov 19 17:28:00 2009 +0000 - performance/write-behind: reduce usage of iov_length. + performance/io-cache: don't use stat got in read_cbk if it is zero-filled. - - request structure now holds a member write_size which is initialised at the - time of request creation and used later. + - 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 Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + 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 -commit 248c6f76d5bee281d7f78e135591d8c3ab964b6b -Author: Raghavendra G -Date: Tue Sep 22 00:20:26 2009 +0000 +commit 83598e6015d76e2bebd0a3ad5141801a2864af1c +Author: Paul Rawson +Date: Tue Nov 17 00:13:24 2009 +0000 - booster: implement F_DUPFD command in fcntl. + Fix Redhat init file so that it knows the correct binary location + Signed-off-by: Paul Rawson Signed-off-by: Anand V. Avati - BUG: 277 (running dd on booster returns EINVAL) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=277 + BUG: 388 (Redhat initfile fix) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=388 -commit fb34f7fd81d3260d548ee0f6b5d656fdb1ec61f1 -Author: Raghavendra G -Date: Mon Sep 21 09:52:03 2009 +0000 +commit 9503af54284e27104051cc7eafffd3f138c28851 +Author: Erick Tryzelaar +Date: Mon Nov 16 13:27:30 2009 +0000 - performance/write-behind: add option "enable-trickling-writes". + Fix rpm building for Fedora 11. - - With this option enabled, writes are stack-wound even though not enough - data is aggregated, provided there are no write-requests which are - stack-wound but reply is yet to come. The reason behind this option - is to make use of the network, which is relatively free (with no writes - or replies in transit). However, with non-standard block-sizes of writes - the performance can actually degrade. Hence making this configurable. + I was running into a problem compiling glusterfs on Fedora 11, rpmbuild was + complaining that it couldn't find any .a files. Since it doesn't look like + gluster's creating archive libraries anymore, I removed this line from the + spec file, and gluster started to compile again. Signed-off-by: Anand V. Avati - - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 -commit f86858c3be2ad5b4f9031625e3678528d9f4c6c1 +commit 717faf468fcac827d00c81c76ac53057c43e28fa Author: Raghavendra G -Date: Mon Sep 21 09:51:49 2009 +0000 +Date: Wed Nov 18 15:07:22 2009 +0000 - performance/write-behind: reduce traversal of request list during wb_mark_winds. - - - move all the decision making code to __wb_can_wind. - - don't continue traversing the request list, once we know any of the - following conditions are true: - * requests other than write are present in queue. - * writes are happening at non-contiguous offsets. - * there are no write requests, which are wound to server but not yet - received the reply. - * enough data is aggregated for writing. + transport/ib-verbs: assign to qpreg before accessing it in __ib_verbs_lookup_peer. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + BUG: 381 (glusterfs crash in ib-verbs) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=381 -commit 6d6e22cf3cdb4f2f1f21863ab19f9b36750bba04 +commit 68a9546e5ce01e6fefc8ae97d5d7e27da1f6d52a Author: Raghavendra G -Date: Mon Sep 21 09:51:21 2009 +0000 +Date: Wed Nov 18 00:29:17 2009 +0000 - performance/write-behind: reduce list-traversal during wb_mark_unwinds - - - don't traverse entire request list to get the window-size, instead break when current - window size becomes greater than configured limit. + performance/stat-prefetch: don't cache dentries corresponding to directory. - Signed-off-by: Anand V. Avati + - 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. - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati + + BUG: 371 (rm -rf fails on stat-prefetch.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371 -commit 4749db6e47ad0fa624e49c5ed3766c77335f68c7 +commit d14d014782dd4d7023f99a054d0c4db37d020435 Author: Raghavendra G -Date: Mon Sep 21 09:51:35 2009 +0000 +Date: Wed Nov 18 00:29:05 2009 +0000 - performance/write-behind: remove redundant traversal of write-requests in the wind list in wb_sync. + performance/stat-prefetch: don't use pre-allocated dirent structure in sp_get_cache_entry. - - no need of getting the total_count of number of requests in the list. - Even if there is a single request, we need to sync it. + - 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 Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + BUG: 371 (rm -rf fails on stat-prefetch.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371 -commit 0b1d043755d183c0ab1009de5a722364da0564bc +commit 892710a37abcb10fdcff395a4369efce2af4c63f Author: Raghavendra G -Date: Mon Sep 21 09:51:05 2009 +0000 +Date: Wed Nov 18 00:28:49 2009 +0000 - performance/write-behind: Aggregate adjacent contiguous write-buffers into single iobuf. + cluster/distribute: copy the stat structure while copying dentries in readdirp_cbk. + + - only the transformed inode number was being copied, leaving other fields of + stat 0. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + BUG: 371 (rm -rf fails on stat-prefetch.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=371 -commit 3c5d05b42708e77e161eda4018b42484f36b1436 -Author: Raghavendra G -Date: Mon Sep 21 09:50:48 2009 +0000 +commit dd216deb8a9e281ec41867c354efb0067cde4785 +Author: vinayak hegde +Date: Thu Nov 19 01:39:39 2009 +0000 - performance/write-behind: fine-tune logic of wb_mark_winds - - - remove wb_mark_wind_aggregegate_size_aware, since wb_mark_wind_all does - the same work (with check for whether current aggregated data size is - greater than the configured limit before calling it). Moreover, - wb_mark_wind_aggregate_size_aware called __wb_get_aggregate_size - redundantly, thereby reducing the performance, since for small - sized large number of writes, traversing the list of requests takes - significant amount of time. + debug/error-gen: Correct log messages in init function. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 276 (write behind needs to be optimized.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + BUG: 291 (feature enhancement of error-gen translator) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=291 -commit 02f0b705e87f9cf50e7384520b49a54fc95e7b1e -Author: Shehjar Tikoo -Date: Mon Sep 21 05:31:42 2009 +0000 +commit 6148894110fd83d020e92b49b9b6f2532d7c7a99 +Author: Pavan Sondur +Date: Wed Nov 18 01:11:11 2009 +0000 - libglusterfsclient: Fix build warnings + Check for other return values as well from call to inode_path. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 275 (libglusterfsclient: Generic build failure bug for libglusterfsclient and booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=275 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 197b949d28bff35a10a10d5d2743fcdfd13ec2c2 -Author: Shehjar Tikoo -Date: Mon Sep 21 05:31:28 2009 +0000 +commit 7a5325d284a850f4a18de8795f88e45816bfaf4f +Author: vinayak hegde +Date: Tue Nov 17 06:17:04 2009 +0000 - booster: Fix build warnings + cluster/stripe: Wrong variable is checked after calloc. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 275 (libglusterfsclient: Generic build failure bug for libglusterfsclient and booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=275 + BUG: 368 (setattr on a non-regular file makes glusterfs crash) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=368 -commit a959abb342eba3a48be08fdeed1d3d90aa77dfce -Author: Raghavendra G -Date: Fri Sep 18 05:59:29 2009 +0000 +commit 5cd0d1c7447c6947e81c659635a472a97d41303d +Author: Vijay Bellur +Date: Mon Nov 16 13:08:31 2009 +0000 - performance/quick-read: refine logic of qr_readv. + protocol/client: Changed default ping-timeout to 42 - - An extra vector was being allocated when the number of bytes being read - from cache were equal to the iobuf size. + This change is necessary to avoid frequent disconnections between client and server under load. + A disconnect-connect sequence is costly in terms of clean up and re-building of context, + self-heals etc. This value should be optimal for most use cases. Users requiring a lower + ping-timeout value need to configure it explicitly. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 274 (Memory corruption in Apache running on booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=274 + BUG: 384 (Increase default timeout in client protocol) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=384 -commit 28ca9acc22cab064a7df83897036ff333101f2ea -Author: Raghavendra G -Date: Fri Sep 18 05:58:30 2009 +0000 +commit 916ca4d87c410c075a622fc24848ba06868c280a +Author: Pavan Sondur +Date: Tue Nov 17 05:24:03 2009 +0000 - performance/quick-read: optimizations to lookup - - - qr_lookup not to send request for file-content if the cache is already - present during revalidates. - - flush the cache in qr_lookup_cbk if the cache is not in sync with the file. + Do not access a free'd lock while releasing all inodelks of transport. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 273 (Code review and optimize quick-read) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 -commit 540d14f4e54ac72e2c474aa377a91d1abdbaaab6 -Author: Raghavendra G -Date: Fri Sep 18 05:58:15 2009 +0000 +commit 7a6b1de614c6db02eeb437c06fd2568ccea7d34e +Author: Vikas Gorur +Date: Wed Nov 18 07:02:25 2009 +0000 - performance/quick-read: make a comment more explicit. + cluster/afr: Handle op_ret properly in opendir_cbk + Change the success condition to op_ret >= 0 instead + of op_ret == 0. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 273 (Code review and optimize quick-read) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit fa953347e8f22baf4bf7e8042eeba0d949842a20 +commit 71d6a1c8aaa82780bdf4191732216ac1f5c57e65 Author: Raghavendra G -Date: Fri Sep 18 05:58:23 2009 +0000 +Date: Wed Nov 18 01:20:41 2009 +0000 - performance/quick-read: checking for qr_file in inode-context and creating if not present should be atomic. + libglusterfsclient/umount: fix double free. + + - calling glusterfs_fini results in double free. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 273 (Code review and optimize quick-read) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit b361b3aa5853626f918846894b8e43bff0d89252 +commit 9d9cbb893661763783f2e4fb8093ff7f0a720143 Author: Raghavendra G -Date: Fri Sep 18 05:58:08 2009 +0000 +Date: Wed Nov 18 01:20:30 2009 +0000 - performance/quick-read: refine the logic in qr_lookup. + libglusterfsclient: don't change the st_dev in stat-structure before doing inode_link. - - a new size has to be set in xattr_req only - if (quick-read is configured with a maximum file size limit - && ((xattr_req does not have a request key for getting content) - || (the size requested in xattr_req is not equal to configured - size in quick-read))) + - st_dev is used for storing generation number of the inode in + inode_link and libgf_iattr_transform changes the st_dev to fake_fsid. + If inode_link is done after libgf_iattr_transform, the generation number + stored will be wrong and will result in ESTALE errors from server. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 273 (Code review and optimize quick-read) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 80f5d11c731eb286f55b21b35015943e2bbb1f8b +commit ed75d6588899b3a812818e82ac7805998dbbd5e0 Author: Raghavendra G -Date: Thu Sep 17 15:07:11 2009 +0000 +Date: Wed Nov 18 01:20:15 2009 +0000 - protocol/client: access glusterfs context from the ctx member of xlator object - - - A global context pointer cannot be used with libglusterfsclient, since - there can be many contexts in a single process. + libglusterfsclient/open: don't send create call if the file is already present, instead send open. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 271 (applications using booster protocol/client crash in client_setvolume_cbk.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=271 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit c179755dd1068e480e3d371dd9fafa94faee90aa +commit 80f89493ce2d78095a2df64e48c7bd7291b4558d Author: Raghavendra G -Date: Wed Sep 16 23:58:36 2009 +0000 +Date: Wed Nov 18 01:20:02 2009 +0000 - performance/write-behind: check for the presence of context only in fds not opened on directories. + protocol/server: add debug messages. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 260 (ls on booster VMP results in error: "File descriptor in bad state") - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=260 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 00b242e1e35b2af7ccbade982e0dae7611cc019e +commit 9e481a7aee95cc7aebba8843820069909f21fe07 Author: Raghavendra G -Date: Wed Sep 16 12:34:19 2009 +0000 +Date: Wed Nov 18 01:19:50 2009 +0000 - client-protocol: fix race-condition encountered while accessing fdctx - - - In protocol/client, fdctx is accessed by two sets of procedures, - protocol_client_mark_fd_bad falls in one set whereas the other set consists of - all fops which receive fd as an argument. The way these fdctxs are got is - different in these two sets. While in the former set, fdctx is accessed - through conf->saved_fds, which is a list of fdctxs of fds representing - opened/created files. In the latter set, fdctxs are got directly from fd - through fd_ctx_get(). Now there can be race conditions between two threads - executing one procedure from these two sets. As an example let us consider - following scenario: - - A flush operation is timed out and polling thread executing - protocol_client_mark_fd_bad, fuse thread executing client_release. This can - happen because, immediately a reply for flush is written to fuse, a release on - the same fd can be sent to glusterfs and the polling thread still might be - doing cleanup. Consider following set of events: - - 1. fuse thread does fd_ctx_get (fd). - 2. polling thread gets the same fdctx but through conf->saved_fds. - 3. Now both threads go ahead and does list_del (fdctx) and eventually free - fdctx. - - In other situations the same set events might occur and the threads - executing fops other than flush in the second set might be accessing a - fdctx freed in protocol_client_mark_fd_bad. + libglusterfsclient: update iattr cache only if operation was successful. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 127 (race-condition in accessing fdctx in protocol/client) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=127 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 953d7146f117f19ff6c92fafaffdc79e4a14d76e +commit 2bf35da812016c8adb05b0aa90c9f0b25e50a878 Author: Raghavendra G -Date: Fri Sep 11 07:54:22 2009 +0000 +Date: Wed Nov 18 01:19:37 2009 +0000 - performance/quick-read: access glusterfs_ctx from xlator instead of using glusterfs_get_ctx + libglusterfsclient: fix memory leak. - - since glusterfs_get_ctx gets the global context pointer, there can be - problems in a multithreaded application running on libglusterfsclient - doing multiple glusterfs_inits. Hence use context specific to the - current xlator tree stored in each xlator object. + - glusterfs_glh_getxattr was implemented using libgf_client_lookup. Hence the + inode corresponding to the path on which getxattr was done was refed twice + - one during path_lookup and the other in libgf_client_lookup - but unrefed + only once. + - with inode generation number changes the inode returned by inode_link may + not be the same as the input argument. Hence the inode returned by + inode_link should be used, not the one returned in libgf_client_lookup_cbk. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 240 (segmentation fault in qr_readv) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=240 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 8ad41d36bfc683424133407ff26559654c7ba316 -Author: Anand Avati -Date: Wed Sep 16 05:43:01 2009 +0000 +commit 64a4b1f78ee719f33928f4de9abac2a09ce84f21 +Author: Raghavendra G +Date: Wed Nov 18 01:19:22 2009 +0000 - io-cache: fix table->max_pri to 1 as the lowest priority + booster: implement xattr related apis. - patch http://patches.gluster.com/patch/1319/ breaks when no priority - is mentioned in the config. the patch makes ioc_get_priority() return - 1 as the value when no priority is given, but ioc_get_priority_list() - was still returning 0 as the max_pri (maximum priority) which would - result in lru list heads not getting initialized + - implement setxattr, fsetxattr, lsetxattr. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 261 (support for disabling caching of certain files) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=261 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit ca586f1b9f9f2848eeb8bb6a22f20851f8a117d6 +commit 95d31d089ed8e8a1bb90377160ac0bccdd47b6c0 Author: Raghavendra G -Date: Tue Sep 15 08:03:46 2009 +0000 +Date: Wed Nov 18 01:17:49 2009 +0000 - booster: use __REDIRECT macro to prevent creat being renamed to creat64. - - - nm on libglusterfs-booster.so shows only creat64 defined but not creat. This - behavior is observed due to following reasons. - - 1. Booster is compiled with _FILE_OFFSET_BITS=64. - 2. fcntl.h when included with _FILE_OFFSET_BITS=64 defined, renames all - occurences of creat to creat64 in the source code from the point of - #include . + libglusterfsclient: change the prototype of glusterfs_lsetxattr. - fcntl.h should be included since booster.c uses many of the macros defined in - that header and glusterfs (booster in turn) has to be compiled with - _FILE_OFFSET_BITS=64 since glusterfs uses datatypes (off_t, stat etc) whose - sizes vary depending on whether this macro is defined or not. Basically, this - macro should be defined to provide portability across 32 and 64 bit - architectures. + - it no longer needs handle to be passed as arguement. handle is searched + in the vmp table based on the path. - The correct fix is to make glusterfs to use datatypes big enough to hold 64 bit - variants as well as 32 bit variants (like int64_t replacing off_t) and not to - define _FILE_OFFSET_BITS=64 at all. + Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati - As a temporary work around, - 1. we can implement creat functionality in a function with different name, say - booster_false_creat - 2. rename this function to creat using __REDIRECT macro. since this renaming - happens after renaming of creat to creat64 (from the first __REDIRECT macro - in fcntl.h), we will end up with creat symbol being defined in - libglusterfs-booster.so + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 + +commit 8d22d68815fbd27e7ef1b4b2f5bb70c3d82ddb96 +Author: Raghavendra G +Date: Wed Nov 18 01:17:36 2009 +0000 + + libglusterfsclient: fix __do_path_resolve to return zero if the path happens to be resolved in path_to_parenti. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 264 (creat is not resolved properly to the symbol defined in booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=264 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 2cd45bcd9f252616c735284516c1f3ac07de00d9 +commit 134d85015b0251ddc079678e1e0997cb41d0516b Author: Raghavendra G -Date: Tue Sep 15 08:03:59 2009 +0000 +Date: Wed Nov 18 01:17:25 2009 +0000 - libglusterfsclient: NULL terminate the vmp entry during vmp_entry_init. + libglusterfsclient: getxattr should return the length of the xattr when size is zero + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 263 (files are not resolved to glusterfs when vmp is not terminated with a '/'.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=263 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit ce725f84d7d4d40ace9dd7ce5bcc89bdd77ce41d +commit 1f1d1569f4bcd8acbfb80e0bdd11b752cdead637 Author: Raghavendra G -Date: Tue Sep 15 08:04:15 2009 +0000 +Date: Wed Nov 18 01:17:14 2009 +0000 - booster: use appropriate conversion specifier during logging in close. + libglusterfsclient/ftruncate: add braces to ensure proper evaluation of if conditional. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 262 (crash in booster close due to invalid conversion specifier during logging.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=262 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 0141bbb5c7b154affb1210d4f92e9ffab14596c7 -Author: Stephan von Krawczynski -Date: Mon Sep 14 05:59:55 2009 +0000 +commit 6b65a11e4e1e351a85cddd86f18b320addec49fb +Author: Raghavendra G +Date: Wed Nov 18 01:16:57 2009 +0000 - 2.0.6 patch for io-cache pattern-matched non-caching + booster: implement creat64. - Hello all, + Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati - here is a small feature patch. Its intention is to give the user more control - over the files performance/io-cache really caches. If the user knows exactly - which files should be cached and which shouldn't there is currently no way to - tell glusterfs _not_ to cache certain pattern. This patch allows you to - disable caching by setting the priority of a pattern to "0". If you do not - give any priority option it works just like before and caches everything. - Honestly I am not totally sure that disabling caching works the way we did it, - please comment. + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 + +commit 1e401ee2a94091154d114c11b55853bda3f49e29 +Author: Raghavendra G +Date: Wed Nov 18 01:16:45 2009 +0000 + + booster: implement truncate and truncate64. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 261 (support for disabling caching of certain files) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=261 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit ef8ea2672c14ae19b0ae421cf53a701f89f4f192 +commit 9c5547193f637cb52cbb91c0409dd3580acafdcb Author: Raghavendra G -Date: Thu Sep 10 04:36:19 2009 +0000 +Date: Wed Nov 18 01:16:33 2009 +0000 - storage/posix: transform inode number in stat structure - - - when export directory is configured to span across multiple mountpoints, - the inode number has to be transformed in order to make it unique. + libglusterfsclient: implement glusterfs_truncate. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 254 (storage/posix has to do inode number transformation wherever it unwinds with a stat structure) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=254 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit bcca4200218b45b547135a2e84a955062bc40089 -Author: Shehjar Tikoo -Date: Tue Sep 15 01:05:20 2009 +0000 +commit a0c05848d2ed0b0600d73214594a161cbb42302c +Author: Raghavendra G +Date: Wed Nov 18 01:16:12 2009 +0000 - extras: Add LD_PRELOAD test tool + booster: implement ftruncate64. - This tool allows us to check the sanity of the LD_PRELOAD - mechanism so that we can be sure that an application's syscalls - will be redirected into booster when that library is LD_PRELOADed. + Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati - In case of failed syscalls, this tool should be run first - to see if the calls are redirected as required. + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 + +commit a33380068a9ab9eea80a6d0b6207d9e3cc9bdff4 +Author: Raghavendra G +Date: Wed Nov 18 01:16:01 2009 +0000 + + libglusterfsclient: fix libgf_vmp_virtual_path. - This procedure used to return garbage as virtual path if the path happens to be exact mount point but without the trailing slash and the vmp had a trailing slash. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 251 (Improve booster debugging through ld-preload testing tool) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=251 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 973b964e68df39ec5c2e8a4699be84644c76864b +commit eb4043706c901f8609e65c9a35463ea3f7e2c569 Author: Raghavendra G -Date: Tue Sep 15 00:32:23 2009 +0000 +Date: Wed Nov 18 01:15:46 2009 +0000 - transport/ib-verbs: initialize fini member of new-transports created during accepting client connections. - - - This bug used to cause a memory leak of 2 * sizeof(ib_verbs_private_t) for each new client connection. + booster: implement getcwd. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 259 (Memory leak on server side when there are large number of disconnections from clients) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=259 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 80969eaf4e2ef58c051d6679fb678172b26022bb +commit c7dba5ff1468f5e56d22b47cc97ff6cd4937f98f Author: Raghavendra G -Date: Mon Sep 14 13:25:25 2009 +0000 +Date: Wed Nov 18 01:15:30 2009 +0000 - backporting quick read to 2.0 + booster: implement fchdir. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 238 (Backport quick-read to 2.0 release) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=238 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 62d30db76e118cb244c35b6acc15005474d77750 +commit 119b179fdc83d49e8242a93439fb043990eb74c9 Author: Raghavendra G -Date: Thu Sep 10 07:41:14 2009 +0000 +Date: Wed Nov 18 01:15:11 2009 +0000 - backport stat-prefetch from 2.1 + booster: implement chdir. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 257 (Backport stat-prefetch to 2.0) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=257 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit dd149ca8e7757e6e935c6481be8fd4fee9d13790 +commit 3940cf2fc26ed0d2417caef87ff25d17ec8d3bb4 Author: Raghavendra G -Date: Thu Sep 10 07:21:33 2009 +0000 +Date: Wed Nov 18 01:14:58 2009 +0000 - libglusterfsclient: Wait for time ample enough for all the children of distribute to initialize before sending lookup on '/'. + libglusterfsclient: implement glusterfs_getcwd. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 255 (libglusterfsclient should wait till all the children of distribute are initialized before sending first lookup on '/') - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=255 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit cf403ff73213bec7ce4781336e89a5bcfd9a167c +commit 7894bef2174945af06dceb506d501b8e789342fd Author: Raghavendra G -Date: Wed Sep 9 12:18:55 2009 +0000 +Date: Wed Nov 18 01:14:42 2009 +0000 - protocol/server: server_stub_resume should check for failure of lookup when oldloc.parent is NULL. + libglusterfsclient: implement glusterfs_fchdir. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 215 (crash on ib-verbs in 2.0.6-rc4) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=215 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 23f2810c5e750ac7ccf82622740205b7615c852b -Author: Shehjar Tikoo -Date: Wed Sep 9 00:46:32 2009 +0000 +commit d779e00360e7a30d721b3c2d8d94d198e5aa2cc0 +Author: Raghavendra G +Date: Wed Nov 18 01:14:24 2009 +0000 - booster: Fix fd_t leak in pread64 + libglusterfsclient: implement glusterfs_chdir. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 174 (booster: fd_ts, they are a leakin) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 2f44214fc6fd07c434ff6ca48f2c61d2ad9c3939 -Author: Shehjar Tikoo -Date: Wed Sep 9 00:46:31 2009 +0000 +commit 43ffa430d64117e8864d38cf19202369d4809c6d +Author: Raghavendra G +Date: Wed Nov 18 01:14:04 2009 +0000 - libglusterfsclient: Fix incorrect NULL check for fd + libglusterfsclient: Support relative paths. - We should check fdctx instead. + - This patch is a port of the patch with same title on 2.0 branch. + The original patch was sent by Shehjar . + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 3c029faaf40b53ef3be94d9ad9a927e9a5b4d72c -Author: Shehjar Tikoo -Date: Wed Sep 9 00:46:30 2009 +0000 +commit 8cf1cd070e794f18ed5ec28d5a3cb758fa8bf0f2 +Author: Raghavendra G +Date: Wed Nov 18 01:13:38 2009 +0000 - libglusterfsclient: Handle CALLOC failure in libgf_client_lookup + Revert "booster, libglusterfsclient: Support samba specific relative paths" + + This reverts commit e6fc0cbe716a18f02891d3911481fdcb121d8840. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + BUG: 369 (Samba does not work with booster.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369 -commit 6858391d8909abeb2d396e806df49f6cd3253c20 -Author: Shehjar Tikoo -Date: Wed Sep 9 00:46:29 2009 +0000 +commit 8f0ec7204d4b79dfb9fcf5f61df6275f6d4896fb +Author: Vikas Gorur +Date: Wed Nov 18 05:20:08 2009 +0000 - libglusterfsclient: Handle CALLOC failure in libgf_init_vmpentry + libglusterfs: Fix error handling in _gf_log. + Unlock the mutex when an error occurs instead of jumping + straight to "out". + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + BUG: 394 (Possible deadlock in _gf_log) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=394 -commit baa85e6b797dd3f3b70772a712599cc3ab8597b5 -Author: Shehjar Tikoo -Date: Wed Sep 9 00:46:28 2009 +0000 +commit 4b233c6341134d11b170fa4cdbafc49246b46975 +Author: Csaba Henk +Date: Mon Nov 16 02:59:04 2009 +0000 - libglusterfsclient: Add inode_ctx NULL check during iattr cache validation + Upgrade FUSE protocol to rev. 7.13 + + 2.6.32 will feature FUSE proto 7.13 which lets us tune the maximal number of + in-kernel backgrounded requests via INIT. + Hereby we live up to this enhancement. + + Signed-off-by: Csaba Henk Signed-off-by: Anand V. Avati - BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + BUG: 385 (Upgrade FUSE protocol to rev. 7.13) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=385 -commit 3c6cc99f3ab51b05d57bfe2b68f459a5c4b7cb20 -Author: Shehjar Tikoo -Date: Tue Sep 8 23:40:36 2009 +0000 +commit 0c7597a1339f1a6762505cfe7292202a0db196a6 +Author: Raghavendra G +Date: Fri Nov 13 16:08:15 2009 +0000 - libglusterfsclient: Enhance logging + transport/ib-verbs: fix race-condition resulting in freeing of transport while it was still being used. + + - while handling a failed work completion status, the transport is + disconnected. But further down in the code, the transport is still + used. There can be a possibility that transport might've been freed + by the time control reaches this point. More detailed description of + events leading to this situation can be found at + http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=381 + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 210 (libglusterfsclient: Enhance logging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + BUG: 381 (glusterfs crash in ib-verbs) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=381 -commit 6601576e141a78e22a8469e80c434ce05576379f -Author: Shehjar Tikoo -Date: Tue Sep 8 23:40:25 2009 +0000 +commit d67322fdfa27746f82fb6e37ffe57efde9bfa021 +Author: Raghavendra G +Date: Fri Nov 13 16:07:50 2009 +0000 - booster: Enhance booster logging + transport/ib-verbs: synchronize ib_verbs_recv_completion_proc with ib_verbs_receive so that the former doesn't overwrite the pointer from which latter reads. + + - There can be a condition wherein, + 1. the thread executing ib_verbs_recv_completion_proc (thr 1) stores the + buffer pointer and notifies the upper translators about a POLLIN event. + 2. the thread waiting for events on socket (thr 2) calls transport_receive, + but in ib_verbs_receive it has not still read the data. + 3. thr 1 receives work completion event for another work request and + overwrites the buffer pointer. + 4. thr 2 reads from the new pointer there by missing the data stored in + buffer pointed by pointer which got overwritten. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 210 (libglusterfsclient: Enhance logging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + BUG: 382 (Data can be lost before it is read in ib_verbs_receive.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=382 -commit 1ad5952aaf29585d5349cc636261306ab7701619 -Author: Vikas Gorur -Date: Tue Sep 8 05:07:02 2009 +0000 +commit 63e966d8c466599f84affb55fbedfb39e2a0068f +Author: Amar Tumballi +Date: Sun Nov 15 21:39:20 2009 +0000 - cluster/afr: Check op_ret in afr_getxattr_cbk before accessing dict + fixing a crash in posix (on 32bit) + + fd_ctx_get () was getting passed with type punned argument, now + corrected by passing the right argument, and doing the typecasting + later + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 250 (Crash in replicate getxattr) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=250 + BUG: 383 (glusterfs server crash on 2.0.8) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=383 -commit 06a885f70154720da0bcb77199312500998ba29b -Author: Raghavendra G -Date: Thu Sep 3 04:42:05 2009 +0000 +commit 91f8b2a1668a4c63e0c21df4f7ac6dfb506f79d7 +Author: Amar Tumballi +Date: Fri Nov 13 14:00:40 2009 +0000 - performance/write-behind: hold locks when accessing members of wb_file. + fixes in stripe + * fix in stripe readv, so that a read request which falls in + two (or more) subvolumes, depending on stripe-size works fine. + * fix in stripe_setattr_cbk, where 'postop' stat structure was + returning wrong 'st_size'. + + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 243 (Hold locks when accessing members of wb_file_t.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=243 + BUG: 368 (setattr on a non-regular file makes glusterfs crash) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=368 -commit 0281283ee0e27b26c2f30f0434a23a4269e147cf -Author: Raghavendra G -Date: Wed Sep 2 04:53:42 2009 +0000 +commit 3c6647577f81568b7ad5cbf7435ef98aaa79e00a +Author: Vijay Bellur +Date: Fri Nov 13 13:13:09 2009 +0000 - performance/write-behind: communicate back the errors in writes to servers in the next immediate writes from application. + mount/fuse: Assign the right inode to fuse_entry_out in fuse_create_cbk(). + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - 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 + BUG: 380 ([3.0.0 pre1] Crash in fuse_create_cbk) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=380 -commit 2b334a49ae0e8b26c49fe2545a6a17c59e11cd7b -Author: Raghavendra G -Date: Tue Sep 1 05:45:03 2009 +0000 +commit 5c9a8a92edbd011e4fd5ec8e5f77eb13d7d8b771 +Author: Anand Avati +Date: Fri Nov 13 07:53:06 2009 +0000 - libglusterfsclient: handle intermediate path components which are symlinks properly in glusterfs_glh_realpath. - - - while building the realpath, if the intermediate path happens to be a - symbolic link, the content of link was being appended at dirname (path), - instead of appending to intermediate path. + protocol/client: preserve open/create flags in fdctx for reopening + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 237 (If any of the path component other than the last one, happens to be a symbolic link glusterfs_glh_realpath does not construct correct path.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=237 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit c0c54cd9feeff6093c78027fade26379838e9899 -Author: Raghavendra G -Date: Tue Sep 1 00:32:40 2009 +0000 +commit 410909f31704db212174dff874f71621c3cb0576 +Author: Harshavardhana Ranganath +Date: Thu Nov 12 04:06:04 2009 +0000 - libglusterfsclient: handle paths terminating with '/' properly in libgf_trim_to_prev_dir. + Disabled centralized logging by default. + Signed-off-by: Harshavardhana Signed-off-by: Anand V. Avati - BUG: 236 (Stack overflow due to infinite recursion in glusterfs_glh_realpath) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=236 + BUG: 366 (Infinite loop with centralized logging.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=366 -commit 7b3cad9869118386afd8b5f13ab2cff5d6190b7b +commit adebbb2ba19e52b194a4050c2e43a6c92f19c605 Author: Raghavendra G -Date: Tue Sep 1 00:25:05 2009 +0000 +Date: Wed Nov 11 14:26:10 2009 +0000 - libglusterfsclient: handle failures in glusterfs_glh_realpath + performance/quick-read: set return value to zero after successful init. + Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati - BUG: 235 (Handle failures in glusterfs_glh_realpath appropriately) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=235 + 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 -commit 1d47c41f048194cd754d97391b5c490446fe6fa2 -Author: Raghavendra G -Date: Tue Sep 1 00:24:49 2009 +0000 +commit 0486b355db0c014f49662ed593a7ab7e74c2cb59 +Author: Pavan Sondur +Date: Thu Nov 12 03:23:27 2009 +0000 - libglusterfsclient: check for memory allocation failure in glusterfs_glh_realpath. + mount/fuse: Prevent a hang on the mount point if no server is up when the client is started. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 235 (Handle failures in glusterfs_glh_realpath appropriately) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=235 + BUG: 373 (Spawn fuse thread after a parent_up and wait and block until child_up) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=373 -commit 83a245fda0739a5ed4253fe2c701ca58061f5324 -Author: Raghavendra G -Date: Tue Sep 1 03:54:21 2009 +0000 +commit 2e7fc582cd590f747b0d3cae3d38bbbccffe6a25 +Author: Vikas Gorur +Date: Thu Nov 12 06:27:05 2009 +0000 - libglusterfsclient: handle symlinks properly in glusterfs_glh_opendir. + extras/glusterfs-volgen: Make the script more user-friendly. - - exclude symbolic links from set of filetypes to which ENOTDIR is returned, - since a symbolic link can point to a directory. + Error messages now print more detail. + Details of export/mount files written is also printed. + + Also adds a new option '--version'. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 234 (Apache-2.2 on booster returns HTTP_FORBIDDEN for a directory which is present) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=234 + BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit 302d310c82cf55ca178c13a9947eaea9c543a2ea -Author: Raghavendra G -Date: Mon Aug 31 23:59:24 2009 +0000 +commit 53fd5927ea0dc2f7c9cd019002abdc3751135dcd +Author: Vikas Gorur +Date: Thu Nov 12 08:40:37 2009 +0000 - libglusterfsclient: fix to the way symbolic links are handled in glusterfs_glh_realpath. - - - don't assume the content returned by readlink while constructing realpath - of a symbolic link to contain vmp as part of the path. This is necessary in - case of symbolic links which contain relative paths as targets. + cluster/afr: Fix self-heal loop driver termination logic. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 233 (Crash in Apache running on booster when a client tries to access a symbolic link) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=233 + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit f87b1481699bcfab8fd7b8768a9afa4cba85ad33 +commit 26fbaa23cafee4643b7604660762656c4a71684b Author: Vikas Gorur -Date: Mon Sep 7 03:19:17 2009 +0000 +Date: Thu Nov 12 08:44:16 2009 +0000 - storage/posix: Handle setgid bit on directories correctly + cluster/afr: Ensure directory contents are in sync during opendir. - If a directory has the setgid bit set, then any entry - created under it must have group ownership same as - the directory. + The problem: If some files on the first subvolume disappeared + without leaving a trace in the entry changelog (this can happen, + for example, when an fsck has deleted files or when a hard drive + is replaced), those files would never be self-healed even though + they would be present on the second subvolume. This is because + readdir is sent only to the first subvolume, and since the files + don't appear in the directory listing, no lookup would ever be + sent on them. + + This patch fixes this problem by doing a readdir on all the subvolumes + during the first opendir on a directory inode. If a discrepancy in the + contents is detected, entry self-heal in a special "force merge" mode + is triggered on that directory. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 241 (Gluster not honouring SETGID flag) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=241 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit 97afc25cc7580df67fd65f41b086e33a45787887 -Author: Raghavendra G -Date: Mon Aug 31 22:37:40 2009 +0000 +commit 4717e5279e169a36a870a267039e788cf22602a8 +Author: Vikas Gorur +Date: Thu Nov 12 08:44:15 2009 +0000 - ib-verbs: handle failure of ibv_create_qp gracefully. + cluster/afr: Refactored inode context bitmasks. + Defined symbolic constants for the bit masks and + made 'split-brain' a single bit field in the ctx. + + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 217 (crash in ib_verbs_create_qp) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=217 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit 2e96535c05a114fbefeb3c51cd29217176d61c65 -Author: Shehjar Tikoo -Date: Fri Aug 28 00:14:47 2009 +0000 +commit b526009f2f5ad813ec88602a3d4fd2ff322809a0 +Author: Vikas Gorur +Date: Thu Nov 12 08:44:14 2009 +0000 - libglusterfsclient: Compare compcount with path not maxentry + mount/fuse: Do readdirp in fuse_readdir. - When searching for an exact entry we need to compare the - component counts in the candidate VMP and the count in the - path being searched. This is opposite to the current - situation where we compare the component count in VMP - and the component count in maxentry, which will always - be same. + Do the readdirp FOP in fuse_readdir. This is needed because + dht_readdir is not "reliable", whereas dht_readdirp is. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 209 (VMP parsing through fstab has issues) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit 21d3084bc6b0ce572fc4136446d45c8ac0f647f8 -Author: Shehjar Tikoo -Date: Fri Aug 28 00:14:38 2009 +0000 +commit 84a50d45b4502d7efb842b41560f4ae5d62e3d78 +Author: Vikas Gorur +Date: Thu Nov 12 08:44:13 2009 +0000 - libglusterfsclient: Enhance VMP searching logic + cluster/dht: Do readdir in dht_readdir instead of readdirp - Another attempt to enhance searching for VMP entries. - There was a problem of returning the longest prefix match - from all the VMPs without checking whether the number of - matched components were same as the number of components - in the candidate VMP. + The readdir call will not be used by applications (fuse will + only ever send readdirp), but it will be used by + afr to do directory self-heal at the time of opendir. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 209 (VMP parsing through fstab has issues) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + BUG: 249 (Self heal of a file that does not exist on the first subvolume) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=249 -commit 19de82a5caf0c6ec3ca09cb5b9a5f186fa9e78ee -Author: Shehjar Tikoo -Date: Fri Aug 28 00:14:28 2009 +0000 +commit 18d85b59b9e8cc422c06e3ea94694d0cb2d26e1b +Author: Amar Tumballi +Date: Thu Nov 12 19:48:54 2009 +0000 - booster: Support backward compatible options + fix a crash in debug/trace + stat structure (which is an argument to function) was getting freed + instead of string which actually should have freed. + + Signed-off-by: Amar Tumballi Signed-off-by: Anand V. Avati - BUG: 209 (VMP parsing through fstab has issues) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + BUG: 378 (trace segfault in trace_create_cbk) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=378 -commit d01487e9b8bc056adf611201a6a3b8f48c7af7f8 -Author: Raghavendra G -Date: Wed Aug 26 05:32:09 2009 +0000 +commit f9bb9dee5f92d50c4e87995680198e488a4f50ce +Author: Anand Avati +Date: Fri Nov 13 02:58:58 2009 +0000 - libglusterfsclient: return -1 with errno set to ENOSYS for apis which are not implemented. + protoocl/client: file directory reopen support + reopen files and directories which were open before a disconnection after + reconnecting. operations on files/directories which could not be opened + continue to return EBADFD + + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 229 (For apis which are not implemented return correct values with errno set appropriately) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=229 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 246abbe2f95d2492a8b57c8210fbdc3511d7a4f4 -Author: Raghavendra G -Date: Wed Aug 26 05:07:34 2009 +0000 +commit 590e5879f819018aee63b800b0f66fd6ff49641d +Author: Anand Avati +Date: Fri Nov 13 02:58:25 2009 +0000 - libglusterfsclient: don't use pointer returned from basename to free allocated memory. + protocol/client: whitespace cleanup + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 228 (Segmentation fault in glusterfs_getxattr) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=228 + BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 -commit 33b93a6e9ac82b92d0bca8275ed385740ceca5ec -Author: Amar Tumballi -Date: Mon Aug 17 19:01:50 2009 +0000 +commit 63ece0f8bc81c2ec145465ff132a18ca47e50be5 +Author: vinayak hegde +Date: Wed Nov 11 22:52:01 2009 +0000 - changed booster fstab to parse the arguments same as mount.glusterfs + cluster/stripe: Initialize frame->local before checking for directory or regular files. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 209 (VMP parsing through fstab has issues) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + BUG: 368 (setattr on a non-regular file makes glusterfs crash) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=368 -commit 6e90ebabd5f32233a1c01ee6edd2a2b88bcd38fd -Author: Amar Tumballi -Date: Thu Aug 20 18:36:04 2009 +0000 +commit 15a6e0be9bc1c56bd2a0a67c926b01f2f8631ae4 +Author: vinayak hegde +Date: Wed Nov 11 07:13:06 2009 +0000 - protocol/client: 'connecting' event is properly notified. - - when there are no servers available to client, and transport init is - not successful, send 'connecting' event once to parent so it doesn't - hand in there. + cluster/stripe: Set local->inode value before referring it. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 224 (Client hangs if none of the servers are up) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=224 + BUG: 362 (GlusterFS crash while doing mkdir in stripe setup) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=362 -commit 0187de2869f03614f99e61adf9c88f3e0bfb307d -Author: Krishna Srinivas -Date: Sun Aug 16 14:34:08 2009 +0000 +commit 8b8691ef70f37d42100f502604ef94b8b9e5f5f8 +Author: Vijay Bellur +Date: Tue Nov 10 02:32:50 2009 +0000 - in server_rename if we do_path_lookup on the newloc and parent directory is not found, the server crashes. + cluster/stripe: local was not being set in stripe_mknod_ifreg_setxattr_cbk() + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati + + BUG: 367 (GlusterFS crash while doing mknod in stripe setup) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=367 -commit 86f2f049902315b6ae833b54731699a801f9374b -Author: Anand V. Avati -Date: Mon Aug 17 15:00:01 2009 -0700 +commit 9bbe8d4cd989d331409e174cefd38caed41b0ea0 +Author: Shehjar Tikoo +Date: Mon Nov 9 14:17:34 2009 +0000 - Add BRANCH:release-2.0 tag. Master patches come without a BRANCH: tag + core: Replace inode_search with inode_grep in inode_from_path + + This fixes a situation where the inode_from_path fails to + return an inode even though the inode exists in the table. + + Signed-off-by: Shehjar Tikoo + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 9906bd585419a77259f192edb2fbf0fb8e04cf7f -Author: Csaba Henk -Date: Mon Aug 17 03:55:02 2009 +0000 +commit c1bf268b28d5d5959295cf1a22bdb71d0a6a9687 +Author: Sachidananda +Date: Mon Nov 9 08:33:25 2009 +0000 - fuse: don't say "Success" when mount fails + Add unhashed-sticky-bit option to volume_options structure + Signed-off-by: Sachidananda Signed-off-by: Anand V. Avati - BUG: 219 (Error message incorrect when fuse_mount() fails) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=219 + BUG: 365 (unhashed-sticky-bit is not recognized) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=365 -commit 63218f025ee679babcf0ed916f9e43fc58d91aee -Author: Amar Tumballi -Date: Tue Aug 4 19:41:13 2009 +0000 +commit ef078a335980b5962239556e9b3a98f589662337 +Author: Pavan Sondur +Date: Wed Nov 4 01:23:18 2009 +0000 - added log message when server fails to send the reply frame + Add glusterfs-volgen to master, change fusermount options and other changes to rpm spec file. - As of now, if a frame submit fails on server, there are no logs, - and clients will have missing frames (which leads to 'hangs'). - Supporting situation like this very tricky without proper log - messages. As a step to make our log message lean and meaningful, - this log is important. + The patch has the following changes: + * Rename glusterfs-volgen.py and include it in the rpm spec file + * Enable fusermount by default. Change fusermount configure option from disable to enable. + * Remove BDB from configure.ac, essentially removing it from the normal build. + * Remove all dependencies on fuse in the rpm spec file. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 190 (missing frames due to larger reply message size.. (ib-verbs)) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190 + BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit 33c5ddbdac409dcb31fee4f26608b27ed1237949 -Author: Raghavendra G -Date: Sat Aug 8 12:17:04 2009 +0000 +commit e98020d5f6f2f22f09d2c21d80ad8ceb6ae46284 +Author: vinayak hegde +Date: Wed Nov 4 23:36:35 2009 +0000 - filter: use O_ACCMODE for checking file access modes. + performance/stat-prefetch: In lookup_cbk do not set error no to EINVAL, when inode_ctx_get returns -1. + Signed-off-by: vinayak Signed-off-by: Anand V. Avati - BUG: 196 (write-behind window size getting set to 0.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=196 + 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 -commit b28a47cea459658ae6a2c8a4126614ec04170a16 -Author: Raghavendra G -Date: Sat Aug 8 12:16:25 2009 +0000 +commit f98e7524b4c442ae08c3a335d412b1eeccb5863b +Author: vinayak hegde +Date: Thu Nov 5 02:54:27 2009 +0000 - read-ahead: use O_ACCMODE for checking file access modes. + cluster/afr: In fop structure afr_readdirp is not correctly registered. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 196 (write-behind window size getting set to 0.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=196 + 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 -commit eb25bfe02562b229600a1c23149868432992cf2f -Author: Raghavendra G -Date: Sat Aug 8 12:11:15 2009 +0000 +commit add4dd9623de51dd67ecb8450ad1a57894d92dc2 +Author: vinayak hegde +Date: Thu Nov 5 02:53:48 2009 +0000 - write-behind: use O_ACCMODE while checking for O_RDONLY in flags. + performance/stat-prefetch: In sp_readdir_cbk op_ret value is not handled. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 196 (write-behind window size getting set to 0.) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=196 + 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 -commit c2caeffbc6e1a3b9cb43237ecac105008561e8d6 -Author: Shehjar Tikoo -Date: Thu Aug 13 02:56:18 2009 +0000 +commit e151ab3ed4718606767146f18b416f8900552fbc +Author: vinayak hegde +Date: Thu Nov 5 02:53:03 2009 +0000 - libglusterfsclient: Sync access to VMP list on new entry addition - - Some weeks back, I'd separated the big lock into vmplock and mountlock. - See commit 304e4274ca9b0339539581c5413e3339078c1182 in mainline. - - At that time, we did not have a solution to the problem - of when to init the vmplist in a thread-safe manner, since - there was no lock to protect the vmplock specifically, and that - when libgf_vmp_map_ghandle was called inside glusterfs_mount - so the "lock" was already being held. - - Now that we have separate mount and vmp locks, the - accesses can be synced correctly. + libglusterfs/src/gf-dirent.c: In gf_dirent_nb structure d_name should be char array of size 1. + Signed-off-by: Vinayak Hegde Signed-off-by: Anand V. Avati - BUG: 211 (libglusterfsclient: Race condition against vmplist in libgf_vmp_map_ghandle) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=211 + 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 -commit b27a4334b5926266ea2a87116010a6b510f1f029 -Author: Shehjar Tikoo -Date: Thu Aug 13 02:56:17 2009 +0000 +commit 47da643a0e9d8786489fe3173de318732556b6f0 +Author: Pavan Sondur +Date: Wed Nov 4 02:03:05 2009 +0000 - libglusterfsclient: Enhance VMP search logging + Do not abort make install if a chown on the fuser-mount script does not succeed. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 210 (libglusterfsclient: Enhance logging) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit 467d87898ae1cb34ba8f35819097fe8a76aa36c7 -Author: Shehjar Tikoo -Date: Thu Aug 13 02:56:16 2009 +0000 +commit 7bd570a007202e6eb505091dba611b8320633a26 +Author: Pavan Sondur +Date: Tue Nov 3 11:08:32 2009 +0000 - libglusterfsclient: Use components for VMP searches - - Till now, we've been doing a character by character comparison - between a given path and the VMP, to search for the glusterfs - handle for the given path. - - This does not work for all cases and has been a known bug. - This commit changes the byte-by-byte comparison into a more - accurate component based comparison to fix search - failures. + Remove fuse_lowlevel.h from xlator.h in libglusterfs. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 209 (VMP parsing through fstab has issues) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit c09dfc5f604271ecda9acf596b011dc639db2ddf -Author: Vikas Gorur -Date: Tue Aug 11 04:59:29 2009 +0000 +commit 612aed4b6aab7447195c7e6715bbbf257b4c62f2 +Author: Shehjar Tikoo +Date: Wed Nov 4 00:15:20 2009 +0000 - features/locks: Fix reverse logic in posix_lock_to_flock - - if the lock's end point is LLONG_MAX, the corresponding - struct flock's len must be 0. + libglusterfsclient: Dont alloc root inode context - Previous code had LLONG_MAX and 0 reversed. + ....because the lookup on root inode done a few lines before this + call already allocates an inode context. This one just over-writes + that context, results in invalidation of the cached iattrs. + Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati + + BUG: 354 (Stale file handle on unfs3 booster) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=354 -commit eed9ed130dd0168a669bd3df03fc0b68a989165d -Author: Vikas Gorur -Date: Tue Aug 11 01:43:33 2009 +0000 +commit f04b9fcfeb9b459552207031d003f801189d1cea +Author: Shehjar Tikoo +Date: Wed Nov 4 00:15:19 2009 +0000 - mount/fuse: Don't log setlk returning EAGAIN as a GF_LOG_ERROR. + libglusterfsclient: Prevent root inode number clobbering + Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati + + BUG: 354 (Stale file handle on unfs3 booster) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=354 -commit 516b21c238394bd55b6ac770abec53cc5a1c9c4f +commit 51d105d63fa82dae5465d19598b489d453b3a902 Author: Vikas Gorur -Date: Tue Aug 11 01:42:14 2009 +0000 +Date: Tue Nov 3 10:17:07 2009 +0000 - features/locks: Set the right log level in a few places. + cluster/afr: Bail out of the self-heal driver loops as soon as possible + + Don't wait for the next recursive call to sh_{full,diff}_loop_driver + to decide that we've reached the end of file, as the frame could + have been destroyed by that time (if subvolumes are posix). + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati + + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 028e584b205faf7f136c8846913335c04e174074 -Author: Harshavardhana Ranganath -Date: Mon Aug 10 02:17:43 2009 +0000 +commit cd7a02533dbbc192cc117037cf39848d55210c83 +Author: Pavan Sondur +Date: Tue Nov 3 09:23:03 2009 +0000 - glusterfs log prints "TLA Revision" tag, remove it and reflect git instead + Remove unnecessary log message. It also accesses a freed lock after an 'unlock'. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati + + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 -commit 8dfdde57b38576270dd54f610b80f1288a16f09b -Author: Vikas Gorur -Date: Thu Aug 6 07:37:17 2009 +0000 +commit 2bda225433762f78c09c2a751b321eb9d94c37c6 +Author: Corentin Chary +Date: Tue Oct 27 12:57:35 2009 +0000 - Filter changelog xattrs in replicate + transport/name.c: refine the address resolution logic when listen-host is not specified. - The AFR changelog xattrs, "trusted.afr.*" are now - filtered and prevented from being visible on the - mountpoint. + - when listen-host is not specified and there are are no interfaces having + adresses belonging to the address-family specified, listen at 0.0.0.0/::0. + - this patch is necessary since with AI_ADDRCONFIG, getaddrinfo fails if there + are no active interfaces for the address family specified and when + listen-host is specified we still want the functionality provided with + usage of AI_ADDRCONFIG. + Signed-off-by: Corentin Chary Signed-off-by: Anand V. Avati - BUG: 9 (replicate's pending xattr's should not be visible on the mountpoint) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=9 + BUG: 339 (glusterfsd fails to start when there are no active interfaces having address in the address family configured.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=339 -commit 2be295d30acd61a919796227fef71f2757f88440 -Author: Anand Avati -Date: Thu Aug 6 21:51:33 2009 +0000 +commit 2a62b1748edcb8319e6ce36e72717c8154635db6 +Author: Sachidananda +Date: Tue Nov 3 08:38:25 2009 +0000 - protocol/client: fixed registration of saved_fds - - In client_open_cbk, client_opendir_cbk the list_add_tail macros were invoked with wrong - ordered arguments, causing the existing registered fd list to get unlinked from the - saved_fds list. The effects of this is far fetched - when transport disconnects, open - fds are no more marked bad as they are not reachable from the saved_fds list. After - reconnection, resumed access on this fd causes reference to invalid fds on the server. - It could appear in the form of 'unresolved fd' error, readdir happening on a file fd, - files reading from other files, etc. + Wrong variable is checked after stat call. + Signed-off-by: Sachidananda Signed-off-by: Anand V. Avati - BUG: 192 (sefault in posix-readdir) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192 - - BUG: 126 (Immediate segfault when used for rootfs) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=126 - - BUG: 173 ([ glusterfs 2.0.6rc1 ] - "server SEG fault") - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=173 - - BUG: 194 (Apache+Booster results in inconsistent download size using wget) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=194 + BUG: 355 (Wrong variable checked after a stat call) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=355 -commit f6ea2b29707d700596f73f3de8b7e09e824327d1 -Author: Anand V. Avati -Date: Thu Aug 6 00:57:44 2009 -0700 +commit c1aa64729130aab9b58925871768d6c9c7d6a4ba +Author: vinayak hegde +Date: Mon Nov 2 23:41:26 2009 +0000 - Removed BRANCH: tag + configure.ac: Before checking for libglusterfsclient BUILD_LIBGLUSTERFSCLIENT should be initialized to no. + + Signed-off-by: Vinayak + Signed-off-by: Anand V. Avati + + BUG: 353 (./configure adds libglusterfsclient when it shouldn't) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=353 -commit bd56475921ef36effb162161b4d6423d7ac8e3f0 -Author: Amar Tumballi -Date: Tue Aug 4 18:34:15 2009 +0000 +commit 7269a745125d46d52f31a4550136690fd0166355 +Author: Vijay Bellur +Date: Mon Nov 2 03:24:10 2009 +0000 - server-lookup: added path info from header to log message - - in the previous commit, the path info was removed to prevent the - segfault, which instead could have been provided from request - header directly. More specific information is required for debugging, - and hence adding the path log. + storage/posix: Changed error message displayed for option background-unlink. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 189 (segfault in server-lookup) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189 + BUG: 352 (Wrong message logged for option `background-unlink') + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=352 -commit 925534952d05f828113ec45ff5c60294b76ef190 -Author: Anand Avati -Date: Tue Aug 4 18:15:22 2009 +0000 +commit f8a56c6322d729fcdb96c754dd421fffb025e3bb +Author: Vijay Bellur +Date: Mon Nov 2 00:34:10 2009 +0000 - dht_stat_merge - use the highest uid when ambiguous + features/locks: Do not try to set value in dict when lookup has failed. - When directories on different subvolumes have different ownerships, use the highest uid/gid till self-heal resolves the inconsistency + lock-count was being set without checking for op_ret from lookup. This would + cause a lot of Critical messages in the log as dict would be NULL in case + of a lookup failure. + + Also, removed some trailing white spaces and did some minor re-factoring. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 191 (random Permission denied errors) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=191 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit b834320d168feb54cf62bb1c0ae5af6f2704385e -Author: Amar Tumballi -Date: Tue Aug 4 18:14:30 2009 +0000 +commit b4b20984721e169763a5ac26ffb9353d1ca3568a +Author: Vikas Gorur +Date: Fri Oct 30 05:27:50 2009 +0000 - add check for making sure 'fd' belongs to directory in posix-readdir + cluster/afr: Don't try to self-heal if there are locks held - The root cause of this error is not found yet. But this check will - make sure that there is no crash when the situation happens. - Segfault can happen when a readdir() call comes over file's fd. + If the inodelk_count or entrylk_count is positive on a + file/directory, don't try to do self-heal on it. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 192 (sefault in posix-readdir) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192 + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit a313fd6657cb4a5310399edebe1f0c666e6a8d00 -Author: Amar Tumballi -Date: Tue Aug 4 17:00:17 2009 +0000 +commit 2b610a095febf0e89e5341c575b5579c78a009a3 +Author: Corentin Chary +Date: Thu Oct 15 06:32:41 2009 +0000 - adding an option to mount.glusterfs for server failover while fetching volume files. - - Thanks to Cory Meyer - - With this option, 'single point of failure', in case of volfile server can be - avoided. + volgen: remove trailing whitespace + Signed-off-by: Corentin Chary Signed-off-by: Anand V. Avati - - BUG: 185 (Request to support secondary volfile-server option in mount.glusterfs) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=185 -commit fce2911e29e68bc3bf6fed2a68761877eda2156c -Author: Amar Tumballi -Date: Tue Aug 4 14:50:07 2009 +0000 +commit ef79f934c38743f3618c00bc24043a484f284a47 +Author: Corentin Chary +Date: Thu Oct 15 06:32:40 2009 +0000 - increased ib-verbs buffer size + volgen: Add conf-dir option - Noticed that in few cases, where ib-verbs doesn't handle a bigger - sized buffer to be sent across, which happens without problem in - tcp. Caused frame losses in the case where server's reply msg was - bigger, hence the msg got dropped at the server end. With this patch - ib-verbs buffer size is fixed to 512KB. (4 x page-size) + Add a conf-dir option to change the output directory for + generated files. + Signed-off-by: Corentin Chary Signed-off-by: Anand V. Avati - - BUG: 190 (missing frames due to larger reply message size.. (ib-verbs)) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190 -commit 736624b3b930ecf0848bb3631af53df9d0b66f65 -Author: Amar Tumballi -Date: Tue Aug 4 14:40:27 2009 +0000 +commit 0e7875dbf8f70904257725fd4d2be30333da84a2 +Author: Shehjar Tikoo +Date: Fri Oct 30 03:43:54 2009 +0000 - logging related bug fix in server_lookup() - - When 'dict_unserialize' failed, the log message was trying to - print 'state->loc.path' and 'state->ino', which gets filled in - later stages in flow. Caused segmentation fault when there was - a failure. + core: Use parent for condition to create dentry not name + Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati - BUG: 189 (segfault in server-lookup) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189 + BUG: 348 (touch on booster segfaults) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=348 -commit 3641846fa58210617c28f56b9713652f1a6dd798 -Author: Vikas Gorur -Date: Tue Aug 4 04:40:04 2009 +0000 +commit 44f6b7a54224dde7e1663f435f05a6a5cac25a7b +Author: Shehjar Tikoo +Date: Fri Oct 30 03:28:40 2009 +0000 - cluster/afr: inode-read: Check stat buf for NULL before attempting to set inode number. + booster: Must check errno for error number not return value + Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati - BUG: 184 ([ glusterfs 2.0.6rc2 ] - Client Segfault while running fs-perf-test) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=184 + BUG: 346 (booster returns success on failed getxattr and lgetxattr) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=346 -commit 48b027c82322ef8c34c16e3da03a3375de3fe699 +commit 10cddf14e9f7a7446ea48bedb07ee9e7d0f21e4f Author: Shehjar Tikoo -Date: Fri Jul 31 12:37:40 2009 +0000 +Date: Fri Oct 30 03:28:39 2009 +0000 - libglusterfsclient: Bind fd on fd creation code paths + core: Check for NULL to avoid segfault - When an fd_t is fd_create'd, we need to call fd_bind on it to - ensure that any fd_lookup on the inode gets us this fd. We're not - doing this so translators like write-behind were not able to order - path-based requests at all resulting in some fops like stat, which - could be issued after a writev, overtaking a previous writev which - is still being written-behind. + A segfault as a result of this was observed during tests. + Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati - BUG: 179 (fileop reports miscompares on read tests) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=179 + BUG: 348 (touch on booster segfaults) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=348 -commit cc58f457acfc452d8076b273c9bdab6cf0f9bb29 +commit e6fc0cbe716a18f02891d3911481fdcb121d8840 Author: Shehjar Tikoo -Date: Fri Jul 31 04:15:13 2009 +0000 +Date: Fri Oct 30 03:28:38 2009 +0000 - libglusterfsclient: Invalidate iattr cache on reads - - Earlier we have invalidated the iattr cache on writes. Now - we need to do so for reads also, so that we are not updating - the iattr cache with 0-filled stat received from io-cache. + booster, libglusterfsclient: Support samba specific relative paths + Signed-off-by: Shehjar Tikoo Signed-off-by: Anand V. Avati - BUG: 180 (fileop fails at chmod with stale file handle error over unfs3) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=180 + BUG: 158 (libglusterfsclient: Applications are restricted to using absolute paths) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=158 -commit 5e3ca250dd50f5723bc6a2034c0d637f6cfd941d -Author: Raghavendra G -Date: Thu Jul 30 07:41:06 2009 +0000 +commit 5d9a4d81b3928e6af15aaeb7fab18fb451f7abcc +Author: Anand Avati +Date: Fri Oct 30 03:15:19 2009 +0000 - afr: fix afr_utimens to wait for success of utimens on atleast priv->wait_count children. + iobuf: initialize size without 4KB padding - - need_unwind was initialised to 1 in afr_utimens_wind_cbk causing replicate - to unwind just after first reply, irrespective of whether it was a success - or failure. + since new fuse bridge takes care of landing write buffers to aligned iobufs + and the 4KB header padding is no more necessary + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 71 (dns failure causing "Transport endpoint is not connected") - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=71 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 65c03aa578340e78bd828f1f1aae991ef0cdc448 -Author: Shehjar Tikoo -Date: Thu Jul 30 12:04:54 2009 +0000 +commit bee7b8877dfbc321637e00106c073fecdd0847f0 +Author: Anand Avati +Date: Fri Oct 30 03:15:02 2009 +0000 - replicate: Return ino from first subvolume on inode creation fops + glusterfsd: whitespace cleanup + Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati - BUG: 177 (replicate: On file/dir creation, replicate returns inode from random subvolumes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=177 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit c8765d4d807cc9e63c8d96a568fc05002fa7cbd3 -Author: Shehjar Tikoo -Date: Thu Jul 30 12:04:26 2009 +0000 +commit ef2d6b3449ab9cf0cf653b7b84595521db63a412 +Author: Raghavendra G +Date: Fri Oct 30 01:26:19 2009 +0000 - libglusterfsclient: Use iobufs for storing application write data + libglusterfsclient: don't do inode_link on root inode. - Till now we've been creating an iovec, storing references in it - to the application data and simply passing it on to the translator - tree. This means that the buffer being passed to the translators is - not at all associated with the memory ref'd by the iobref argument - to write fop. This is a problem when write-behind is a translator in - the tree since it assumes that the memory in the iovecs passed to - write fops is already refcounted by the iobref and so it simply copies - the address of the application data. The problem is that the application - can continue using this buffer, free it or over-write it destroying the - data that write-behind may write at a later time. + Signed-off-by: Raghavendra G + Signed-off-by: Anand V. Avati - The solution involves copying the application's write buffer into - an iobuf which will be referred to by the iobref. + BUG: 348 (touch on booster segfaults) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=348 + +commit 8345b6448d292a8da4464debb4dc65b55f1f6eeb +Author: Raghavendra G +Date: Fri Oct 30 00:10:20 2009 +0000 + + performance/io-cache: change the data-types to be big enough to hold size of data flushed. Signed-off-by: Anand V. Avati - BUG: 178 (libglusterfsclient: Data corruption on using write-behind in translator tree) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=178 + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit bf93ef3c5d352f68d718e48ab2b5037b8b369413 -Author: Shehjar Tikoo -Date: Wed Jul 29 08:03:24 2009 +0000 +commit e16f05a6d1f756f16e363d93f432f950901cf777 +Author: Pavan Sondur +Date: Fri Oct 30 01:45:20 2009 +0000 - booster: Fix fd leak due to incorrect NULL check + Fix logic while granting blocked entrylks, which could run into an infinite loop. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 174 (booster: fd_ts, they are a leakin) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174 + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 -commit e097c572b82a9c24b33d9eb00b87204ba44d6267 -Author: Amar Tumballi -Date: Mon Jul 27 16:49:14 2009 +0000 +commit c68255daa11937b7f91de11f8d4361d798aa8cbc +Author: Anand Avati +Date: Thu Oct 29 22:53:57 2009 +0000 - server-protocol: fix in server-loc-fill() - - to continue with 'hashed' inode, even if inode_path() on the inode - fails. This will is needed for few lock operations, to unlock the - lock held on inode. (ie, it fixes 'rm -rf *' hang issue, seen from - multiple clients). + call-stub: fix leak of fxattrop dictionary Signed-off-by: Anand V. Avati - 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 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit c6fcc71d720b1cd550a8f1386020567786acf3b2 -Author: Shehjar Tikoo -Date: Tue Jul 28 04:51:15 2009 +0000 +commit 382b4d03ab029a94f29231e19db9996596985bb7 +Author: Anand Avati +Date: Thu Oct 29 22:53:28 2009 +0000 - libglusterfsclient: Fix solaris build error + protocol/server: fix leak of xattrop dictionary Signed-off-by: Anand V. Avati - BUG: 115 (./configure adds libglusterfsclient when it shouldn't) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=115 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 666243d4b665e4e7db08c39fd62d12cabde9f428 +commit d72c47cb04725c694921e7f3277f6230c26bc936 Author: Vikas Gorur -Date: Thu Jul 23 11:25:01 2009 +0000 +Date: Thu Oct 29 05:08:34 2009 +0000 - cluster/afr: Use user-supplied struct flock to STACK_WIND + cluster/afr: Move deleted files to /.trash in entry self-heal. - afr_lk_cbk: - Use the original struct flock supplied by the - user to do further STACK_WIND's, and not the flock returned - by the previous STACK_WIND. + If entry self-heal determines that a file/directory should + be deleted from a subvolume, move that entry to a directory + called "/.trash" on that subvolume. This is for two reasons: + + 1) It limits the damage that can be done by a "wrong" entry + self-heal. + + 2) It solves the problem of a to-be-deleted directory not + being empty. Signed-off-by: Anand V. Avati - BUG: 159 (Client hangs when coherent byte range locks is attempted in replicate setup) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=159 + BUG: 227 (replicate selfheal does not remove directory with contents in it) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227 -commit 4929a0f2fb31570906a4eb795b6c7655d107d3a9 -Author: Basavanagowda Kanur -Date: Fri Jul 24 06:25:53 2009 +0000 +commit 14962ce3e69e452a2447c12cde3369759365fda9 +Author: Raghavendra G +Date: Wed Oct 28 04:46:25 2009 +0000 - protocol/server: add checks for updatation of loc->parent in entrylk() or inodelk(). + performance/io-cache: change the hash function used for rbtree based hash table. - entrylk() and inodelk() should try to update loc->parent only if parent is not-NULL. - because it is not an error to have loc->parent == NULL for entrylk() and inodelk() - operations. + - the earlier hash function does not distribute pages uniformly for offsets that + fit into 32 bits. The reason is that the hash function just xors the contents of + the key 4 bytes at a time with the current value of hash. Hence for keys that + fit into 32 bits, the hash will be the key itself. Since we are using the + rounded_offset (which is a multiple of 128KB) as the key, the key will + be exactly divisible by the number of buckets configured (4096) resolving all + the pages into the first bucket. Signed-off-by: Anand V. Avati - BUG: 162 (Replication segfaults with many nodes) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=162 + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit 698a573bfb167d8d6c51d07089995d861dd7fbd3 -Author: Shehjar Tikoo -Date: Fri Jul 24 09:30:54 2009 +0000 +commit 13e6947744e8a26d2380af200942fd4ed61fd845 +Author: Pavan Sondur +Date: Thu Oct 29 05:06:58 2009 +0000 - libglusterfsclient: Workaround for local memory corruption - - There seems to a reproduceable corruption specifically of - the libglusterfs_client_local_t that is allocated for - the read call. Therefore, the subsequent access to fd inside - local leads to a segfault. This is a temporary fix. + Remove unnecessary check of xattr_req in lookup. + Signed-off-by: Pavan Vilas Sondur Signed-off-by: Anand V. Avati - BUG: 164 (libglusterfsclient: Segfault due to memory corruption of frame local in libgf_client_read) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=164 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit 53438fa2826ea6a5ea9fd9751d797c2875c2dca5 +commit c770322ca4c9ccf50530d6a05ac4107fa1236f60 Author: Vikas Gorur -Date: Mon Jul 27 09:31:45 2009 +0000 +Date: Thu Oct 29 07:32:46 2009 +0000 - cluster/afr: Return same inode number in stat buf for readv_cbk + storage/posix: Serialize do_xattrop. - Remember the inode number that had been returned in lookup_cbk - and set the stat buf->ino to the same. + 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 Signed-off-by: Anand V. Avati - BUG: 166 (libglusterfsclient: Cached stat buf inode is different from ino in inode_t) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=166 + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit 5a41851e86177e82a8d4ae1457972d5011466eef +commit 32c963cfea91e196ee1ebf98a5579989c53fdc6c Author: Vikas Gorur -Date: Mon Jul 27 04:29:26 2009 +0000 +Date: Thu Oct 29 07:32:26 2009 +0000 - cluster/afr: Set inode number in unwind_buf in the inode-write calls. + storage/posix: Refactor xattrop + + Move common code into do_xattrop. + Signed-off-by: Vikas Gorur Signed-off-by: Anand V. Avati - BUG: 166 (libglusterfsclient: Cached stat buf inode is different from ino in inode_t) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=166 + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit 87071f027c47ac04b482527a2be58480b4fd5973 +commit 6e2dba2c418cd09206b390fad0f413fc287b93ee Author: Vikas Gorur -Date: Wed Jul 15 09:36:36 2009 +0000 +Date: Thu Oct 29 09:09:15 2009 +0000 - Return stat from read subvolume in dir-write ops. + protocol/server, mount/fuse: Handle returned inode in create properly + + 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 Signed-off-by: Anand V. Avati - BUG: 138 (create family calls do not return stat buf from read child) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=138 + BUG: 347 (Assertion failed: inode->ref) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=347 -commit c045d4264bb83fb5e5384379aa3a824fe3038dc8 -Author: Vikas Gorur -Date: Tue Jul 14 08:05:14 2009 +0000 +commit c555dcbb3a41f47149035c1d9ea95f67812db8c8 +Author: Vijay Bellur +Date: Thu Oct 29 05:59:44 2009 +0000 - Return stat info from read-child in all the inode-write ops + transport/socket:Enable NODELAY by default for lowlat client and server sockets - Also modifies the inode-write ops to wait for the call - to read-child to return (whether success or failure) - before unwinding. + TCP_NODELAY is enabled by default for lowlat client and server sockets. + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 125 (stat information not returned from the same subvolume always) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=125 - -commit 683fda4bf09c66f2ec7a47a8e4a5f08461031352 -Author: Anand V. Avati -Date: Thu Jul 23 15:38:32 2009 -0700 + BUG: 344 (Add support for TCP NODELAY in master) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=344 - enable libglusterfsclient build by default - -commit bea6b86ef6defba89274ef85667c56cb52c17d7b -Author: Shehjar Tikoo -Date: Thu Jul 23 16:19:26 2009 +0000 +commit c0b5cc88687f4f0b25a411b7d0746dcadb297ce3 +Author: Vijay Bellur +Date: Thu Oct 29 05:58:37 2009 +0000 - libglusterfsclient: Avoid overwrite of inode found through ino number - - In libgf_client_loc_fill, there is a possibility that all - the ino, par and name are specified as non-NULL,non-zero args. - - So if an inode is located in the itable using the ino and the - subsequent search for the inode using the par-ino and the file - name does not result in an inode being found, the current - code over-writes the inode that was found through the ino. The - correct behaviour is to stop further searches if inode - was already found using ino. + protocol/client: Support for TCP_NODELAY + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 161 (unfs3 crashes on link system call by fileop) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=161 + BUG: 344 (Add support for TCP NODELAY in master) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=344 -commit c2733b13aaa6d38eb165e770a936f8bfc19bc685 -Author: Shehjar Tikoo -Date: Thu Jul 23 16:18:43 2009 +0000 +commit 0897c400c0864be252e5d23d41b71779f70eafe4 +Author: Vijay Bellur +Date: Thu Oct 29 05:58:07 2009 +0000 - libglusterfsclient: Fill new loc with target's ino on link - - In the loc_t of the link being created, we must fill in the inode - of the old/target loc since this is a link operation. The - inode_link to the new parent is called in libgf_client_link. - - This fixes a crash while running fileop over a fully-loaded - dist-repl vol file. - Ref: Bugzilla 161 + transport/socket: Support for TCP_NODELAY + Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati - BUG: 161 (unfs3 crashes on link system call by fileop) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=161 + BUG: 344 (Add support for TCP NODELAY in master) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=344 -commit 2add5760c412d85f56a1ca2fc61ca743d1ee2a74 -Author: Shehjar Tikoo -Date: Mon Jul 20 01:25:36 2009 +0000 +commit 82c0df9941abfb4836947fce1ff9da266dbd7499 +Author: Pavan Sondur +Date: Wed Oct 28 17:04:33 2009 +0000 - libglusterfsclient: Fake a fsid for every VMP - - This is needed to work around the replicate behaviour of - possibly returning device number for the same file from - - different subvolumes. + Print inodelks in and out if option trace is on. Signed-off-by: Anand V. Avati - BUG: 148 (replicate: Returns st_dev from different subvols resulting in ESTALE thru unfs3booster) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=148 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit 7b90b90780d3bb5a1b4a1c060fac1d2c4eb2a8dc -Author: Shehjar Tikoo -Date: Sun Jul 19 03:25:45 2009 +0000 +commit 08327b6a6bdb7a3807a9d279b6d5f99686d13b99 +Author: Pavan Sondur +Date: Wed Oct 28 17:04:05 2009 +0000 - libglusterfsclient: Move DHT root-lookup workaround to init - - The workaround for the DHT requirement for a lookup on / - needs to be done only once when the xlator graph is inited. - Doing it on every path's lookup results in a major performance - penalty when using distribute subvolumes upwards of 16, as reported - by Avati. - - Ref: bug 152 + Print entrylks in and out if option trace is on. Signed-off-by: Anand V. Avati - BUG: 152 (libglusterfsclient: DHT workaround is a major performance bottleneck) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=152 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit 20a142f76834668b9e1674010ba5af0b4b441474 -Author: Amar Tumballi -Date: Fri Jul 17 18:38:32 2009 +0000 +commit 03c6fe7f7e51d391beb370d04964af1de9728d28 +Author: Pavan Sondur +Date: Wed Oct 28 17:03:37 2009 +0000 - added timestamp to crash dump log. - - also did some minor enhancements in formating + Trace locks in and out with an option in normal log mode. Signed-off-by: Anand V. Avati - BUG: 151 (crash dump log should be in 'logviewer' friendly format) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=151 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit f4513b4de104f1c6f40f7bbe0a4bd698340db805 +commit 9a62a3747cfcef2db3bc0b630a92f24d9436eeca Author: Anand Avati -Date: Fri Jul 17 15:34:14 2009 +0000 +Date: Thu Oct 29 01:03:09 2009 +0000 - Do not failover readdir in replicate - - Backport of http://patches.gluster.com/patch/561/ to release-2.0 - - Also, the failover version of afr_readdir_cbk is buggy and - crashes when it is called after a failover inevitably + posix: posix_[f]setattr() handle valid=0 case by performing {f, l}chown (-1, -1) Signed-off-by: Anand V. Avati - BUG: 150 (AFR readdir should not failover to other subvolume) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=150 + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 -commit 215b62f1db24bc7ff55d224046e343401d78c38b -Author: Amar Tumballi -Date: Fri Jul 17 14:13:37 2009 +0000 +commit b3b4fc4afb7d206d0a481f3234bf83c768f02aa2 +Author: Pavan Sondur +Date: Wed Oct 28 12:27:54 2009 +0000 - server: don't check for 'loc->parent' in entrylk and inodelk calls - - the lock operation on entry or inode is going to happen on only one - inode, and it doesn't need dentry (with info on parent) for the - lock operation to complete. Hence, in server_{inode,entry}lk() calls - after server_loc_fill, we -should not- be checking for parent inode. + Implement lookup in locks to return lock count in a dict value. Signed-off-by: Anand V. Avati - 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 + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 -commit f5f018e66eaba3bf8cd8896c179692f055b2b309 -Author: Amar Tumballi -Date: Fri Jul 17 14:13:14 2009 +0000 +commit 53ff4f0299cf14c6c413d3e49991a6f05f9cda19 +Author: Raghavendra G +Date: Wed Oct 28 18:42:35 2009 +0000 - removed mod_glusterfs from the build + libglusterfs/rbtree: change rbthash_init_table to take no of expected entries in the hash table as argument. - future plan is to have httpd use booster and libglusterfsclient - instead. + - 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 + + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit 031eb508731b1727ef0fcb5c2d525adadf5ef2b1 -Author: Amar Tumballi -Date: Fri Jul 17 14:12:50 2009 +0000 +commit 07e8d8a37713d39f63713d8c05dd99a0610a3c35 +Author: Raghavendra G +Date: Wed Oct 28 16:15:37 2009 +0000 - change mount.glusterfs.in to work with non-bash shells too. - - removed 'fuction ' prefix to function definitions which was very - much /bin/bash specific. + performance/io-cache: fix memory leak. - Thanks to Brent A. Nelson for the patch. + - page table of cache was not being destroyed in ioc_forget. Signed-off-by: Anand V. Avati - BUG: 139 (tiny glitch in mount.glusterfs in 2.0.4) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=139 + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit f45ea4244288a2397b72c272184c9113ee0c1f08 -Author: Amar Tumballi -Date: Fri Jul 17 14:12:24 2009 +0000 +commit 11dd6bcb416c2e937ced2b2bbd35fe10b21f283f +Author: Raghavendra G +Date: Wed Oct 28 16:15:03 2009 +0000 - break inode_path if the length of the path crosses PATH_MAX + performance/io-cache: fix double free. + + - 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 - BUG: 134 (infinite loop in inode_path ()) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=134 + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit dbccda35cdcad06208e2fc7554287b539e0060a6 -Author: Shehjar Tikoo -Date: Fri Jul 17 08:47:32 2009 +0000 +commit f513157e93bbba885f12f10ca2fb94424d7aea5e +Author: Anand V. Avati +Date: Wed Oct 28 07:15:55 2009 -0700 - libglusterfsclient: Invalidate not update iattr cache on writev + Add -s (signoff) to format-patch.sh + +commit 7e66ba43d7b75b63cdbf08e2d871136a6648a3a7 +Author: Pavan Sondur +Date: Wed Oct 28 06:22:44 2009 +0000 + + Add glusterfs-volgen to master Signed-off-by: Anand V. Avati - BUG: 149 (libglusterfsclient interacts incorrectly with write-behind on writev) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=149 + BUG: 343 (GlusterFS volume generator - 'volgen') + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343 -commit fe134d4b0b675f13f3c2aa1152a1380be7192ced -Author: Harshavardhana -Date: Tue Jun 16 10:34:44 2009 +0000 +commit ef7524ec1eda990cb89bee06eff2ef2d7c49d0d2 +Author: Anand Avati +Date: Wed Oct 28 05:40:12 2009 +0000 - Remove the trailing "/" which fails build with new version of automake + fuse: use postbuf in truncate_cbk for attributes to return + + 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 + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 -commit e40e361126d7843f1141c1568c39a10f8510cf42 -Author: Erick Tryzelaar -Date: Fri Jul 10 17:23:28 2009 +0000 +commit 1f4e97c01a8483e227e9e66d421302b4114decd1 +Author: Anand Avati +Date: Wed Oct 28 04:20:14 2009 +0000 - Add a random initial offset to the afr round robin index + xlator: initialize all xlators in a loop instead of top down initialization - This patch helps to distribute load across an afr cluster - when you have clients with the same access patterns, such - as in benchmarking or map-reduce. By randomly offsetting - the initial read_child_rr, clients should distribute reads - over the afr nodes on average. - - A better solution could be to randomly shuffle the children - instead of chosing a different initial offset. This should - average the reads better across the nodes, but I'm not - sure if there are any other consequences to doing this. + 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 + + 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 -commit f1313842a25d8d162db36ba8afb2a34b224f41ca -Author: Shehjar Tikoo -Date: Tue Jul 14 09:41:54 2009 +0000 +commit 6bfbcf7326a1261c8ff7cde9fd2c76a55cf756ae +Author: Vikas Gorur +Date: Tue Oct 27 08:47:28 2009 +0000 - fuse-bridge: Export user.glusterfs-booster-mount xattr + mount/fuse: Derive fd from the file handle for setattr - This needs to be exported in order to have the booster - Mount Point Bypass technique work through libglusterfsclient. - Booster uses the mount point to register with libglusterfsclient as - a VMP. Subsequently, all file operations on the mounted GlusterFS - mount point get redirected to libglusterfsclient. + Signed-off-by: Anand V. Avati - This fixes bug 136. + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit b4dd7534007dccbc90d7341259bd92a0ff6a678c +Author: Anand Avati +Date: Wed Oct 28 02:36:31 2009 +0000 + + protocol/server: resolver fixes + + 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 - BUG: 136 (booster does not redirect ops on GlusterFS mount point into libglusterfsclient) - URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=136 + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 55f476455c66dc1e21bbbe88a29c9ae304a81002 -Author: Harshavardhana Ranganath -Date: Thu Jul 9 00:50:10 2009 +0000 +commit 3809bb1bbd617dbde1d943dbcf6b0346329187b6 +Author: Raghavendra G +Date: Mon Oct 26 03:01:33 2009 +0000 - Fixes for MacOSX and Solaris build + performance/io-cache: change data structure used to store page-cache. - Fixes for Solaris and MacOSX build errors. + - io-cache uses rbtree based hash tables to store page-cache instead of lists. Signed-off-by: Anand V. Avati + + BUG: 335 (Io-cache optimization) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335 -commit b23c9fcc8a16b8c4a4b1814ff5035a18f03da0f4 +commit 78d281d6026ad1ebe8cc65c4396055902369ea89 Author: Vikas Gorur -Date: Thu Jul 9 10:02:27 2009 +0000 +Date: Tue Oct 27 06:09:46 2009 +0000 - Return inode number always from the first up subvolume in AFR. - - Also fixes a bug in the "KLUDGE" part. It was setting lookup_buf - when it should have been setting local->cont.lookup.buf + cluster/afr: Set local->fd in fsync. Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 -commit 9ada0a5b97851c3b4d220a3b236728b7a26f0196 +commit 5674c41b3ea4eac8fe8f4f74bd978699bc847332 Author: Anand V. Avati -Date: Wed Jul 8 23:54:48 2009 -0700 +Date: Tue Oct 27 05:52:16 2009 -0700 - Added format-patch.sh. This script is to be used as a replacement of "git format-patch" with similar arguments for submitting patches to the GlusterFS project + extras/init.d: make install directory configurable with --with-initdir -commit bc1202a114e24d69a4bb94d9b83f62bb896a1086 -Author: Csaba Henk -Date: Wed Jul 8 06:55:09 2009 +0000 +commit fad22625b4012e9a5d6b29bb23f0d864c611ae1c +Author: Vikas Gorur +Date: Tue Oct 27 05:13:05 2009 +0000 - detabify fuse-bridge.c (and other whitespace fixes) + mount/fuse: Use correct offset for name in fuse_getxattr Signed-off-by: Anand V. Avati -commit c392a1e90c6504967da7dc3f4fce5c1009e0034f -Author: Anand Avati -Date: Tue Jul 7 20:42:42 2009 +0000 +commit c415e5cfb87bc240ae8438e9df995ce45b55004e +Author: Harshavardhana Ranganath +Date: Mon Oct 26 19:53:33 2009 +0000 - protocol/server: use translated flags in protocol/server open and create fops + Don't stop an already running glusterfsd upon upgrade or install. Signed-off-by: Anand V. Avati + + BUG: 338 (rpm post uninstall kills glusterfsd process) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=338 -commit cc89e50e19eedf324393798edc0f2aab9442a06e -Author: Anand Avati -Date: Tue Jul 7 20:42:21 2009 +0000 +commit b5fe35e215626b98b19876bc0f53b9184aef664b +Author: Vikas Gorur +Date: Mon Oct 26 11:57:28 2009 +0000 - protocol/client: use translated flags in protocol/client open and create fops + cluster/afr: Remove struct's for [f]chown, [f]chmod, utimens from afr_local_t. Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 -commit 567c0cc97198fbfd525834744b653e958cf140de -Author: Anand Avati -Date: Tue Jul 7 20:41:59 2009 +0000 +commit 78c98cac267ef9aebcaa3c35d70ea93c17462e62 +Author: Vikas Gorur +Date: Mon Oct 26 09:15:13 2009 +0000 - protocol: add functions gf_flags_from_flags and gf_flags_to_flags + cluster/afr: NFS-friendly logic changes Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 -commit e54d471444274879a65efaea19f0b69fb0e78b5e -Author: Raghavendra G -Date: Tue Jun 30 01:14:44 2009 +0000 +commit a284bf490cdf6ce334a4e70b22eedd7e639620f9 +Author: Vikas Gorur +Date: Mon Oct 26 05:24:19 2009 +0000 - write-behind: set default window-size to 1MB. + cluster/afr: Pick the data self-heal algorithm dynamically. Signed-off-by: Anand V. Avati + + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 73c32c9ab17ee104d319882227f4a01849e544b9 -Author: Basavanagowda Kanur -Date: Tue Jul 7 07:58:05 2009 +0000 +commit d40ce2cbcd41a25eb053f2970db9bbaab2dafa22 +Author: Vikas Gorur +Date: Mon Oct 26 05:07:31 2009 +0000 - use fuse_reply_iov() in fuse_readv_cbk + cluster/afr: Check the target of symlink's in entry self-heal. - changes come in two places. + During entry self-heal, make sure not only that a symlink + exists on all subvolumes, but also that their targets match. - configure.ac - define HAVE_FUSE_REPLY_IOV if fuse_reply_iov is - available in libfuse. + Signed-off-by: Anand V. Avati - mount/fuse - use fuse_reply_iov() in place of fuse_reply_vec(), if - HAVE_FUSE_REPLY_IOV is defined. + BUG: 193 (symlink contents not self-healed by replicate) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=193 + +commit 82dea3043878099e392b71bef9ae5de616ac5533 +Author: Vikas Gorur +Date: Mon Oct 26 05:34:21 2009 +0000 + + storage/posix: Ensure time(2) is stored in a 64-bit variable. + + 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 + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 428d17946b5bb5946996f045811fdc2393378737 -Author: Shehjar Tikoo -Date: Thu Jul 2 06:20:21 2009 +0000 +commit bd145077164ee20e3eb03f09b401e9a3ebdf8b6e +Author: Anand Avati +Date: Mon Oct 26 05:45:59 2009 +0000 - libglusterfsclient: Update attr cache on read/write + protocol/server: touchup loc only if inode/entry resolution was successful - We werent updating the attr AKA stat cache on read and write - on files so every stat on the file before the timeout was returning - stale attr from the cache. Yuck! + Signed-off-by: Anand V. Avati - This fixes it. Turns out there is a good aspect of unfs3's notoriety - when it comes to doing stat()s for every operation. + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 79a5b7273d107f3c73534a117157184ffbc170e8 +Author: Anand Avati +Date: Mon Oct 26 05:43:59 2009 +0000 + + protocol/server: fix assignment of inode number in server_readlink Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit b470684cbf9d77c9a63ef9406b5545f844f904ff -Author: Vikas Gorur -Date: Mon Jul 6 05:59:47 2009 +0000 +commit 106a651826eeaacf9d0b40fe6d088d6bdc997675 +Author: Raghavendra G +Date: Fri Oct 23 13:02:01 2009 +0000 - Set timestamps properly when creating missing entries. + booster: seperate out the implementations of readdir and readdir64. - In AFR self-heal set timestamp of a freshly created missing entry - to that of the source entry. + - 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 + + 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 -commit 65524f58b29f0b813549412ba6422711a505f5d8 -Author: Csaba Henk -Date: Thu Jul 2 11:03:57 2009 +0000 +commit 7445700d0323cbfac11b0e1367b0052438e38318 +Author: Vikas Gorur +Date: Sat Oct 24 08:17:36 2009 +0000 - booster: automake 1.11 compatibility fix + cluster/afr: Set read-subvolume to the source while self-heal is in progress. + + 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 + + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit cf87dfa3f44172635b9d071c83cd2fcd2479c668 -Author: Shehjar Tikoo -Date: Thu Jul 2 00:52:28 2009 +0000 +commit 4163a3f8fbcc5e0d84d955258161f3a6f7a86de8 +Author: Vikas Gorur +Date: Fri Oct 23 10:11:47 2009 +0000 - libglusterfsclient: Use O_ACCMODE for access mode checks + cluster/afr: Do self-heal in the background. - Ref: http://www.gnu.org/s/libc/manual/html_node/Access-Modes.html + 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 + + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 13fd1ec05715b97f91b91f3954bd9f87e86ae33d +commit 6490122f107c992f2600fc7d3214a43c3f50df70 Author: Vikas Gorur -Date: Thu Jul 2 07:08:47 2009 +0000 +Date: Fri Oct 23 09:31:52 2009 +0000 - Print volume file after printing other details. + cluster/afr: Pipeline the "diff" data self-heal read-write loop. - This makes the log format compatible with earlier - versions. Fixes bug #105. + 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 + + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 1a79ea17f77a99471205e8ddb10a94dce80eb7b2 -Author: Basavanagowda Kanur -Date: Thu Jul 2 01:55:29 2009 +0000 +commit 10dea439359238aed4dbad0e2c25df9fb2d5f28e +Author: Vijay Bellur +Date: Fri Oct 23 08:37:29 2009 +0000 - performance/write-behind - bug fix in open() and create(). + mount/fuse: Don't use fsi if it is already cleaned up - open() & create() calls should reset frame->local to NULL. + Signed-off-by: Anand V. Avati - bz# 104 + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit a5219b99db8076dc8606a44fd1cfaf2bd69a0d31 +Author: Anand Avati +Date: Fri Oct 23 08:23:20 2009 +0000 + + protocol/server: deep resolution support + + 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 + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit e0db4ff890b591a58332994e37ce6db2bf430213 -Author: Harshavardhana -Date: Wed Jul 1 04:13:09 2009 +0000 +commit 52b02bbabaaa78061c6b223715f57853cbcfd652 +Author: Anand Avati +Date: Fri Oct 23 08:22:49 2009 +0000 - rpm spec file updates (removed mod_glusterfs and respective dependencies) + protocol/server: send fresh lookups on revalidate failures + + also unlink non existent dentries in lookup_cbk Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 08fea74073fd671c784b1ebe137df8722cd72a3b -Author: Harshavardhana -Date: Wed Jul 1 04:13:29 2009 +0000 +commit 919d80171c73cf3ed516c089603f0c635cf5a376 +Author: Anand Avati +Date: Fri Oct 23 08:22:20 2009 +0000 - fuse 2.8 support for xlator/fuse + whitespace fixes Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit 545d3d6b48f68251bf0912473bd3de5c0e593883 -Author: Harshavardhana -Date: Wed Jul 1 04:13:23 2009 +0000 +commit 00d2fafa1bcab7758aa20741a20fb4ea38b9a8ff +Author: Vikas Gorur +Date: Thu Oct 15 04:48:09 2009 +0000 - fuse 2.8 version check at configure level + cluster/afr: Pipeline the "full" data self-heal read-write loop. + + 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 + + BUG: 320 (Improve self-heal performance) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320 -commit 02246561759d9897e3bb04118df0f0e4a0028229 -Author: Csaba Henk -Date: Tue Jun 23 04:25:22 2009 +0000 +commit 58efcf03a63324b7bbfda864647d35256917058a +Author: Vikas Gorur +Date: Fri Oct 23 06:44:46 2009 +0000 - Fix typos in my previous commit 6010e2a4e + cluster/afr: Prevent spurious entry self-heal. + + 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 + + BUG: 326 ([2.0.8rc9] Spurious self-heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326 -commit b3b5598e02fc931854afbcb7a3b660ffe45e5934 -Author: Csaba Henk -Date: Mon Jun 22 00:56:13 2009 +0000 +commit dfa1f5755b11d11c81cbbdd79dcb5b3f8d216ac9 +Author: Anand Avati +Date: Thu Oct 22 02:04:39 2009 +0000 - fuse: instead of having a fixed option list, assemble it using "fuse_opt_add_arg" - - This makes it easier to adjust the option list, and also reduces redundancy. + fuse-bridge: send fresh lookup on failed revalidate to return new nodeid Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 -commit f6f1b35de108e089dbd7fbadf3632bc9dff992f5 -Author: Amar Tumballi -Date: Tue Jun 30 17:48:59 2009 +0000 +commit fc00f8c622f207577b4568b5e8dd43c6147e34c2 +Author: Anand Avati +Date: Thu Oct 22 02:04:21 2009 +0000 - build warning fixes + inode.c: whitespace fixes - integer typecast warnings fixed + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 8c86febc41816730c9fd44fd87cefe3ef330d072 +Author: Vikas Gorur +Date: Thu Oct 22 06:36:22 2009 +0000 + + cluster/afr: entry self-heal: Store parent_loc on the heap for impunge_parent_setattr. Signed-off-by: Anand V. Avati + + 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 -commit 095caa8feb992459781c992c843f34c98c5bd607 -Author: Amar Tumballi -Date: Tue Jun 30 17:34:44 2009 +0000 +commit d5009323b3031122508fbd8daa61025b7c397e3c +Author: Vikas Gorur +Date: Thu Oct 22 05:37:36 2009 +0000 - enhancement in write-behind + cluster/afr: entry self-heal: Set parent directory's attributes using a new frame. - Write calls should not be pushed to background only when the - mandatory locking is enabled, in all other cases (eg: O_SYNC, - O_DIRECT etc), we should not be 'caching' any data, but the - calls can be pushed to the background + 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 + + 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 -commit fccb91cba86a8219191d7f241f4c6a722d512b4e -Author: Raghavendra G -Date: Tue Jun 30 00:15:34 2009 +0000 +commit 1fe48896b950e74b589a8ed2c62bfb8571a0bf16 +Author: vinayak hegde +Date: Tue Oct 20 23:56:28 2009 +0000 - client_xattrop: use dict_allocate_and_serialize during serializing xattr - - - though the previous commit fixes bug #29, this patch fixes bugs - arising in similar situations where xattrop is initiated by - xlators other than afr. + glusterfsd.c: Unnecessary writing of strerror of errorno on pipe Signed-off-by: Anand V. Avati + + BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 -commit a0e8c18dbb8e905ebecffd75096c9469fa922165 -Author: Basavanagowda Kanur -Date: Tue Jun 30 00:43:56 2009 +0000 +commit 568b3ffa1625a12585cc14565fdb9acfa5b36a1a +Author: Anand Avati +Date: Tue Oct 20 11:53:24 2009 +0000 - cluster/afr - use different dictionaries for sending xattrop requests to each of the subvolume + protocol/server: generation number and dentry resolution - - This patch fixes bug #29. - - Using separate copies of dictionaries also eliminates a potential bug in a - setup consisting of afr with a posix and client, each having io-threads on - top as children. Since posix_xattrop after performing required operations - on the xattr array passed in dictionary, sets the result at the same key - and in the same dictionary passed as input argument, + - handle generation number in protocol + - rewrite server dentry resolution code for inode cache miss + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 40fb2587c5709f732dcd575945a8fdbaa51c07ea +Author: Anand Avati +Date: Tue Oct 20 10:54:24 2009 +0000 + + inode: fix internal refs and minor fixes + + * also fix trailing whitespaces in a couple of places + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 492993570bb02bd7d244693ad28e409973fa9f4c +Author: Raghavendra G +Date: Tue Oct 20 03:43:43 2009 +0000 + + performance/write-behind: fix to bug in setattr which was causing frames to be missed. + + - local->file was being assigned even before file pointer was got from any of + the fds opened on the inode, thus making local->file to be NULL. In + wb_setattr_cbk, since local->file is NULL (and hence file passed to + wb_process_queue), wb_process_queue does not resume the pending operations + queued for the file. + + Signed-off-by: Anand V. Avati + + BUG: 327 (dbench does not complete) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=327 + +commit 61d0ad544322ea0e0e9b0549662b8ca912641951 +Author: vinayak hegde +Date: Tue Oct 20 07:18:16 2009 +0000 + + performance/read-ahead: Process state dump operations are added. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit f8d40aad7e21389911b151d6445dd8197bec0049 +Author: vinayak hegde +Date: Tue Oct 20 07:17:42 2009 +0000 + + performance/quick-read: Process state dump operations are added. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit f90bc2a051ea4d6d23dd4c28ca018fcb1aa9cdaf +Author: vinayak hegde +Date: Tue Oct 20 07:17:06 2009 +0000 + + performance/write-behind: Process state dump operations are added. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit 4d5ab4c0b8a296e12d80933aad03d06a044c6af2 +Author: Vikas Gorur +Date: Tue Oct 20 01:35:17 2009 +0000 + + cluster/afr: Attempt to set fd ctx in create only if the call has succeeded. + + Signed-off-by: Anand V. Avati + + BUG: 325 (crash in afr_fd_ctx_set) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=325 + +commit a2a09bb7f3d60a441c1e678484e2a1a3ac332a1e +Author: Anand Avati +Date: Sun Oct 18 15:02:02 2009 +0000 + + protocol/client: incoroporate generation numbers + + protocol/client uses the new inode_ctx_{get,put}2 API to store both inode and + generation number in context + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 7d62e85887047a64df17904c91136c1bc1c89bd4 +Author: Anand Avati +Date: Sun Oct 18 15:01:07 2009 +0000 + + protocol: format changes to incorporate generation numbers + + incorporate 64bit generation field in all protocol headers to accompany an inode + number + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 11ddca1cd151479243fe23e579b76c5984f422c3 +Author: Amar Tumballi +Date: Sun Oct 18 14:05:40 2009 +0000 + + inode_ctx_{get,put,del}2 API support + + support for storing multiple values for a key in inode context - used for storing + inode and generation number pairs on the server in protocol/client inode ctx + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 3d09fb99093a84a303edc443b68bdf9eb10096b4 +Author: Anand V. Avati +Date: Sun Oct 18 13:35:15 2009 +0000 + + fuse: use inode_t address as nodeid and use new inode API + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 7e831d735e3746fa9e6ec2e797e1a7f68ac5c148 +Author: Anand V. Avati +Date: Sun Oct 18 13:35:14 2009 +0000 + + inode: API changes for generation number support + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit b2c0c6c713a00631e658c7faafe51d0c941d65ef +Author: Anand V. Avati +Date: Sun Oct 18 13:35:13 2009 +0000 + + inode: fix indentation and spacings + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 9d73eb4c8a9bf1e802985abee83ad36439ab681a +Author: Anand Avati +Date: Sun Oct 18 11:42:30 2009 +0000 + + locks: fix leak in inodelk + + unlock was resulting in leak of lock structure if it was unlocking the last existing lock + + Signed-off-by: Anand V. Avati + + BUG: 306 (Enhance locks to aid debugging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306 + +commit aacde00714c60db438c2fdc5ebacbe60a988f60b +Author: Vijay Bellur +Date: Sun Oct 18 09:58:18 2009 +0000 + + storage/posix: Set right the op_ret value from posix_readlink() + + Since op_ret was being returned as 0, fuse would regard the readlink () as a failure. + Also, set right the buffer size of gen_key in posix_{f, l}stat_with_gen. + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit aa701e2f607902628fce196de3eb0402aede7736 +Author: Anand Avati +Date: Fri Oct 16 09:13:22 2009 +0000 + + indentation fixes to conform to coding standards in locks + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 7bf78408ffec1efbceed17ed2e540d7d0af19763 +Author: Anand Avati +Date: Fri Oct 16 09:12:57 2009 +0000 + + locks: keep ref on the inode while locks are held + + keeping refs on the inode while there are held locks prevents the + inode from getting pruned away + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 5d423ab4548c941921c1e64135fec6e15c7787f2 +Author: Anand V. Avati +Date: Fri Oct 16 08:48:42 2009 +0000 + + posix: posix_{f, l}stat_with_gen to return 0 on success (instead of >= 0) + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit d56c6a81ba22e5caca68bfa6fc0eb5f3079c9d22 +Author: Anand V. Avati +Date: Fri Oct 16 07:30:26 2009 +0000 + + posix - generation number support + + - use sequential gen counter + - move span_devices handling and generation assignment to common functions + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 355150088d688fafd82c54af80a583a26732d0da +Author: Anand V. Avati +Date: Fri Oct 16 07:30:25 2009 +0000 + + posix - use lchown and lchmod in setattr + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit ff38298144730c95627cfc11416baa6b75d3c94d +Author: Anand V. Avati +Date: Fri Oct 16 07:30:24 2009 +0000 + + distribute - more NULL check + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit cb76cadb74a36e220a2b6a886c0c8068abdad0c7 +Author: Anand V. Avati +Date: Fri Oct 16 07:30:23 2009 +0000 + + distribute,nufa: layout handling changes + + changes to make revalidate not fail but instead perform fresh lookup + and swap inode context (layout) safely + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit fa4e9d639b95b557ae64dab38c4c3ff8a0ec0d7a +Author: Anand V. Avati +Date: Fri Oct 16 07:30:22 2009 +0000 + + fix double initialization of dht_local_t + + This was causing leak of the first initialized frame->local in + every create call + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 3defca52e68cd65b6a32876e00de72832e247171 +Author: Anand V. Avati +Date: Fri Oct 16 07:30:21 2009 +0000 + + NULL checks on local->loc.parent + + check for presence of local->loc.parent != NULL before defering to + pick ino for post/preparent parameters. local->loc.parent can be NULL + legally when loc is describing "/" + + Signed-off-by: Anand V. Avati + + BUG: 315 (generation number support) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315 + +commit 61b5516701224073bbf71afea93ce58d5bd6b811 +Author: vinayak hegde +Date: Fri Oct 16 00:38:25 2009 +0000 + + performance/write-behind: initialize frame->local before goto out label + + if mtime,atime are not changed, + frame->local will not be initialized. + + Signed-off-by: Anand V. Avati + + BUG: 310 (While trying to create a file on replicate with write behind set-up, client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=310 + +commit 6fda29fcd64dffbbfdbbf63eed69a557e46598d0 +Author: Anand Avati +Date: Thu Oct 15 11:28:00 2009 +0000 + + shuffle hash layouts on directories + + allow for hash layouts to be written differently for different + directories to give a better spread for same filenames across + directories + + Signed-off-by: Anand V. Avati + + BUG: 324 (distribute does not spread files of the same name among all servers) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=324 + +commit ccb0f6fa67c148545e536d1033abe1652520bdb3 +Author: vinayak hegde +Date: Thu Oct 15 00:27:14 2009 +0000 + + performance/write-behind: In wb_setattr, inode is checked twice + + 1. check for is it a directory, + 2. otherwise check for inode and continue. + + Signed-off-by: Anand V. Avati + + BUG: 310 (While trying to create a file on replicate with write behind set-up, client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=310 + +commit 8b048b48b6925d0f774875abe5cdfccf4b26a868 +Author: Raghavendra G +Date: Thu Oct 15 01:47:54 2009 +0000 + + performance/io-cache: remove caching in lookup. + + - caching file contents in io-cache during lookup is obsolete since quick-read + does the same work. + + Signed-off-by: Anand V. Avati + + BUG: 314 (Hang in quick-read) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=314 + +commit b78fa55bbbb645d4a9ac58ff7f6b59684dfa83d4 +Author: Raghavendra G +Date: Thu Oct 15 08:39:01 2009 +0000 + + performance/quick-read: frame->local need not be set in qr_open_cbk. + + - 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 + + BUG: 323 (fd leak with quick-read loaded in translator tree) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=323 + +commit 680164e64ab9a3817364626cd27cdc997ca16414 +Author: Raghavendra G +Date: Wed Oct 14 21:14:36 2009 +0000 + + performance/quick-read: flush should proceed with winding if fd-context is 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 + + BUG: 317 (Data corruption with write-behind loaded in translator tree.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=317 + +commit 44db9af90b7280520c1c599d2bf54dd477961948 +Author: Vijay Bellur +Date: Wed Oct 14 14:00:58 2009 +0000 + + storage/posix: Use the right macro to set nsec of mtime in posix_do_utimes + + Signed-off-by: Anand V. Avati + + BUG: 296 (handle futimes correctly in FUSE) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=296 + +commit 4203033c2da0598712d34389f8ef5ce8c24334b4 +Author: Vijay Bellur +Date: Wed Oct 14 14:00:07 2009 +0000 + + mount/fuse: Initialize attr and set nsec values for atime and mtime. + + attr was not being initialized and NSEC values were not being set in attr. + These were being referenced in posix_do_utimes which could cause a failure of + utimes (). + + Signed-off-by: Anand V. Avati + + BUG: 296 (handle futimes correctly in FUSE) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=296 + +commit 347385beb519d75cd1457a36cf13a02fd2e60a92 +Author: Vijay Bellur +Date: Wed Oct 14 13:48:23 2009 +0000 + + performance/write-behind:STACK_UNWIND happens only in failure path of wb_stat() + + Only in case of errors STACK_UNWIND happens in wb_stat(). + Also, fixed an incorrect check which would fail all writes. + + Signed-off-by: Anand V. Avati + + BUG: 309 (In replicate set-up when exnihilate.sh is run , client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=309 + +commit 89b40ae93a09043e9d9384ce8c631d0c5abe6787 +Author: Vijay Bellur +Date: Wed Oct 14 07:32:37 2009 +0000 + + storage/posix: Initialize op_errno to 0 in posix_create. + + Signed-off-by: Anand V. Avati + + BUG: 309 (In replicate set-up when exnihilate.sh is run , client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=309 + +commit a9364b0a56186a3203820aca69b9875266e4c5f6 +Author: Shehjar Tikoo +Date: Wed Oct 14 05:50:59 2009 +0000 + + io-cache: NFS-friendly changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 65f02619c7d4b29caa8dd11b78c294c521116f12 +Author: Vijay Bellur +Date: Wed Oct 14 02:07:25 2009 +0000 + + performance/write-behind: return from wb_open after STACK_WIND + + Signed-off-by: Anand V. Avati + + BUG: 312 (iozone crash in Distribute-Replicate) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=312 + +commit 7c4429b9631c3c9866620887d6a41030466f71e3 +Author: Anand Avati +Date: Tue Oct 13 07:32:46 2009 +0000 + + afr transaction: fix op_ret check during locking + + Signed-off-by: Anand V. Avati + + 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 + +commit 103a9ecfaf5881b31844b8a12a5b98dc5308a800 +Author: Vikas Gorur +Date: Tue Oct 13 06:42:28 2009 +0000 + + cluster/afr: Set mtime of parent directory in self-heal properly. + + 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 + + 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 + +commit 7d6e73d4421265a304fd22964649e555a2db8097 +Author: Vikas Gorur +Date: Tue Oct 13 06:42:13 2009 +0000 + + posix/client/server: Send postparent in lookup even if lookup fails on the entry itself. + + Signed-off-by: Anand V. Avati + + 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 + +commit f085beebd03b2c8be2fa57039ad3cbcb6eaa66d3 +Author: Anand Avati +Date: Tue Oct 13 06:42:15 2009 +0000 + + prevent spurious unlocks from afr selfheal + + 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 + + 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 + +commit b20cee457232a88517af44ae4505361dd3a4de15 +Author: Anand Avati +Date: Tue Oct 13 06:22:37 2009 +0000 + + afr transaction prevent spurious unlocks + + mark a subvol with held lock only if op_ret == 0 + + Signed-off-by: Anand V. Avati + + 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 + +commit babdbcbb6a434d65b0fdd9df708e94bea13cf05d +Author: vinayak hegde +Date: Mon Oct 12 23:38:41 2009 +0000 + + performance/write-behind: In wb_setattr file is used before getting fd context + + Signed-off-by: Anand V. Avati + + BUG: 310 (While trying to create a file on replicate with write behind set-up, client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=310 + +commit e84a3cf74947d7a6deace07a1726376aa0a8a6a4 +Author: vinayak hegde +Date: Mon Oct 12 09:09:33 2009 +0000 + + performance/write-behind: file is referenced, without checking for NULL + + Signed-off-by: Anand V. Avati + + BUG: 310 (While trying to create a file on replicate with write behind set-up, client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=310 + +commit 6df45979aae89a217e43c59a8f0a8087915ce5d8 +Author: Vikas Gorur +Date: Mon Oct 12 07:01:13 2009 +0000 + + cluster/afr: Hold second lock after first lock has been granted for rename transactions. + + Hold the lock on the {higher_path} only after the lock on the + {lower_path} has been granted successfully. + + Signed-off-by: Anand V. Avati + + 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 + +commit 0f177f59d199484a15490359f6db69bfa8dff82d +Author: Vikas Gorur +Date: Mon Oct 12 09:12:45 2009 +0000 + + protocol/server: Set preparent and postparent in the response struct. + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 5cec042dfa7d7c9699d3110f849a78b2569aa8d9 +Author: Anand Avati +Date: Mon Oct 12 11:26:59 2009 +0000 + + replicate: fix missing frame in entry-self-heal + + 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 + + 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 + +commit a3da2ad4cd1c8c6adaa0f5055820541254f8c91d +Author: Raghavendra G +Date: Fri Oct 9 12:40:19 2009 +0000 + + performance/quick-read: change the default option values in quick-read. + + Signed-off-by: Anand V. Avati + + BUG: 273 (Code review and optimize quick-read) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + +commit 077d73fa467bcd0a5ac4be26bb4b366d5fc20a69 +Author: Shehjar Tikoo +Date: Fri Oct 9 09:15:36 2009 +0000 + + posix: Ensure ENOTEMPTY return on rmdir + + Since we added an extra step after rmdir, i.e. + the lstat on parent dir as part of the NFS-friendly + changes, the successful return from postparent lstat + clobbers the -1 error return from rmdir. + + This prevents this particularly ENOTEMPTY error from + being propagated to higher translators. + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 73027dae835fc968dc443294fc8c109110168d37 +Author: Anand Avati +Date: Fri Oct 9 08:00:23 2009 +0000 + + Add INIT_LIST_HEAD which was left out in the previous commit + + Signed-off-by: Anand V. Avati + + BUG: 297 (Posix locks cannot handle a single unlock over multiple held locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=297 + +commit 7ef987661626ee2e9de033470bafb7c864e01fe1 +Author: Corentin Chary +Date: Tue Oct 6 06:36:31 2009 +0000 + + Add all generated files to .gitignore + + Signed-off-by: Corentin Chary + Signed-off-by: Anand V. Avati + +commit 2231e5f8ab2be2721ebb6662bd1e252cd89cea7a +Author: Corentin Chary +Date: Fri Oct 9 06:25:11 2009 +0000 + + features/locks: Fix insert_and_merge + + Init the list structure, because it will be used later, + and subtract_lock does not do it. + + Also remove the special handling for unlocks, which was + probably introduced as a workaround for this bug. + + Signed-off-by: Corentin Chary + Signed-off-by: Anand V. Avati + + BUG: 297 (Posix locks cannot handle a single unlock over multiple held locks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=297 + +commit 58bc556b84792562ff6cdc60e0e7a48006eb56a9 +Author: Raghavendra G +Date: Fri Oct 9 02:40:10 2009 +0000 + + performance/write-behind: Add enable-trickling-writes to volume_options. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 72fc9328b1959f2f3e8b24048995cb70a090e0a3 +Author: vinayak hegde +Date: Fri Oct 9 02:38:13 2009 +0000 + + debug/trace: Check asprintf return value to avoid warning, while build + + Signed-off-by: Anand V. Avati + + BUG: 308 (Warning in debug/trace.c, during build) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=308 + +commit ec7c17bc6f54c2a28353d5b099e6501793eed8f8 +Author: Raghavendra G +Date: Thu Oct 8 06:21:56 2009 +0000 + + performance/stat-prefetch: checking for cache and creation if not present is made atomic. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 9f876873728bc605f68d386e454c922a5305184d +Author: Raghavendra G +Date: Thu Oct 8 06:21:54 2009 +0000 + + performance/stat-prefetch: lookup path in xattrop if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 3fb8e1d67a7d2a4513fa96df726f557fb5aa3df5 +Author: Raghavendra G +Date: Thu Oct 8 06:21:53 2009 +0000 + + performance/stat-prefetch: implement sp_entrylk. + + - lookup on path should be sent in entrylk if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 94f24f06644b9e872f4b34f100017672b5d08978 +Author: Raghavendra G +Date: Thu Oct 8 06:21:52 2009 +0000 + + performance/stat-prefetch: implement sp_inodelk. + + - path has to be looked up in inodelk if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit ebbe78de0281735f683d5414b34d1418e8c9d5b8 +Author: Raghavendra G +Date: Thu Oct 8 06:21:50 2009 +0000 + + performance/stat-prefetch: lookup path in removexattr if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit f86d713f8e60dbd6d80f25a05fb3a55acc6457d0 +Author: Raghavendra G +Date: Thu Oct 8 06:21:49 2009 +0000 + + performance/stat-prefetch: implement sp_getxattr. + + - path should be looked up in getxattr if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 4c83e0c25c39c90723a0c7ba6a706784b651704f +Author: Raghavendra G +Date: Thu Oct 8 06:21:48 2009 +0000 + + performance/stat-prefetch: lookup path in setxattr if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 506a26985572949525cd8560d77a2fa13332d8bd +Author: Raghavendra G +Date: Thu Oct 8 06:21:46 2009 +0000 + + performance/stat-prefetch: lookup path in opendir if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit d53db7415fd919b405818864aafa51b53aab7627 +Author: Raghavendra G +Date: Thu Oct 8 06:21:45 2009 +0000 + + performance/stat-prefetch: lookup path in create if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit bbaf6e2d35841c2976855e09e3c744bc6c364821 +Author: Raghavendra G +Date: Thu Oct 8 06:21:43 2009 +0000 + + performance/stat-prefetch: remove stat corresponding to oldloc->path from cache in sp_link. + + - ctime of oldloc->path will be changed on completion of link fop. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 7fcb479dc329d9931c0ec975ab8b87450d6d8b24 +Author: Raghavendra G +Date: Thu Oct 8 06:21:42 2009 +0000 + + performance/stat-prefetch: lookup oldloc->path in link if it has not already been looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit aa8323817ebacf664b0e4c68996efa5847342bf8 +Author: Raghavendra G +Date: Thu Oct 8 06:21:40 2009 +0000 + + performance/stat-prefetch: lookup oldpath and newpath in rename if they've not already been looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 5cb21335e3f12815d3e60b93d5edaea8d4ba26da +Author: Raghavendra G +Date: Thu Oct 8 06:21:38 2009 +0000 + + performance/stat-prefetch: lookup path in symlink if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 153e2fd4f5fc35d23b3dad0cc147f4586b88823d +Author: Raghavendra G +Date: Thu Oct 8 06:21:36 2009 +0000 + + performance/stat-prefetch: lookup path in rmdir if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 9857c10cd6b7b4497f8bc2d96aa559d1191f65d8 +Author: Raghavendra G +Date: Thu Oct 8 06:21:35 2009 +0000 + + performance/stat-prefetch: lookup path in unlink if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 19322c4a2a2c439a7c90dabe07cee07deb9dc79a +Author: Raghavendra G +Date: Thu Oct 8 06:21:33 2009 +0000 + + performance/stat-prefetch: fix mkdir to unwind with proper number of arguments. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit be267e3449f84b35f749beec7c90e895a231b32c +Author: Raghavendra G +Date: Thu Oct 8 06:21:31 2009 +0000 + + performance/stat-prefetch: lookup path in mkdir if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit d4f0250bc6db1a8462ed05e970e81f02c47673b4 +Author: Raghavendra G +Date: Thu Oct 8 06:21:30 2009 +0000 + + performance/stat-prefetch: lookup path in mknod if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 54990af07b8156bbe7d7686b3aa1e0bd2b7372c1 +Author: Raghavendra G +Date: Thu Oct 8 06:21:29 2009 +0000 + + peformance/stat-prefetch: lookup path in readlink if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 7a4c856af87c024ee8e9ff0164e26e48876380d5 +Author: Raghavendra G +Date: Thu Oct 8 06:21:27 2009 +0000 + + performance/stat-prefetch: implement sp_access + + - sp_access should send lookup on the path if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit b49ab8f21d69bf0ffb19f1837cf665a0d63ead7d +Author: Raghavendra G +Date: Thu Oct 8 06:21:26 2009 +0000 + + performance/stat-prefetch: lookup path in truncate if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 063041b55c6375d8253aec4f2d191fb1a90de31a +Author: Raghavendra G +Date: Thu Oct 8 06:21:16 2009 +0000 + + performance/stat-prefetch: lookup path in setattr if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 31a48a6b868249f01e8a1660469390b2d34969c0 +Author: Raghavendra G +Date: Thu Oct 8 06:21:14 2009 +0000 + + performance/stat-prefetch: implement sp_stat. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit f01de62f519c1cd110bf34a6cf585e8f8f88e4c2 +Author: Raghavendra G +Date: Thu Oct 8 06:21:12 2009 +0000 + + performance/stat-prefetch: lookup path in checksum if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit f114e547b742eb321f7ac4746ba79605289fbe74 +Author: Raghavendra G +Date: Thu Oct 8 06:21:11 2009 +0000 + + performance/stat-prefetch: lookup the path in open if it is not already looked up. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 8260e8c1ec061ea8fadc79695f5269781d543376 +Author: Raghavendra G +Date: Thu Oct 8 06:21:10 2009 +0000 + + performance/stat-prefetch: implement procedure sp_process_inode_ctx. + + - this procedure processes inode_ctx to make decisions like whether the + current procedure can continue (i.e., inode is already looked up), + or the procedure has to initiate/wait for lookup on the path. It also + sets up the frame->local and adds the stub corresponding to current fop + if needed. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit f89f4c64af2d9253dea28504d9f27bf08b544bf0 +Author: Raghavendra G +Date: Thu Oct 8 06:21:08 2009 +0000 + + performance/stat-prefetch: use op_errno instead of errno to store error code. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 2dc9d11fe1c8aaeba972c6fd693de1f32e5e3f1a +Author: Raghavendra G +Date: Thu Oct 8 06:21:07 2009 +0000 + + performance/stat-prefetch: Add support code to implement lookup-behind. + + - change sp_lookup and sp_lookup_cbk to support sending lookups when needed. + lookups might need to be sent in fops like open, chmod, chown etc which + operate on a path, since the actual lookup sent to stat-prefetch by its + parent xlators is not propagated down the xlator tree if the path is + cached. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 490edcd9f76726e5cc46bf9e7ddd69e496d32d7b +Author: Raghavendra G +Date: Thu Oct 8 06:21:05 2009 +0000 + + performance/stat-prefetch: remove lookup-behind in sp_lookup. + + - lookup-behind should be done on-demand basis, in fops like open + instead of in sp_lookup itself. This would reduce network traffic + between client and server related to lookup, if the only use of + lookup was to fetch stat structure. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 5c3bd66db8a911ca4da021d76237970c9eabd66c +Author: Raghavendra G +Date: Thu Oct 8 06:21:04 2009 +0000 + + performance/stat-prefetch: optimizations to sp_lookup. + + - if stat cache cannot be found for a path in its parent inode and the path + is a directory, we can get the cache from the inode corresponding to path + and look for "." in that cache. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 78da899c5ceac63c424ad3d9e712b6a26abae7ba +Author: Raghavendra G +Date: Thu Oct 8 06:21:02 2009 +0000 + + performance/stat-prefetch: Add accounting of cache hits and misses. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit b9bfc46a9a26c356bd79a453c6daa77692f0a624 +Author: Raghavendra G +Date: Thu Oct 8 06:21:01 2009 +0000 + + performance/stat-prefetch: change behaviour of sp_lookup when xattr_req is not NULL. + + - if the xattr_req is empty (fuse just creates an empty dictionary and + sends along lookup) we can still use the cache prefetched during readdir, + since we need not fill the reply dictionary. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit f5aa617d7cc4a48bb5e76fc7de763e9c3624e6b4 +Author: Raghavendra G +Date: Thu Oct 8 06:20:59 2009 +0000 + + performance/stat-prefetch: change the cache to use rbtree based hashtable instead of list for caching dentries. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 59d4142ff1938e3b327fb81bee49402057ae1382 +Author: Raghavendra G +Date: Thu Oct 8 06:20:50 2009 +0000 + + performance/stat-prefetch: fix memory leaks + + - sp_cache_get_inode uses fd_lookup which internally increases the refcount of + fd by 1. This needs to be unrefed once we get the cache. + - for directories, stat is stored in the inode context in sp_lookup_cbk. + but, while doing so, no check was being done for the presence of context + in inode, resulting in leak of memory equal to sizeof (struct stat) when + multiple lookups happened on the directory. + - path constructed in sp_readdir was not freed. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 3949b2828a78e4ecb95edb06f09fb9e7e3e5ce9b +Author: vinayak hegde +Date: Thu Oct 8 23:35:57 2009 +0000 + + debug/error-gen: Feature enhancement of error-gen translator + + In debug/error-gen translator 3-options are provided. + failure - specifies the percentage failure in fops. + error-no - specifies which error-no to be returned. + enable - specifies which are the fops to be enabled for this translator. + + Signed-off-by: Anand V. Avati + + BUG: 291 (feature enhancement of error-gen translator) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=291 + +commit d160d55c41913de26a43117b00fcab63746ce96d +Author: Raghavendra G +Date: Fri Oct 9 00:05:43 2009 +0000 + + performance/write-behind: Refining the check for fd_ctx in fds + + - An fd opened on a directory should not be considered bad if the fd context + is not set since the context is set only for fds opened on files. + + Signed-off-by: Anand V. Avati + + BUG: 260 (ls on booster VMP results in error: "File descriptor in bad state") + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=260 + +commit c74e5ac0a26ad217edc2f6ba1ed4bb0511e49084 +Author: Raghavendra G +Date: Thu Oct 8 05:59:49 2009 +0000 + + libglusterfs/defaults: default_readdirp should call fops->readdirp instead of fops->readdir. + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit adc495298c22fa3463cdd46a5e3def37878f28bb +Author: Vikas Gorur +Date: Thu Oct 8 06:31:33 2009 +0000 + + performance/write-behind: Change STACK_UNWIND to STACK_UNWIND_STRICT. + + Signed-off-by: Anand V. Avati + + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 + +commit a310d0e6b0754c43c8b89ea5b78dcc4e8f2e0462 +Author: Vikas Gorur +Date: Thu Oct 8 05:48:21 2009 +0000 + + cluster/dht: Change STACK_UNWIND to STACK_UNWIND_STRICT. + + Signed-off-by: Anand V. Avati + + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 + +commit 1534a696daf25ddea67bd2bc8e2ba1993eb366c6 +Author: Pavan Sondur +Date: Wed Oct 7 13:12:36 2009 +0000 + + Initialize local before any call to STACK_WIND to prevent a crash + + Signed-off-by: Anand V. Avati + + BUG: 304 (Write behind crashes when a chmod is issued) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=304 + +commit ef488e7cceea97c4e2750b463000a2b77fc82323 +Author: Pavan Sondur +Date: Wed Oct 7 12:55:54 2009 +0000 + + assign client_readdirp to .readdirp in protocol/client & fix 2 other bugs in call_stub + + Signed-off-by: Anand V. Avati + + BUG: 305 (Readdirp crashes in client protocol) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=305 + +commit 6215731b42a4149e78fb56cb62c2f2dc571ea2a5 +Author: Vikas Gorur +Date: Wed Oct 7 06:43:44 2009 +0000 + + mount/fuse: Handle FATTR_MODE flag properly. + + Handle the FATTR_MODE flag in fattr_to_gf_set_attr. + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 0b1197defa255ee533e568c9534bc6a5b5aadc29 +Author: Vijay Bellur +Date: Mon Oct 5 23:59:13 2009 +0000 + + Changed occurrences of Z Research to Gluster. + + Signed-off-by: Anand V. Avati + +commit 5ea9f35a538e83ebc50fca81efecbcd8ddd9951b +Author: Vikas Gorur +Date: Wed Oct 7 04:38:49 2009 +0000 + + cluster/afr: Change STACK_UNWIND to STACK_UNWIND_STRICT. + + Signed-off-by: Anand V. Avati + + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 + +commit bb8ea22c3c936254dc4e3a3813f18b78d1aec6b4 +Author: Vikas Gorur +Date: Mon Oct 5 09:25:33 2009 +0000 + + mount/fuse: Don't send fsetattr if ATIME or MTIME needs to be changed. + + There is no "futimes" call. Hence, if either the FATTR_MTIME or FATTR_ATIME + flag is set, don't send fsetattr. + + Signed-off-by: Anand V. Avati + + BUG: 296 (handle futimes correctly in FUSE) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=296 + +commit 29f81133a6cd95ebc9fac627a4fb0da73977f5a8 +Author: Pavan Sondur +Date: Mon Oct 5 09:45:52 2009 +0000 + + Removed remaining references to chmod, chown and utimens as part of setattr changes. + + Removed references to chmod, chown and utimes. Removed utimes references in AFR and writebehind. + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit f3e46f2cb44e95c453bfa20c870dca6e42fc9a7a +Author: Shehjar Tikoo +Date: Mon Oct 5 07:42:02 2009 +0000 + + core: Add rbtree based hash table + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 39243caeca3322801429afcef5094ea734438669 +Author: Shehjar Tikoo +Date: Mon Oct 5 07:42:01 2009 +0000 + + mem-pool: Include stdlib for calloc() + + Doing so removes build warnings about calloc and free + for files that use mem-pool but do not by themselves + include stdlib.h, for eg., rbthash.c + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit d03e51668d5d0849d7acd7659a3e8028db85b089 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:07 2009 +0000 + + libglusterfsclient: Port directory reading to readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 56bba06b2103aeadf33a7c7a5914f083f4d3b092 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:06 2009 +0000 + + client: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 6968e06d007c57084414dfd433f005175b5ddc23 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:05 2009 +0000 + + server: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 4b624979ce50a4fbdb34bc93241b6591d64b7f0a +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:04 2009 +0000 + + stat-prefetch: Port stat-prefetching to readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 2bcd6ffad9d9445b90627a219ccfff9535a22c6a +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:03 2009 +0000 + + io-threads: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit e1b3fa2194f0ec63b2206e081f7dc352d842ea53 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:02 2009 +0000 + + trace: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 95b6af6c355dfd5f705fd152884d6a40c8676b2c +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:01 2009 +0000 + + io-stats: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit d4bd1b3945d6792f7f8ec05b1bb642adfc824aa6 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:08:00 2009 +0000 + + error-gen: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 12947025dd2acd58b233d1c83efcab1038764189 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:59 2009 +0000 + + unify: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit ee3b60524b49fc02d68c7ba219d8015a0d7c7a97 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:58 2009 +0000 + + map: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit d3c3d0a8ddc97d7be64a2c2102fab67b8d5e81af +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:57 2009 +0000 + + ha: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 512dcad823feb199d78f5b66a09bc404ccb899e8 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:56 2009 +0000 + + distribute: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 02bced30690a5d298f262dce459bfecd001da2fe +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:55 2009 +0000 + + afr: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 6b5a8b8536a943bd7f3241e1a08de934f7566169 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:54 2009 +0000 + + posix: Support readdirp fop + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 55f55db6500835e95b324a2f28144c6a3dc55c62 +Author: Shehjar Tikoo +Date: Fri Oct 2 03:07:53 2009 +0000 + + core: Separate readdirp and readdir fops + + Signed-off-by: Anand V. Avati + + BUG: 292 (Separate readdirp functionality from readdir fop) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292 + +commit 81cc40fee8b9cebcf5fc544c5d0c734fa7dfbb90 +Author: Vikas Gorur +Date: Tue Oct 6 06:45:04 2009 +0000 + + storage/posix: Process "glusterfs.content" key in lookup only for regular files. + + Signed-off-by: Anand V. Avati + + BUG: 301 (lookup should ignore ISDIR error when trying to get content) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=301 + +commit f719a641841a2bbd6f59945e5e32350cfe89f814 +Author: Vikas Gorur +Date: Mon Oct 5 05:38:09 2009 +0000 + + features/locks: Change STACK_UNWIND to STACK_UNWIND_STRICT. + + Signed-off-by: Anand V. Avati + + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 + +commit 965b74d7d6faeebb17f580cefcadca15dece3b08 +Author: Vikas Gorur +Date: Mon Oct 5 05:37:51 2009 +0000 + + storage/posix: Change STACK_UNWIND to STACK_UNWIND_STRICT. + + Signed-off-by: Anand V. Avati + + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 + +commit 97b564c708fbb44cf1ac512d7eaca701767120d5 +Author: Vikas Gorur +Date: Mon Oct 5 05:37:31 2009 +0000 + + libglusterfs: Add STACK_UNWIND_STRICT macro. + + STACK_UNWIND_STRICT (op, frame, this, op_ret, op_errno, ...) + + The "op" argument is the name of the fop (lookup, open, etc.). + This macro makes sure that the number and type of arguments + passed match those of the callback function for the fop. + + Signed-off-by: Anand V. Avati + + BUG: 269 (Add a specialized STACK_UNWIND macro for each FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=269 + +commit 7e6c9643e69e1f8172e5be3564213d35332ae099 +Author: vinayak hegde +Date: Mon Oct 5 05:21:58 2009 +0000 + + glusterfsd.c: Pipe is used during daemonization as ipc. + + Signed-off-by: Anand V. Avati + + BUG: 117 (Wrong command line does not throw error) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=117 + +commit 8e0f5e7105c0d03b50a9342f4285a985b9cdb090 +Author: Vikas Gorur +Date: Mon Oct 5 04:01:36 2009 +0000 + + cluster/afr: Initialize local->first_up_child in AFR_LOCAL_INIT. + + Signed-off-by: Anand V. Avati + + BUG: 285 ("first up child" can change during a transaction) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=285 + +commit b441730b5b54fcd9355bef42bd0f45a4147212e4 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:16 2009 +0000 + + libglusterfsclient: Remove redundant fchown and fchmod + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 23d896068f98538954772dcd90a112b6cac17d63 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:15 2009 +0000 + + libglusterfsclient: Use fsetattr for fchown + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 1640178a1004cb5a43cdf2e5fb375807812f367f +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:14 2009 +0000 + + libglusterfsclient: Use fsetattr for fchmod + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 507a4aa75d295f6fa7db04885b65aec0f497b21e +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:13 2009 +0000 + + libglusterfsclient: Support fsetattr fop + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 3dc513b108df276b974c0ddc47f7ac9bff907448 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:12 2009 +0000 + + libglusterfsclient: Remove redundant chown code + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 0778d42be1a463f643994592073837b59d33bd76 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:11 2009 +0000 + + libglusterfsclient: Remove redundant chmod code + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 52193c0a79cb39b7456a57ff6470000dd39d6420 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:10 2009 +0000 + + libglusterfsclient: Remove redundant utimens code + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 46c23afc98e3f0c8063c4baada7baa3dd3134727 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:09 2009 +0000 + + libglusterfsclient: Use setattr for utime + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit a2013f6bc70832c7cbcc1cabbb4d74725c0adac7 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:08 2009 +0000 + + libglusterfsclient: Use setattr for utimes + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit bdeb23cac1edbc7d88978b3676461db462d89c53 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:07 2009 +0000 + + libglusterfsclient: Use setattr for chown + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit b017bcb852e3549ba7dc1dc6d23e157178bb1305 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:06 2009 +0000 + + libglusterfsclient: Use setattr for chmod + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 709d46bcdbd006fa92c9d15e7c02ba7bff86685b +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:05 2009 +0000 + + libglusterfsclient: Support setattr fop + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit 25217d43f9786b71de4d86cae122403f2cbaf1e5 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:04 2009 +0000 + + distribute: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 398de05aeba82ddfa055e8696521f3d5a4cbabe5 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:03 2009 +0000 + + ha: Handle memory allocation failures + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 3e25f229787c1b53ab61333a41345a35c070e089 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:02 2009 +0000 + + ha: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 5c61f94b00e4fcc8199126f03816896e015eb511 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:01 2009 +0000 + + symlink-cache: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 7c1bdb3aad6063f69338d92490cd4d11d4d578f1 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:59:00 2009 +0000 + + io-threads: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 1e0b3920dc0bcb8d15586adceacacedba75b17ab +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:59 2009 +0000 + + read-ahead: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit b342852f9d41c8274cdc808c1a481487b44a7ab9 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:58 2009 +0000 + + write-behind: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit cc709f8731b81faceab00b6ce18cf129e8ec8e3e +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:57 2009 +0000 + + filter: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit b02cf677ff6ec178f35e4300bb83b130c1834b05 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:56 2009 +0000 + + stripe: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit ef07ef24562d3fe4355af849d2a50a16b8fb6db7 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:55 2009 +0000 + + error-gen: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 5654dc9f93abe195fd4a1d3ed4a4971710db06e4 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:54 2009 +0000 + + locks: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit ecf1ea918f206a23c2c74a792ee61f4c5ac799c2 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:53 2009 +0000 + + io-stats: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 2bc402003cd4526f74e4b543a717aafb52a8b9ed +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:52 2009 +0000 + + trace: NFs-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 26907996756cc17f1a7df30b6f8ef130b7140924 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:51 2009 +0000 + + client: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit b5c4ad4cbb7e313f66d22148e93b58c486e32d1b +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:50 2009 +0000 + + server: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 9710782e8a42712dfbbea46b50ac3681e57a860d +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:49 2009 +0000 + + posix: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit a27e706e3105dc363bcbe3c0e3c91979cc6c89a0 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:48 2009 +0000 + + unify: NFS-friendly logic changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit e11d66c8d6dea72d02f9bcdbf65c67bd5c60b5cc +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:47 2009 +0000 + + Global: NFS-friendly prototype changes + + Signed-off-by: Anand V. Avati + + BUG: 145 (NFSv3 related additions to 2.1 task list) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145 + +commit 186a86f342625a9dce53fe537f8237c6099d5c54 +Author: Shehjar Tikoo +Date: Thu Oct 1 06:58:46 2009 +0000 + + Global: Introduce setattr and fsetattr fops + + Signed-off-by: Anand V. Avati + + BUG: 146 (Add setattr FOP) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146 + +commit dca4b2a23cb55e1e15fb393e7cbfd39b59280c9c +Author: Pavan Sondur +Date: Wed Sep 30 05:48:22 2009 +0000 + + Changes to use this->name while using logging instead of explicitly mentioning posix-locks. + + Signed-off-by: Anand V. Avati + + BUG: 290 (Clean up a calls to gf_log in locks' code) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=290 + +commit 820b88c3389b59dce190e6846703c267d7113a63 +Author: Pavan Sondur +Date: Wed Sep 30 05:47:49 2009 +0000 + + Make changes such that glusterfs builds with Werror and fix LONG_LONG_MAX definition. + + Signed-off-by: Anand V. Avati + + BUG: 289 (glusterfs does not build with Werror) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=289 + +commit 572fb95127a37c3bf45a60083ad247064d634085 +Author: Pavan Sondur +Date: Tue Sep 29 11:03:54 2009 +0000 + + Check if path is valid after call to inode_path before accessing it. + + Signed-off-by: Anand V. Avati + + BUG: 287 (call to inode_path can result in a segfault) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=287 + +commit 41c32c84892365c5230a5e61addc44dbfcd2e5cf +Author: Vikas Gorur +Date: Mon Sep 28 20:58:26 2009 +0000 + + cluster/afr: dir-write: Fix inode number handling. + + create, mkdir, symlink, mknod: Prefer to return itransform'd inode number + from the first_up_child. If not, fall back on any other child that returned + succcess. + + link, rename: Return the same inode number that + was passed as part of loc_t. + + Also adds a new member to afr_local_t, local->first_up_child + which is initialized at the start of the transaction. This + fixes the race where a subvolume might go down during the transaction + and thus have the first_up_child change. + + Signed-off-by: Anand V. Avati + + BUG: 285 ("first up child" can change during a transaction) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=285 + +commit 03b5a87b2f4d641c798440923b255ca30a13bf47 +Author: Raghavendra G +Date: Fri Sep 25 02:55:12 2009 +0000 + + libglusterfsclient: don't destroy the iobuf pool during fini. + + - some of the iobufs in pool will be cached by io-cache and hence refcount + will not be zero. Hence the assertion of ref being zero in + __iobuf_arena_destroy fails. Commenting out iobuf_pool_destroy during fini, till + we introduce proper cleanup in all translators, thereby allowing io-cache + to release the buffers it has held. + + Signed-off-by: Anand V. Avati + + BUG: 283 (booster aborts complaining the refcount of iobuf is not zero during glusterfs_umount_all.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=283 + +commit 009fc3e3e921517a7b986f7b5a73676f43edb358 +Author: Raghavendra G +Date: Fri Sep 25 02:55:44 2009 +0000 + + libglusterfsclient: traverse the vmplist during fini only if any entries are mounted. + + - the vmplist.list is inited only during mounting of first entry. Hence doing + a list traversal when no vmpentries are present, results in a segfault. + + Signed-off-by: Anand V. Avati + + BUG: 282 (segfault of applications using booster observed when the application does not mount any vmps.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=282 + +commit 5816d5dcc5e564017c101acb65e496a8d631b4eb +Author: Vikas Gorur +Date: Thu Sep 24 04:18:18 2009 +0000 + + cluster/afr: Fix memory leak in "diff" self-heal algorithm. + + FREE sh->private after diff self-heal is done. + + Signed-off-by: Anand V. Avati + + BUG: 281 (memory leak in "diff" self heal algorithm) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=281 + +commit 2317913ae5556fe402828d97f7da761124c15ba2 +Author: Vikas Gorur +Date: Thu Sep 24 04:30:06 2009 +0000 + + glusterfsd/main: Do a sem_post only if running in daemon mode. + + Signed-off-by: Anand V. Avati + + BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 + +commit 551782dfd54cb554633de526a0c4e188776c5e78 +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:52 2009 +0000 + + booster: Cleanup booster_cleanup and register for atexit + + Signed-off-by: Anand V. Avati + + BUG: 279 (File written with booster results in self-heal after dd exits) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + +commit d528f134094d86ec7344875160a41e0ce4ebc1b0 +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:51 2009 +0000 + + libglusterfsclient: Support TRACE loglevel + + Signed-off-by: Anand V. Avati + + BUG: 210 (libglusterfsclient: Enhance logging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + +commit cd13c7e7368ec60ec9b6559e2eced41bcc10d6bc +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:50 2009 +0000 + + libglusterfsclient: Wait for all call pools to be destroyed + + This ensures that the process using libglusterfsclient does + not exit before all the fops and calls have been replied to. + It helps to ensure that the backends are in a sane state when + the program exits. + + Signed-off-by: Anand V. Avati + + BUG: 279 (File written with booster results in self-heal after dd exits) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + +commit 881e5f243d3c56dcaf54595378beb91c45f1ded5 +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:49 2009 +0000 + + libglusterfsclient: Clean up fini and umount code paths + + This patch cleans up the umount and fini paths in preparation + to support waiting for unwind of all pending call frames. + + Two misc fixes are: + 1. Fix to avoid deadlock in _libgf_umount by + using _libgf_vmp_search_entry instead of + libgf_vmp_search_exact_entry since the latter tries to take a + lock already help by _libgf_umount. + + 2. Avoid a crash in _libgf_umount by deleting the vmp + entry from the list before it gets freed. + + Signed-off-by: Anand V. Avati + + BUG: 279 (File written with booster results in self-heal after dd exits) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + +commit 7398c0a694343c15292f076dbb0ae8508004d003 +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:48 2009 +0000 + + iobuf, logging: Expose existing functions as required + + Signed-off-by: Anand V. Avati + + BUG: 279 (File written with booster results in self-heal after dd exits) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279 + +commit 5d7db5410fc4a96268dcacf759a3b5ab79c2c28e +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:47 2009 +0000 + + libglusterfsclient: Reduce logging aggressiveness to TRACE + + Signed-off-by: Anand V. Avati + + BUG: 210 (libglusterfsclient: Enhance logging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + +commit 41cd359539cf0b59c4435cbecd38b71bab796449 +Author: Shehjar Tikoo +Date: Thu Sep 24 00:49:46 2009 +0000 + + booster: Reduce logging aggressiveness to TRACE + + Internal users feel the amount of logging brought in + due to a previous logging enhancement patch is a bit too + aggressive for DEBUG, so this changes it to TRACE. + + Signed-off-by: Anand V. Avati + + BUG: 210 (libglusterfsclient: Enhance logging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + +commit 03764d0d308b46ebfa53d21df1d49a549c459e64 +Author: Shehjar Tikoo +Date: Thu Sep 24 01:01:00 2009 +0000 + + libglusterfsclient: Re-validate root inode on every path resolution + + If the root inode's is outdated, send a revalidate on it. + A revalidate on root inode also reduces the window in which an + op will fail over distribute because the layout of the root + directory did not get constructed when we sent the lookup on + root in glusterfs_init. That can happen when not all children of a + distribute volume were up at the time of glusterfs_init. + + Signed-off-by: Anand V. Avati + + BUG: 256 (revalidates should be sent on '/' in libglusterfsclient.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=256 + +commit c72b902afce2b977c8d0b9b1a0463f615365d825 +Author: Raghavendra G +Date: Thu Sep 24 00:59:04 2009 +0000 + + performance/write-behind: Add a NULL check for request->stub before checking request->stub->fop. + + - for non-write wind requests, the request structure outlives the stub. + The call stub is destroyed when stack is wound but request is destroyed + only when the reply has come. + (for writes, both stub and request are destroyed when refcount becomes 0, + which happens only when the write operation is stack unwound and a reply + for the write operation has come from underlying translators, for non-write + unwind requests the request is first destroyed before resuming the stub). + + Signed-off-by: Anand V. Avati + + BUG: 280 (simple stripe, with write-behind set up, when dbench is run client crashes.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=280 + +commit 155ffe5c5a52a8f52978dc68509e5912b5db7bc4 +Author: Csaba Henk +Date: Tue Sep 22 07:53:14 2009 +0000 + + fuse: emit a flush from release if we didn't get an adjacent FLUSH message from the kernel + + Signed-off-by: Anand V. Avati + + BUG: 223 (flush not sent) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=223 + +commit 334981987010f895594031f8363f481eb7ae6416 +Author: Pavan Vilas Sondur +Date: Wed Sep 23 06:03:25 2009 +0000 + + Implemented inodelks with support for domains. + + Signed-off-by: Anand V. Avati + + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 + +commit 231196910d9d36af9546ddc511b26da5628b3ab8 +Author: Pavan Vilas Sondur +Date: Wed Sep 23 06:02:55 2009 +0000 + + Implemented entry locks and support for domains. + + Signed-off-by: Anand V. Avati + + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 + +commit 435b28132b8f276681d19ae14fa988d26a16f659 +Author: Pavan Vilas Sondur +Date: Wed Sep 23 06:01:10 2009 +0000 + + Removed internal.c and old domain definition in locks. + + Signed-off-by: Anand V. Avati + + BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222 + +commit 5535110f8e760eecb12140aafd70174e7d7bfcda +Author: vinayak hegde +Date: Wed Sep 23 06:19:21 2009 +0000 + + Changes for custom daemon function. + + Signed-off-by: Anand V. Avati + + BUG: 4 (mount --bind fails if run immediately after mounting GlusterFS) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=4 + +commit 7df1671b5af320f2c5aaeadfccda2e64d2ff404e +Author: Harshavardhana Ranganath +Date: Tue Aug 11 13:21:11 2009 +0000 + + mount.glusterfs had a problem understanding when "volfile" was given as one of the mount arguments. + + Signed-off-by: Anand V. Avati + + BUG: 204 (mount.glusterfs mounts to incorrect mount point) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=204 + +commit 044679501c13024950751cbebe8fd47cc73e8bf9 +Author: Raghavendra G +Date: Wed Sep 23 00:22:17 2009 +0000 + + performance/write-behind: store currently aggregated data size in wb_file + + - this helps us to not traverse the request list whenever we need currently + aggregated data in the queue + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 3d1f342671bb11159569fd2a4f20b2c9007e7b55 +Author: Raghavendra G +Date: Wed Sep 23 00:21:51 2009 +0000 + + performance/write-behind: store the current window size in wb_file. + + - this would increase the performance since we don't have to traverse the + request list every time we need the current window size. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 2f1261c194d8735e50dfa3846b3cd23654ed7391 +Author: Raghavendra G +Date: Wed Sep 23 00:21:31 2009 +0000 + + performance/write-behind: reduce usage of iov_length. + + - request structure now holds a member write_size which is initialised at the + time of request creation and used later. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 35f96c039e8961e48af46af43b6ecf7a335feb15 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:32 2009 +0000 + + cluster/afr: Add new option "data-self-heal-algorithm" + + option: data-self-heal-algorithm type: string default: "full" + + This option allows the user to specify the algorithm to + be used for data self-heal. Currently supported values + are "full" and "diff". + + Signed-off-by: Anand V. Avati + +commit d2b7e65ec0c35c4ee16f28f449553d90fb88fa6a +Author: Vikas Gorur +Date: Thu Sep 17 05:56:31 2009 +0000 + + cluster/afr: Add the "diff" self-heal algorithm. + + The "diff" self-heal algorithm works as follows: + + For each block: + Compute MD5 checksum on source and all sinks + If checksum on a sink differs from source: + Read block from source and write to sinks + + Signed-off-by: Anand V. Avati + +commit 8c224de82b9b3e75f2dd9c264d5d3726dd1ef379 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:30 2009 +0000 + + cluster/afr: Make the self-heal algorithm pluggable. + + Abstract the read/write loop part of data self-heal. This + patch has support for the "full" (i.e., read and write entire + file) algorithm. + + Signed-off-by: Anand V. Avati + +commit 356449c0b39d600a16b195df30d0fc37693575f8 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:29 2009 +0000 + + cluster/afr: Open source and sinks in read/write mode during self-heal. + + Since a self-heal algorithm (e.g., rsync) might want to both read + and write from both the source and sink files, open them as O_RDWR. + + Signed-off-by: Anand V. Avati + +commit a4d729c7dccd5cdf72f640e39564103412d867ec +Author: Vikas Gorur +Date: Thu Sep 17 05:56:28 2009 +0000 + + protocol/server: Implement rchecksum. + + Signed-off-by: Anand V. Avati + +commit 4f9fa11a788dc367f89ca47544f42323c0e73a14 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:27 2009 +0000 + + protocol/client: Implement rchecksum. + + Signed-off-by: Anand V. Avati + +commit 45707a5ae95a9154a57fb7bf56f7cd64e2c40896 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:26 2009 +0000 + + storage/posix: Implement rchecksum. + + Signed-off-by: Anand V. Avati + +commit faf97734112ebe11d8a411351d9f23b528b9d616 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:25 2009 +0000 + + libglusterfs: Add RCHECKSUM fop. + + rchecksum (fd, offset, len): Calculates both the weak and strong + checksums for a block of {len} bytes at {offset} in {fd}. + + Signed-off-by: Anand V. Avati + +commit 239d2cbdb0a4c32df9f21de8385e2c466b934178 +Author: Vikas Gorur +Date: Thu Sep 17 05:56:24 2009 +0000 + + libglusterfs: Add checksum functions. + + gf_rsync_weak_checksum: Calculates a simple 32-bit checksum. + gf_rsync_strong_checksum: Calculates the MD5 checksum. + + The strong checksum function makes use of Christophe Devine's + MD5 implementation (adapted from the rsync source code, + version 3.0.6. ). + + Signed-off-by: Anand V. Avati + +commit 0def744b2e66e81ac37532b26716e83d3b8bc9dd +Author: Raghavendra G +Date: Tue Sep 22 00:22:12 2009 +0000 + + booster: implement F_DUPFD command in fcntl. + + Signed-off-by: Anand V. Avati + + BUG: 277 (running dd on booster returns EINVAL) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=277 + +commit 8301f05f77aa08f04e249c19576a7c111e586109 +Author: Raghavendra G +Date: Tue Sep 22 01:39:10 2009 +0000 + + performance/write-behind: add option "enable-trickling-writes". + + - With this option enabled, writes are stack-wound even though not enough + data is aggregated, provided there are no write-requests which are + stack-wound but reply is yet to come. The reason behind this option + is to make use of the network, which is relatively free (with no writes + or replies in transit). However, with non-standard block-sizes of writes + the performance can actually degrade. Hence making this configurable. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 35d1cabfd1266609ec22f11e5e4ddba13f0ffc56 +Author: Raghavendra G +Date: Tue Sep 22 01:38:37 2009 +0000 + + performance/write-behind: reduce traversal of request list during wb_mark_winds. + + - move all the decision making code to __wb_can_wind. + - don't continue traversing the request list, once we know any of the + following conditions are true: + * requests other than write are present in queue. + * writes are happening at non-contiguous offsets. + * there are no write requests, which are wound to server but not yet + received the reply. + * enough data is aggregated for writing. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit db33e097111ca76f487f087d494984d45d4b3b64 +Author: Raghavendra G +Date: Tue Sep 22 01:38:50 2009 +0000 + + performance/write-behind: reduce list-traversal during wb_mark_unwinds + + - don't traverse entire request list to get the window-size, instead break when current + window size becomes greater than configured limit. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 32a6898678686df1b2c82a37e548170ba5c3512b +Author: Raghavendra G +Date: Tue Sep 22 01:38:25 2009 +0000 + + performance/write-behind: remove redundant traversal of write-requests in the wind list in wb_ sync. + + - no need of getting the total_count of number of requests in the list. + Even if there is a single request, we need to sync it. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit 8a0d85eb936f9483a5d23d67cf5989351d5f86d7 +Author: Raghavendra G +Date: Tue Sep 22 01:38:12 2009 +0000 + + performance/write-behind: Aggregate adjacent contiguous write-buffers into single iobuf. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit ecb8f4dfce0bfdba8d14532231a7596a73def38e +Author: Raghavendra G +Date: Tue Sep 22 01:37:59 2009 +0000 + + performance/write-behind: fine-tune logic of wb_mark_winds + + - remove wb_mark_wind_aggregegate_size_aware, since wb_mark_wind_all does + the same work (with check for whether current aggregated data size is + greater than the configured limit before calling it). Moreover, + wb_mark_wind_aggregate_size_aware called __wb_get_aggregate_size + redundantly, thereby reducing the performance, since for small + sized large number of writes, traversing the list of requests takes + significant amount of time. + + Signed-off-by: Anand V. Avati + + BUG: 276 (write behind needs to be optimized.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=276 + +commit fd0b40a2f3e7e1c56b742c9ae081785811030a3c +Author: Shehjar Tikoo +Date: Mon Sep 21 05:32:42 2009 +0000 + + libglusterfsclient: Fix build warnings + + Signed-off-by: Anand V. Avati + + BUG: 275 (libglusterfsclient: Generic build failure bug for libglusterfsclient and booster) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=275 + +commit 6f7c6c102a418553a109e1b2bb5b1f87578bab58 +Author: Shehjar Tikoo +Date: Mon Sep 21 05:32:32 2009 +0000 + + booster: Fix build warnings + + Signed-off-by: Anand V. Avati + + BUG: 275 (libglusterfsclient: Generic build failure bug for libglusterfsclient and booster) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=275 + +commit 1fc259cb73cb199052519f548dfbb1b83829b28f +Author: Vikas Gorur +Date: Mon Sep 21 05:19:47 2009 +0000 + + storage/posix: Update nr_files after system call succeeds. + + In posix_open(), posix_create(), and posix_close(), update + stats->nr_files only after the FOP has succeeded. + + Signed-off-by: Anand V. Avati + + BUG: 248 (Updating stats in posix is incorrect) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=248 + +commit 578e42399fa86f15dffffd5d35f96f3a248d651d +Author: Raghavendra G +Date: Fri Sep 18 05:53:52 2009 +0000 + + performance/quick-read: refine logic of qr_readv. + + - An extra vector was being allocated when the number of bytes being read + from cache were equal to the iobuf size. + + Signed-off-by: Anand V. Avati + + BUG: 274 (Memory corruption in Apache running on booster) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=274 + +commit c98c65c940a8120982aeaf5f15d0522a002c5b80 +Author: Raghavendra G +Date: Fri Sep 18 05:48:04 2009 +0000 + + performance/quick-read: optimizations to lookup + + - qr_lookup not to send request for file-content if the cache is already + present during revalidates. + - flush the cache in qr_lookup_cbk if the cache is not in sync with the file. + + Signed-off-by: Anand V. Avati + + BUG: 273 (Code review and optimize quick-read) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + +commit 4a272e7ba02487b2596814035a266974d57e6b04 +Author: Raghavendra G +Date: Fri Sep 18 05:48:13 2009 +0000 + + performance/quick-read: make a comment more explicit. + + Signed-off-by: Anand V. Avati + + BUG: 273 (Code review and optimize quick-read) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + +commit 6f692f0f39f9fe32936135947c91629044ae4d2c +Author: Raghavendra G +Date: Fri Sep 18 05:47:56 2009 +0000 + + performance/quick-read: checking for qr_file in inode-context and creating if not present should be atomic. + + Signed-off-by: Anand V. Avati + + BUG: 273 (Code review and optimize quick-read) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + +commit 5de57e490c8e3c2764777da6bf750a4f5e23f2b3 +Author: Raghavendra G +Date: Fri Sep 18 05:47:43 2009 +0000 + + performance/quick-read: refine the logic in qr_lookup. + + - a new size has to be set in xattr_req only + if (quick-read is configured with a maximum file size limit + && ((xattr_req does not have a request key for getting content) + || (the size requested in xattr_req is not equal to configured + size in quick-read))) + + Signed-off-by: Anand V. Avati + + BUG: 273 (Code review and optimize quick-read) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=273 + +commit cb596d7e847543906c62eb3b07c88c60acac15ae +Author: Raghavendra G +Date: Thu Sep 17 15:08:21 2009 +0000 + + protocol/client: access glusterfs context from the ctx member of xlator object + + - A global context pointer cannot be used with libglusterfsclient, since + there can be many contexts in a single process. + + Signed-off-by: Anand V. Avati + + BUG: 271 (applications using booster protocol/client crash in client_setvolume_cbk.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=271 + +commit f0f547f79792af9fe8228f2028bd1dd30d976e68 +Author: Raghavendra G +Date: Thu Sep 17 00:08:26 2009 +0000 + + performance/write-behind: check for the presence of context only in fds not opened on directories. + + Signed-off-by: Anand V. Avati + + BUG: 260 (ls on booster VMP results in error: "File descriptor in bad state") + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=260 + +commit bad3de155a3a910c6665a39555aeb823803635c9 +Author: Raghavendra G +Date: Wed Sep 16 12:33:21 2009 +0000 + + client-protocol: fix race-condition encountered while accessing fdctx + + - In protocol/client, fdctx is accessed by two sets of procedures, + protocol_client_mark_fd_bad falls in one set whereas the other set consists of + all fops which receive fd as an argument. The way these fdctxs are got is + different in these two sets. While in the former set, fdctx is accessed + through conf->saved_fds, which is a list of fdctxs of fds representing + opened/created files. In the latter set, fdctxs are got directly from fd + through fd_ctx_get(). Now there can be race conditions between two threads + executing one procedure from these two sets. As an example let us consider + following scenario: + + A flush operation is timed out and polling thread executing + protocol_client_mark_fd_bad, fuse thread executing client_release. This can + happen because, immediately a reply for flush is written to fuse, a release on + the same fd can be sent to glusterfs and the polling thread still might be + doing cleanup. Consider following set of events: + + 1. fuse thread does fd_ctx_get (fd). + 2. polling thread gets the same fdctx but through conf->saved_fds. + 3. Now both threads go ahead and does list_del (fdctx) and eventually free + fdctx. + + In other situations the same set events might occur and the threads + executing fops other than flush in the second set might be accessing a + fdctx freed in protocol_client_mark_fd_bad. + + Signed-off-by: Anand V. Avati + + BUG: 127 (race-condition in accessing fdctx in protocol/client) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=127 + +commit c55a0a287b18ace123964e017c759947a5fbac2f +Author: Raghavendra G +Date: Fri Sep 11 07:42:44 2009 +0000 + + performance/quick-read: access glusterfs_ctx from xlator instead of using glusterfs_get_ctx + + - since glusterfs_get_ctx gets the global context pointer, there can be + problems in a multithreaded application running on libglusterfsclient + doing multiple glusterfs_inits. Hence use context specific to the + current xlator tree stored in each xlator object. + + Signed-off-by: Anand V. Avati + + BUG: 240 (segmentation fault in qr_readv) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=240 + +commit a767c08c0e92e2e8caf4667d97aa5e5c3a13efb0 +Author: Pavan Sondur +Date: Wed Sep 16 08:53:33 2009 +0000 + + Add iot_fxattrop to io-threads + + It was already implemented but not set to .fxattrop + + Signed-off-by: Anand V. Avati + + BUG: 267 (Add fxattrop to iothreads) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=267 + +commit 9fd8f212bc1f6031b9ad7eaaf014d39916881947 +Author: Vijay Bellur +Date: Tue Sep 15 04:47:50 2009 +0000 + + Dumop inodectx added + + Added dumpop inodectx. + Support for dumop inodectx added in dht, locks and client-protocol. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit dcfc4bdd5962ad18665d9ad3f3309884c941845e +Author: Vijay Bellur +Date: Tue Sep 15 04:46:44 2009 +0000 + + Changed prototype for inode_table_dump() and inode_dump(). + + Changed prototype for inode_table_dump() and inode_dump() + Added support for dumpop inode in mount/fuse and protocol/server + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit 5480b6eca96a8da4b159783a19f2ed5c2f640769 +Author: Vijay Bellur +Date: Tue Sep 15 04:45:08 2009 +0000 + + protocol/client: Support for dumpop priv. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit b542a8e5323fad46ce4e5f8921c906a58cff91d2 +Author: Vijay Bellur +Date: Tue Sep 15 04:44:41 2009 +0000 + + mount/fuse: Support for dumpop priv. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit db3d9ff328a9ce65db452d628f33c3151e131d5e +Author: Vijay Bellur +Date: Tue Sep 15 04:43:48 2009 +0000 + + cluster/dht: Support for dumpop priv. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit fd9c608193b3318a543f25f75af7b888d85c4405 +Author: Vijay Bellur +Date: Tue Sep 15 04:43:29 2009 +0000 + + libglusterfs:Acquire lock before accessing fdtable contents during statedump. + + Hold lock while dumping fdtable. + Dump only inode ino instead of the complete inode. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit 58e6643e036bda21f686955d779bb95ac513ab62 +Author: Vijay Bellur +Date: Tue Sep 15 04:42:09 2009 +0000 + + glusterfsd: Removing conditional compilation for SIGUSR1 handler. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit 34a7a97b3be80fa8af7d285211ab575a4c00ea79 +Author: Anand Avati +Date: Wed Sep 16 05:43:01 2009 +0000 + + io-cache: fix table->max_pri to 1 as the lowest priority + + patch http://patches.gluster.com/patch/1319/ breaks when no priority + is mentioned in the config. the patch makes ioc_get_priority() return + 1 as the value when no priority is given, but ioc_get_priority_list() + was still returning 0 as the max_pri (maximum priority) which would + result in lru list heads not getting initialized + + Signed-off-by: Anand V. Avati + + BUG: 261 (support for disabling caching of certain files) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=261 + +commit 47b340a0d499d5f9364f763e5794a433be609e17 +Author: Vinayak Hegde +Date: Wed Sep 16 02:37:19 2009 +0000 + + cluster/stripe, when dbench is run, client crashes because in stripe.c priv is dreferenced without initialising. + + Signed-off-by: Anand V. Avati + + BUG: 266 (In stripe client crashes after some time when disk space is full) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=266 + +commit e16fc897aeece7598da195bb9bd050e352ff31ec +Author: Raghavendra G +Date: Tue Sep 15 08:06:56 2009 +0000 + + booster: use __REDIRECT macro to prevent creat being renamed to creat64. + + - nm on libglusterfs-booster.so shows only creat64 defined but not creat. This + behavior is observed due to following reasons. + + 1. Booster is compiled with _FILE_OFFSET_BITS=64. + 2. fcntl.h when included with _FILE_OFFSET_BITS=64 defined, renames all + occurences of creat to creat64 in the source code from the point of + #include . + + fcntl.h should be included since booster.c uses many of the macros defined in + that header and glusterfs (booster in turn) has to be compiled with + _FILE_OFFSET_BITS=64 since glusterfs uses datatypes (off_t, stat etc) whose + sizes vary depending on whether this macro is defined or not. Basically, this + macro should be defined to provide portability across 32 and 64 bit + architectures. + + The correct fix is to make glusterfs to use datatypes big enough to hold 64 bit + variants as well as 32 bit variants (like int64_t replacing off_t) and not to + define _FILE_OFFSET_BITS=64 at all. + + As a temporary work around, + 1. we can implement creat functionality in a function with different name, say + booster_false_creat + 2. rename this function to creat using __REDIRECT macro. since this renaming + happens after renaming of creat to creat64 (from the first __REDIRECT macro + in fcntl.h), we will end up with creat symbol being defined in + libglusterfs-booster.so + + Signed-off-by: Anand V. Avati + + BUG: 264 (creat is not resolved properly to the symbol defined in booster) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=264 + +commit 3508a2d237cee98eb5c890011b569a1820b57f5c +Author: Raghavendra G +Date: Tue Sep 15 08:07:30 2009 +0000 + + libglusterfsclient: NULL terminate the vmp entry during vmp_entry_init. + + Signed-off-by: Anand V. Avati + + BUG: 263 (files are not resolved to glusterfs when vmp is not terminated with a '/'.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=263 + +commit 7bc96160b977345bda80c09e212d9d9c80243e7f +Author: Raghavendra G +Date: Tue Sep 15 08:07:15 2009 +0000 + + booster: use appropriate conversion specifier during logging in close. + + Signed-off-by: Anand V. Avati + + BUG: 262 (crash in booster close due to invalid conversion specifier during logging.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=262 + +commit 8719f88fc85051b706c0fbf2904ace04435b2b05 +Author: Stephan von Krawczynski +Date: Mon Sep 14 05:59:55 2009 +0000 + + 2.0.6 patch for io-cache pattern-matched non-caching + + Hello all, + + here is a small feature patch. Its intention is to give the user more control + over the files performance/io-cache really caches. If the user knows exactly + which files should be cached and which shouldn't there is currently no way to + tell glusterfs _not_ to cache certain pattern. This patch allows you to + disable caching by setting the priority of a pattern to "0". If you do not + give any priority option it works just like before and caches everything. + Honestly I am not totally sure that disabling caching works the way we did it, + please comment. + + Signed-off-by: Anand V. Avati + + BUG: 261 (support for disabling caching of certain files) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=261 + +commit ece4e80b2d2326aa5fadc46c866947c9644622a7 +Author: Raghavendra G +Date: Tue Sep 15 01:15:14 2009 +0000 + + storage/posix: transform inode number in stat structure + + - when export directory is configured to span across multiple mountpoints, + the inode number has to be transformed in order to make it unique. + + Signed-off-by: Anand V. Avati + + BUG: 254 (storage/posix has to do inode number transformation wherever it unwinds with a stat structure) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=254 + +commit a5f0b3d7d1b23053ce9327be91323e92ce554b32 +Author: Shehjar Tikoo +Date: Tue Sep 15 01:03:56 2009 +0000 + + extras: Add LD_PRELOAD test tool + + This tool allows us to check the sanity of the LD_PRELOAD + mechanism so that we can be sure that an application's syscalls + will be redirected into booster when that library is LD_PRELOADed. + + In case of failed syscalls, this tool should be run first + to see if the calls are redirected as required. + + Signed-off-by: Anand V. Avati + + BUG: 251 (Improve booster debugging through ld-preload testing tool) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=251 + +commit ad33df39dec4850c249c453822a99b3038b41389 +Author: Raghavendra G +Date: Tue Sep 15 00:33:30 2009 +0000 + + transport/ib-verbs: initialize fini member of new-transports created during accepting client connections. + + - This bug used to cause a memory leak of 2 * sizeof(ib_verbs_private_t) for each new client connection. + + Signed-off-by: Anand V. Avati + + BUG: 259 (Memory leak on server side when there are large number of disconnections from clients) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=259 + +commit e73e7afe5630894faa7a2829969cd16ea99e3c71 +Author: Raghavendra G +Date: Thu Sep 10 07:18:10 2009 +0000 + + libglusterfsclient: Wait for time ample enough for all the children of distribute to initialize before sending lookup on '/'. + + Signed-off-by: Anand V. Avati + + BUG: 255 (libglusterfsclient should wait till all the children of distribute are initialized before sending first lookup on '/') + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=255 + +commit 31f0f48130fb68908413e710d960c5d7c6476b45 +Author: Raghavendra G +Date: Wed Sep 9 12:15:11 2009 +0000 + + protocol/server: server_stub_resume should check for failure of lookup when oldloc.parent is NULL. + + Signed-off-by: Anand V. Avati + + BUG: 215 (crash on ib-verbs in 2.0.6-rc4) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=215 + +commit aedc8ae261095530e334788afb7191fa3a92e710 +Author: Shehjar Tikoo +Date: Wed Sep 9 00:39:13 2009 +0000 + + booster: Fix fd_t leak in pread64 + + Signed-off-by: Anand V. Avati + + BUG: 174 (booster: fd_ts, they are a leakin) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174 + +commit 6aff97e9698918af6d5e479b0240610d40cbe344 +Author: Shehjar Tikoo +Date: Wed Sep 9 00:39:12 2009 +0000 + + libglusterfsclient: Fix incorrect NULL check for fd + + We should check fdctx instead. + + Signed-off-by: Anand V. Avati + + BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + +commit 19f3591e4ac291d48252849e03afd2ac77205316 +Author: Shehjar Tikoo +Date: Wed Sep 9 00:39:11 2009 +0000 + + libglusterfsclient: Handle CALLOC failure in libgf_client_lookup + + Signed-off-by: Anand V. Avati + + BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + +commit bc94b7e77fffcbcde8f838cae8fee552d5bd1189 +Author: Shehjar Tikoo +Date: Wed Sep 9 00:39:10 2009 +0000 + + libglusterfsclient: Handle CALLOC failure in libgf_init_vmpentry + + Signed-off-by: Anand V. Avati + + BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + +commit 226c228ff8effd6cc5edcb3326907b1faf69eaea +Author: Shehjar Tikoo +Date: Wed Sep 9 00:39:09 2009 +0000 + + libglusterfsclient: Add inode_ctx NULL check during iattr cache validation + + Signed-off-by: Anand V. Avati + + BUG: 253 (Global bug for libglusterfsclient NULL checks and CALLOC handling fixes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=253 + +commit fd418ecf5d1eb4d3b65cff0890f8897592f2e9c8 +Author: Shehjar Tikoo +Date: Tue Sep 8 23:39:35 2009 +0000 + + libglusterfsclient: Enhance logging + + Signed-off-by: Anand V. Avati + + BUG: 210 (libglusterfsclient: Enhance logging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + +commit c4feaddee1120985422346eb0ffdfb62c796ad1b +Author: Shehjar Tikoo +Date: Tue Sep 8 23:39:13 2009 +0000 + + booster: Enhance booster logging + + Signed-off-by: Anand V. Avati + + BUG: 210 (libglusterfsclient: Enhance logging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + +commit b1cb5fce13eb1a31e694f0fcb81002d48455b750 +Author: Vikas Gorur +Date: Tue Sep 8 06:08:00 2009 +0000 + + mount/fuse: Set d_type in readdir_cbk using the stat buf for the entry. + + Signed-off-by: Anand V. Avati + + BUG: 207 ([ glusterfs 2.0.6rc4 ] - "ls --color" takes time) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=207 + +commit b1246773d17fadf93abb54c2fd504b3fc31944a9 +Author: Vikas Gorur +Date: Tue Sep 8 05:06:22 2009 +0000 + + cluster/afr: Check op_ret in afr_getxattr_cbk before accessing dict + + Signed-off-by: Anand V. Avati + + BUG: 250 (Crash in replicate getxattr) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=250 + +commit 1eb3fd72b13353fdb93dd0773d9da7aafccdde6b +Author: Vikas Gorur +Date: Thu Sep 3 09:44:34 2009 +0000 + + cluster/afr: Do not try to self-heal "/" + + If the root directory does not exist on a subvolume, + don't try to create it. + + Signed-off-by: Anand V. Avati + + BUG: 28 (Deleting a backend export directory in an AFR setup can cause a segfault while trying to self heal) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=28 + +commit 5ce1007f3b9a5234caa5b8a8c168c6b673d37f7e +Author: Raghavendra G +Date: Thu Sep 3 04:48:14 2009 +0000 + + performance/write-behind: hold locks when accessing members of wb_file. + + Signed-off-by: Anand V. Avati + + BUG: 243 (Hold locks when accessing members of wb_file_t.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=243 + +commit bdec7d133963bb94528bfbf5c47dd1eb08bf4b35 +Author: Raghavendra G +Date: Wed Sep 2 04:54:23 2009 +0000 + + performance/write-behind: communicate back the errors in writes to servers, in the next immediate writes from application. + + Signed-off-by: Anand V. Avati + + 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 + +commit c7f757aea81e65980c68b4293836097ce595b5b3 +Author: Raghavendra G +Date: Wed Sep 2 01:12:39 2009 +0000 + + libglusterfsclient: handle intermediate path components which are symlinks properly in glusterfs_glh_realpath. + + - while building the realpath, if the intermediate path happens to be a + symbolic link, the content of link was being appended at dirname (path), + instead of appending to intermediate path. + + Signed-off-by: Anand V. Avati + + BUG: 237 (If any of the path component other than the last one, happens to be a symbolic link glusterfs_glh_realpath does not construct correct path.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=237 + +commit 6f1a9007f4876d46bd2d67e67312c24771d82bf5 +Author: Raghavendra G +Date: Tue Sep 1 00:34:02 2009 +0000 + + libglusterfsclient: handle paths terminating with '/' properly in libgf_trim_to_prev_dir. + + Signed-off-by: Anand V. Avati + + BUG: 236 (Stack overflow due to infinite recursion in glusterfs_glh_realpath) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=236 + +commit 8d696f317ef06e045de380d4408b814a3214ced7 +Author: Raghavendra G +Date: Thu Sep 3 13:42:04 2009 +0000 + + libglusterfsclient: handle failures in glusterfs_glh_realpath. + + Signed-off-by: Anand V. Avati + + BUG: 235 (Handle failures in glusterfs_glh_realpath appropriately) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=235 + +commit ea8a20f3e68d5ccade465b60d98030c0c1bb4426 +Author: Raghavendra G +Date: Tue Sep 1 00:19:57 2009 +0000 + + libglusterfsclient: check for memory allocation failure in glusterfs_glh_realpath. + + Signed-off-by: Anand V. Avati + + BUG: 235 (Handle failures in glusterfs_glh_realpath appropriately) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=235 + +commit b27afdea5d8c594e160a099e2dd814fa33529276 +Author: Raghavendra G +Date: Tue Sep 1 03:52:20 2009 +0000 + + libglusterfsclient: handle symlinks properly in glusterfs_glh_opendir. + + - exclude symbolic links from set of filetypes to which ENOTDIR is returned, + since a symbolic link can point to a directory. + + Signed-off-by: Anand V. Avati + + BUG: 234 (Apache-2.2 on booster returns HTTP_FORBIDDEN for a directory which is present) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=234 + +commit 342100dac9d0e01039b8cd8a0da4426b70d27060 +Author: Raghavendra G +Date: Tue Sep 1 00:00:44 2009 +0000 + + libglusterfsclient: fix to the way symbolic links are handled in glusterfs_glh_realpath. + + - don't assume the content returned by readlink while constructing realpath + of a symbolic link to contain vmp as part of the path. This is necessary in + case of symbolic links which contain relative paths as targets. + + Signed-off-by: Anand V. Avati + + BUG: 233 (Crash in Apache running on booster when a client tries to access a symbolic link) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=233 + +commit 6cd8070af4c83cca9f3f7685a2a04bcb95059dd1 +Author: Raghavendra G +Date: Mon Aug 31 22:53:33 2009 +0000 + + performance/quick-read: if open fails during cache validation, don't continue validation process. + + Signed-off-by: Anand V. Avati + + BUG: 232 (Quick-read: if open fails during cache validation, don't continue validation process.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=232 + +commit d6bc71ccb3a5265b01d188497213d797d7217c3d +Author: Raghavendra G +Date: Mon Aug 31 22:52:34 2009 +0000 + + performance/quick-read: Fix access of freed memory in qr_open_cbk. + + - It may so happen that current frame might be unwound and + local might be freed when waiting operations are resumed. + Hence store the information of whether this frame belongs + to an open call in a local variable, instead accessing the + flag from local at the end of qr_open_cbk. + + Signed-off-by: Anand V. Avati + + BUG: 231 (Quick-read: Fix access of freed memory in qr_open_cbk.) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=231 + +commit 8c95c2b69c08fa5c7d845e73d0e63fb2f001c511 +Author: Vikas Gorur +Date: Fri Sep 4 01:43:43 2009 +0000 + + storage/posix: Synchronize access to this->private. + + Hold lock on priv while updating variables inside it. + + Signed-off-by: Anand V. Avati + + BUG: 175 (Statistics for number of open files in Posix incorrect) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=175 + +commit fdef6f360f0755847d2520d79a4c7f0af35c7b0a +Author: Vikas Gorur +Date: Mon Sep 7 03:13:50 2009 +0000 + + storage/posix: Handle setgid bit on directories correctly + + If a directory has the setgid bit set, then any entry + created under it must have group ownership same as + the directory. + + Signed-off-by: Anand V. Avati + + BUG: 241 (Gluster not honouring SETGID flag) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=241 + +commit eecce95c2fc4713146e4ba99817abaac94102763 +Author: Raghavendra G +Date: Sun Aug 23 22:37:37 2009 +0000 + + performance/stat-prefetch: don't check for a non-null parent and inode in newloc during rename. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit ef073ee5430e1f3af3bd580dd99a72352889756b +Author: Raghavendra G +Date: Sun Aug 23 22:37:26 2009 +0000 + + performance/stat-prefetch: minor bug-fixes. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 6bf11bf0dee3d3e70536a96cb8f8a4b01c26b445 +Author: Raghavendra G +Date: Sun Aug 23 22:37:16 2009 +0000 + + performance/stat-prefetch: update design document. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit a5c829a3aa1d2f66dc85350bd4c163ef12507d44 +Author: Raghavendra G +Date: Sun Aug 23 22:37:10 2009 +0000 + + storage/posix: handle dentries from different mount points in readdir + + - If posix translator is configured to have export directories to span accross + different mount points, inode number is transformed in the dentry returned. + Otherwise, the entry is not added to list of entries returned in readdir + callback. + - storage/posix returns ENOENT if the file is on different mount point other + than that of exported directory and is not configured for export directory + spanning across multiple mountpoints during lookup. But, since stat-prefetch + shortcuts lookup calls, its necessary that readdir return only valid + dentries. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 727c933a62e6b436c0aabcf80b6cd67620ee5429 +Author: Raghavendra G +Date: Sun Aug 23 22:37:02 2009 +0000 + + performance/stat-prefetch: implement release callbacks. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 1d8f96e8c88b698a6cd1ec1f1a54f1b8aef70504 +Author: Raghavendra G +Date: Sun Aug 23 22:36:57 2009 +0000 + + performance/stat-prefetch: implement sp_fxattrop. + + .../performance/stat-prefetch/src/stat-prefetch.c | 37 ++++++++++++++++++++ + 1 files changed, 37 insertions(+), 0 deletions(-) + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 5e89bf62f8fb7a2a863f8b0c08ee1815a5aa5b38 +Author: Raghavendra G +Date: Sun Aug 23 22:36:47 2009 +0000 + + performance/stat-prefetch: implement sp_xattrop. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 284b42546e01f81e53b45695de1b4c893c98f418 +Author: Raghavendra G +Date: Sun Aug 23 22:36:37 2009 +0000 + + performance/stat-prefetch: implement sp_checksum. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 251c9d6e83d4bdcc8180fc9f612fbef7ff4d39c3 +Author: Raghavendra G +Date: Sun Aug 23 22:36:28 2009 +0000 + + performance/stat-prefetch: implement sp_getdents. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 26be5dc52d771b37d4e9da8814111448e4e68148 +Author: Raghavendra G +Date: Sun Aug 23 22:36:17 2009 +0000 + + performance/stat-prefetch: flush stat corresponding to directory being read in readdir + + - delete the entry corresponding to basename of path on which fd is opened + from cache stored in parent. This is necessary because readdir changes + st_atime. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 155e6342d4f72d3be500510277b0808859ae2d2c +Author: Raghavendra G +Date: Sun Aug 23 22:36:08 2009 +0000 + + performance/stat-prefetch: implement sp_setdents. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 9d30a68082659c27a9dac6e4d1a98e2be8bf5bf8 +Author: Raghavendra G +Date: Sun Aug 23 22:36:02 2009 +0000 + + performance/stat-prefetch: implement sp_removexattr. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit a3449caf58d7e4876cf0246e22b044a8de8bde2b +Author: Raghavendra G +Date: Sun Aug 23 22:35:52 2009 +0000 + + performance/stat-prefetch: implement sp_setxattr. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 52c34af5f4814b0b85efdc3c4d23638b6ca5514c +Author: Raghavendra G +Date: Sun Aug 23 22:35:36 2009 +0000 + + performance/stat-prefetch: implement sp_rename. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 42d7559e8de1ca9c35dee6f731350c01a53932ad +Author: Raghavendra G +Date: Sun Aug 23 22:35:02 2009 +0000 + + performance/stat-prefetch: implement sp_fsync. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 562e2afbc6540d093086d4b41c6acedb48e1b0c5 +Author: Raghavendra G +Date: Sun Aug 23 22:32:06 2009 +0000 + + performance/stat-prefetch: implement sp_writev. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 4b4b44960f5b6ccf1b0c5a222708654ae1d32a53 +Author: Raghavendra G +Date: Sun Aug 23 22:32:00 2009 +0000 + + performance/stat-prefetch: implement sp_readv. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 1a2db6ed799d9ce05232422f5d5094da4fd5c35c +Author: Raghavendra G +Date: Sun Aug 23 22:31:53 2009 +0000 + + performance/stat-prefetch: implement sp_rmdir. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 29c282b1605afe6d6016660e21018e1954ce0a79 +Author: Raghavendra G +Date: Sun Aug 23 22:31:45 2009 +0000 + + performance/stat-prefetch: implement sp_unlink. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 22ec7a4cb2e05f2c3c4512d80256008caa8b994b +Author: Raghavendra G +Date: Sun Aug 23 22:31:37 2009 +0000 + + performance/stat-prefetch: implement sp_readlink. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 4538285776eeaa5383d7473438440d953fd9e232 +Author: Raghavendra G +Date: Sun Aug 23 22:31:28 2009 +0000 + + performance/stat-prefetch: implement sp_utimens. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 4d305aa59877b52a6818e87630c3ee7f5b050d5b +Author: Raghavendra G +Date: Sun Aug 23 22:31:19 2009 +0000 + + performance/stat-prefetch: implement sp_ftruncate. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 464f92cac5cd932386bb3b816c207e16c88cfe06 +Author: Raghavendra G +Date: Sun Aug 23 22:31:12 2009 +0000 + + performance/stat-prefetch: implement sp_truncate. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit e5097a05fb2b95c53c24ab891e54259e6c5f4378 +Author: Raghavendra G +Date: Sun Aug 23 22:31:04 2009 +0000 + + performance/stat-prefetch: implement sp_fchown. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit d943335cf06c6569d6517e073b1619a8ea013298 +Author: Raghavendra G +Date: Sun Aug 23 22:30:58 2009 +0000 + + performance/stat-prefetch: implement sp_chown. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit cde006b0f117944761e97e81d44362a046676422 +Author: Raghavendra G +Date: Sun Aug 23 22:30:47 2009 +0000 + + performance/stat-prefetch: implement sp_fchmod. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 724f869021f7d673ed5b0993e39e93687587ee8d +Author: Raghavendra G +Date: Sun Aug 23 22:30:39 2009 +0000 + + performance/stat-prefetch: implement sp_link. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 81d858f16cba61dfdf9f4b1348703d2e5358a0ad +Author: Raghavendra G +Date: Sun Aug 23 22:30:32 2009 +0000 + + performance/stat-prefetch: implement sp_symlink. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit ff9a9eae29edc7927fea9d6bf006c8b181e2bbd7 +Author: Raghavendra G +Date: Sun Aug 23 22:30:25 2009 +0000 + + performance/stat-prefetch: implement sp_mknod. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 385faf46a6878c7a42a1a2cb2c7c68c92cc0cc3b +Author: Raghavendra G +Date: Sun Aug 23 22:30:15 2009 +0000 + + performance/stat-prefetch: implement sp_mkdir. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit acb388c4c584cbc601bee69b0ca297eb3a9ef296 +Author: Raghavendra G +Date: Sun Aug 23 22:30:06 2009 +0000 + + performance/stat-prefetch: implement sp_opendir. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit b18aa9cd570cb20680aa3d5bac11a2674d2a2f78 +Author: Raghavendra G +Date: Sun Aug 23 22:29:54 2009 +0000 + + performance/stat-prefetch: implement sp_create. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit ded6f40765a34dce2ec49d1b643770f110882b15 +Author: Raghavendra G +Date: Sun Aug 23 22:29:41 2009 +0000 + + performance/stat-prefetch: implement sp_open. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit b0d3d94b8ca94d1a133f74050d078a4bd6fa5260 +Author: Raghavendra G +Date: Sun Aug 23 22:29:29 2009 +0000 + + common-utils: introduce new macro GF_VALIDATE_OR_GOTO_WITH_ERROR + + - the existing macro GF_VALIDATE_OR_GOTO sets errno to EINVAL + which may not be appropriate in all cases. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 2cbc63ca8bbfcb91bce775651e1acc0994a18ac0 +Author: Raghavendra G +Date: Sun Aug 23 22:29:19 2009 +0000 + + stat/prefetch: free cache if it cannot be put into context of fd + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 8c110d0aba119d199e2e8d29418ed45119aeb30c +Author: Raghavendra G +Date: Wed Aug 26 01:36:53 2009 +0000 + + performance/stat-prefetch: introduce sp_fd_ctx_t to hold context of fds + + - we need following extra members along with cache + 1. basename of path on which fd is opened. This is necessary to search + for cached entry in fd based fops. + 2. inode corresponding to dirname of path on which fd is opened. This + is necessary to get cache where entry corresponding to file on which + fd is opened. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 3a0317982bfc8c507cfaf8dc919d5f4bab4371f7 +Author: Raghavendra G +Date: Sun Aug 23 22:28:55 2009 +0000 + + performance/stat-prefetch: implement sp_chmod. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 517c1997f5cb1ee7b62cc925f943b33e91e7b974 +Author: Raghavendra G +Date: Sun Aug 23 22:28:42 2009 +0000 + + performance/stat-prefetch: implement sp_readdir. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit ebc5d9888dfd7fcc000fac82dcfbad9fb91a9082 +Author: Raghavendra G +Date: Wed Aug 26 01:36:11 2009 +0000 + + performance/stat-prefetch: implement sp_lookup. + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit bcd092a21f4284277a7f59c58715bb253ed90ff7 +Author: Raghavendra G +Date: Sun Aug 23 22:28:18 2009 +0000 + + rewriting stat-prefetch translator + + - stat-prefetch aims to optimize operations like 'ls -l' where a readdir + is immediately followed by stat calls on each of the directory entry read. + More details on design can be found in doc/stat-prefetch-design.txt + + Signed-off-by: Anand V. Avati + + BUG: 221 (stat prefetch implementation) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221 + +commit 314eb5fecf61b61ae9ba6bd76a44ea14bbd04513 +Author: Vijay Bellur +Date: Wed Sep 2 05:13:21 2009 +0000 + + mount/fuse: Include missing header files in Makefile.am + + Compilation fails in a new glusterfs tarball due to missing fuse headers. + Including them in Makefile.am. + + Signed-off-by: Anand V. Avati + + BUG: 244 (compilation after make dist fails because of missing headers) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=244 + +commit cf1005c9f650069a22d443dec32f33129431990a +Author: Raghavendra G +Date: Mon Aug 31 22:35:28 2009 +0000 + + ib-verbs: handle failure of ibv_create_qp gracefully. + + Signed-off-by: Anand V. Avati + + BUG: 217 (crash in ib_verbs_create_qp) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=217 + +commit addf1c713a017a7b1b4a871243f599267255e815 +Author: Shehjar Tikoo +Date: Fri Aug 28 00:17:01 2009 +0000 + + libglusterfsclient: Compare compcount with path not maxentry + + When searching for an exact entry we need to compare the + component counts in the candidate VMP and the count in the + path being searched. This is opposite to the current + situation where we compare the component count in VMP + and the component count in maxentry, which will always + be same. + + Signed-off-by: Anand V. Avati + + BUG: 209 (VMP parsing through fstab has issues) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + +commit 22e0167d054c6880a66d51a7d86695fe2dd97f44 +Author: Shehjar Tikoo +Date: Fri Aug 28 00:16:50 2009 +0000 + + libglusterfsclient: Enhance VMP searching logic + + Another attempt to enhance searching for VMP entries. + There was a problem of returning the longest prefix match + from all the VMPs without checking whether the number of + matched components were same as the number of components + in the candidate VMP. + + Signed-off-by: Anand V. Avati + + BUG: 209 (VMP parsing through fstab has issues) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + +commit d165f43bb127e2a055721aa7793743fd55e94ed3 +Author: Shehjar Tikoo +Date: Fri Aug 28 00:16:42 2009 +0000 + + booster: Support backward compatible options + + Signed-off-by: Anand V. Avati + + BUG: 209 (VMP parsing through fstab has issues) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + +commit c50ead8d5318d759207543ea040baaf8ddadc628 +Author: Shehjar Tikoo +Date: Thu Aug 27 01:53:32 2009 +0000 + + core: Fix build failure on non-Linux systems + + Signed-off-by: Anand V. Avati + + BUG: 230 (Bulid fails on Solaris and Mac OS due to Linux specific flags) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=230 + +commit bc1bacb14650809f4685025c9fb4b799f9510df9 +Author: Raghavendra G +Date: Wed Aug 26 05:08:18 2009 +0000 + + libglusterfsclient: don't use pointer returned by basename while freeing allocated memory. + + Signed-off-by: Anand V. Avati + + BUG: 228 (Segmentation fault in glusterfs_getxattr) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=228 + +commit 4d479650245d15e6bb5d6993919ebd3eaa68f089 +Author: Csaba Henk +Date: Tue Aug 25 05:09:28 2009 +0000 + + fuse: protocol fix: fix bogus parsing of MKDIR message + + Signed-off-by: Anand V. Avati + + BUG: 226 (mkdir after rm of regular file of same name fails) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=226 + +commit 8572d0ced5db512620f515704e2a9c05d6a4589c +Author: Amar Tumballi +Date: Thu Aug 20 13:49:03 2009 +0000 + + changed booster fstab to parse the arguments same as mount.glusterfs + + Signed-off-by: Anand V. Avati + + BUG: 209 (VMP parsing through fstab has issues) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + +commit cb539b0b65d1868410a10266edb042bdaf867301 +Author: Amar Tumballi +Date: Thu Aug 20 18:51:10 2009 +0000 + + protocol/client: 'connecting' event is properly notified. + + when there are no servers available to client, and transport init is + not successful, send 'connecting' event once to parent so it doesn't + hand in there. + + Signed-off-by: Anand V. Avati + + BUG: 224 (Client hangs if none of the servers are up) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=224 + +commit 45883c74f2c3b11b77fa94be714341ccf0e21198 +Author: Krishna Srinivas +Date: Sun Aug 16 14:34:08 2009 +0000 + + in server_rename if we do_path_lookup on the newloc and parent directory is not found, the server crashes. + + Signed-off-by: Anand V. Avati + +commit b4d6c3d1bb461d2c8a396c9ed3881a4da40fc6ab +Author: Vijay Bellur +Date: Sat Aug 15 12:58:08 2009 +0000 + + TAKE2[PATCH BUG:213 1/1] Support for Process State Dump + + Support for process state dump. + + Signed-off-by: Anand V. Avati + + BUG: 213 (Support for process state dump) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=213 + +commit a31b0016347b3bc9b341fa0f4541ed137224f593 +Merge: 862cbb3 1082475 +Author: Anand V. Avati +Date: Mon Aug 17 15:25:44 2009 -0700 + + Merge branch 'fusilli' of /data/git/users/csaba/glusterfs-fusilli + + Conflicts: + xlators/mount/fuse/src/fuse-bridge.c + +commit 862cbb38375f0176582b06019ba406818d236828 +Author: Amar Tumballi +Date: Tue Aug 4 19:43:31 2009 +0000 + + added log message when server fails to send the reply frame + + As of now, if a frame submit fails on server, there are no logs, + and clients will have missing frames (which leads to 'hangs'). + Supporting situation like this very tricky without proper log + messages. As a step to make our log message lean and meaningful, + this log is important. + + Signed-off-by: Anand V. Avati + + BUG: 190 (missing frames due to larger reply message size.. (ib-verbs)) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190 + +commit a55616242a4f883a864ac03b5282a12c6b8da03e +Author: Shehjar Tikoo +Date: Thu Aug 13 02:57:18 2009 +0000 + + libglusterfsclient: Sync access to VMP list on new entry addition + + Some weeks back, I'd separated the big lock into vmplock and mountlock. + See commit 304e4274ca9b0339539581c5413e3339078c1182 in mainline. + + At that time, we did not have a solution to the problem + of when to init the vmplist in a thread-safe manner, since + there was no lock to protect the vmplock specifically, and that + when libgf_vmp_map_ghandle was called inside glusterfs_mount + so the "lock" was already being held. + + Now that we have separate mount and vmp locks, the + accesses can be synced correctly. + + Signed-off-by: Anand V. Avati + + BUG: 211 (libglusterfsclient: Race condition against vmplist in libgf_vmp_map_ghandle) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=211 + +commit 425f895f0f89831221451c5aa8e0a7e31e95f2aa +Author: Shehjar Tikoo +Date: Thu Aug 13 02:57:17 2009 +0000 + + libglusterfsclient: Enhance VMP search logging + + Signed-off-by: Anand V. Avati + + BUG: 210 (libglusterfsclient: Enhance logging) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210 + +commit e3a4b55920bf6620f5635a6785ae6f2eaf6eba2d +Author: Shehjar Tikoo +Date: Thu Aug 13 02:57:16 2009 +0000 + + libglusterfsclient: Use components for VMP searches + + Till now, we've been doing a character by character comparison + between a given path and the VMP, to search for the glusterfs + handle for the given path. + + This does not work for all cases and has been a known bug. + This commit changes the byte-by-byte comparison into a more + accurate component based comparison to fix search + failures. + + Signed-off-by: Anand V. Avati + + BUG: 209 (VMP parsing through fstab has issues) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209 + +commit 53430bbd47dd61544e10596ca490e64cb2a4e85f +Author: Vikas Gorur +Date: Tue Aug 11 04:59:29 2009 +0000 + + features/locks: Fix reverse logic in posix_lock_to_flock + + if the lock's end point is LLONG_MAX, the corresponding + struct flock's len must be 0. + + Previous code had LLONG_MAX and 0 reversed. + + Signed-off-by: Anand V. Avati + +commit 1e7a880cecfb4df0bb560f8d071cafda4889b6df +Author: Vikas Gorur +Date: Tue Aug 11 01:43:33 2009 +0000 + + mount/fuse: Don't log setlk returning EAGAIN as a GF_LOG_ERROR. + + Signed-off-by: Anand V. Avati + +commit 70b1a8670152187bc4fb06d6a11437abe8481a9b +Author: Vikas Gorur +Date: Tue Aug 11 01:42:14 2009 +0000 + + features/locks: Set the right log level in a few places. + + Signed-off-by: Anand V. Avati + +commit 95ee2689a6684e8e2436d5e8256c170ab3161673 +Author: Harshavardhana Ranganath +Date: Mon Aug 10 02:17:43 2009 +0000 + + glusterfs log prints "TLA Revision" tag, remove it and reflect git instead + + Signed-off-by: Anand V. Avati + +commit 10824751f8669e7c39ebd46ab698ed0abd4e5165 +Author: Csaba Henk +Date: Sun Aug 16 15:51:23 2009 -0700 + + fuse: a compat fix for older protocol revisions + +commit 15d85ff1fb518ddd15e03daa297f59457376725f +Author: Csaba Henk +Date: Sun Aug 16 07:02:27 2009 -0700 + + fuse: optimize request iov aligment for writes + + Idea by Avati. + +commit 3d894362ae0b8d346f29e9c3ea98e325d83a083a +Author: Csaba Henk +Date: Fri Aug 14 15:51:37 2009 -0700 + + fuse: switch off direct I/O mode if big writes are supported + +commit a91679b605ffbe71fa7124964df8aea08ccba464 +Author: Csaba Henk +Date: Wed Aug 12 04:17:59 2009 -0700 + + update user guide wrt. FUSE requirements + +commit 901ba842cd6c42ff24e0539a1b8231b3e802e1ce +Author: Csaba Henk +Date: Tue Aug 11 18:26:11 2009 -0700 + + bring in fusermount + +commit fbb636390fe51dc6aa52ec7523a36b183434a28c +Author: Csaba Henk +Date: Tue Aug 11 06:24:40 2009 -0700 + + fuse: add proper mounting support, based on libfuse routines + +commit 472ac9944b2e99b8dd4a7e33f8dc4ae0f111b0cc +Author: Csaba Henk +Date: Mon Aug 10 19:46:45 2009 -0700 + + fuse: move libfuse derived code over under contrib/ + +commit ab5df475c5c7e9e0f3268fe94a6280e71d34c1db +Author: Csaba Henk +Date: Tue Jul 14 17:10:38 2009 -0700 + + upgrade FUSE protocol to 7.12 and add support for older versions of the protocol + +commit d5910898f1602dc16ab158b06c37abcd98a0588a +Author: Csaba Henk +Date: Mon Jul 13 22:28:07 2009 +0200 + + basic version of direct FUSE interface (ie. not relying on libfuse) + +commit 57a6cb9806ad9d99e6866a21d16fcb1bafef000c +Author: Anand Avati +Date: Thu Aug 6 21:51:33 2009 +0000 + + protocol/client: fixed registration of saved_fds + + In client_open_cbk, client_opendir_cbk the list_add_tail macros were invoked with wrong + ordered arguments, causing the existing registered fd list to get unlinked from the + saved_fds list. The effects of this is far fetched - when transport disconnects, open + fds are no more marked bad as they are not reachable from the saved_fds list. After + reconnection, resumed access on this fd causes reference to invalid fds on the server. + It could appear in the form of 'unresolved fd' error, readdir happening on a file fd, + files reading from other files, etc. + + Signed-off-by: Anand V. Avati + + BUG: 192 (sefault in posix-readdir) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192 + + BUG: 126 (Immediate segfault when used for rootfs) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=126 + + BUG: 173 ([ glusterfs 2.0.6rc1 ] - "server SEG fault") + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=173 + + BUG: 194 (Apache+Booster results in inconsistent download size using wget) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=194 + +commit cce2f6f690b2cac2ed7383fb9306c0dd8b5d3aa6 +Author: Anand V. Avati +Date: Thu Aug 6 00:55:53 2009 -0700 + + Removed BRANCH: tag + +commit 546390e845166ffcfcce6e47e105a453c3ac565c +Author: Amar Tumballi +Date: Tue Aug 4 18:56:52 2009 +0000 + + server-lookup: added path info from header to log message + + in the previous commit, the path info was removed to prevent the + segfault, which instead could have been provided from request + header directly. More specific information is required for debugging, + and hence adding the path log. + + Signed-off-by: Anand V. Avati + + BUG: 189 (segfault in server-lookup) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189 + +commit e981886cb1da8cbde1f93a9ab249130e8be163f5 +Author: Anand Avati +Date: Tue Aug 4 18:15:23 2009 +0000 + + dht_stat_merge - use the highest uid when ambiguous + + When directories on different subvolumes have different ownerships, use the highest uid/gid till self-heal resolves the inconsistency + + Signed-off-by: Anand V. Avati + + BUG: 191 (random Permission denied errors) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=191 + +commit aaf483185e6fdd1b0102ee2ae27e53826efdfc21 +Author: Amar Tumballi +Date: Tue Aug 4 18:15:45 2009 +0000 + + add check for making sure 'fd' belongs to directory in posix-readdir + + The root cause of this error is not found yet. But this check will + make sure that there is no crash when the situation happens. + Segfault can happen when a readdir() call comes over file's fd. + + Signed-off-by: Anand V. Avati + + BUG: 192 (sefault in posix-readdir) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192 + +commit 33b5ce10ef7b5c6db6e73f6070fd4579c2765c94 +Author: Amar Tumballi +Date: Tue Aug 4 17:51:58 2009 +0000 + + logging related bug fix in server_lookup() + + When 'dict_unserialize' failed, the log message was trying to + print 'state->loc.path' and 'state->ino', which gets filled in + later stages in flow. Caused segmentation fault when there was + a failure. + + Signed-off-by: Anand V. Avati + + BUG: 189 (segfault in server-lookup) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189 + +commit edd633f30adba95c65d29c58a2562ccbb18c3495 +Author: Amar Tumballi +Date: Tue Aug 4 17:51:44 2009 +0000 + + increased ib-verbs buffer size + + Noticed that in few cases, where ib-verbs doesn't handle a bigger + sized buffer to be sent across, which happens without problem in + tcp. Caused frame losses in the case where server's reply msg was + bigger, hence the msg got dropped at the server end. With this patch + ib-verbs buffer size is fixed to 512KB. (4 x page-size) + + Signed-off-by: Anand V. Avati + + BUG: 190 (missing frames due to larger reply message size.. (ib-verbs)) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190 + +commit 2c056117b6cfe4bf3f62c791d2c6514bae8655d9 +Author: Amar Tumballi +Date: Tue Aug 4 17:51:31 2009 +0000 + + adding an option to mount.glusterfs for server failover to fetch volume files. + + With this option, 'single point of failure', in case of volfile server can be + avoided + + Thanks to Cory Meyer + + Signed-off-by: Anand V. Avati + + BUG: 185 (Request to support secondary volfile-server option in mount.glusterfs) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=185 + +commit e26e9b861d92edfb7c00aa1b7c8c3a4126a563fb +Author: Vikas Gorur +Date: Tue Aug 4 04:39:34 2009 +0000 + + cluster/afr: inode-read: Check stat buf for NULL before attempting to set inode number. + + Signed-off-by: Anand V. Avati + + BUG: 184 ([ glusterfs 2.0.6rc2 ] - Client Segfault while running fs-perf-test) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=184 + +commit acb06b282a64b2751d33424e4e833c0c7dcf87d7 +Author: Raghavendra G +Date: Thu Jul 30 23:08:42 2009 +0000 + + client-protocol: log messages at WARNING loglevel when client_bind on privileged port fails. + + Signed-off-by: Anand V. Avati + + BUG: 140 (use appropriate loglevel to log in case of failure to bind to privileged socket) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=140 + +commit b63f69cdf40ef5bd79abdcd641b3dcc4bcb3cb1a +Author: Shehjar Tikoo +Date: Fri Jul 31 12:38:36 2009 +0000 + + libglusterfsclient: Bind fd on fd creation code paths + + When an fd_t is fd_create'd, we need to call fd_bind on it to + ensure that any fd_lookup on the inode gets us this fd. We're not + doing this so translators like write-behind were not able to order + path-based requests at all resulting in some fops like stat, which + could be issued after a writev, overtaking a previous writev which + is still being written-behind. + + Signed-off-by: Anand V. Avati + + BUG: 179 (fileop reports miscompares on read tests) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=179 + +commit 2f8a834e7b6acef73795237d6c6269eb9838de53 +Author: Shehjar Tikoo +Date: Fri Jul 31 04:14:48 2009 +0000 + + libglusterfsclient: Invalidate iattr cache on reads + + Earlier we have invalidated the iattr cache on writes. Now + we need to do so for reads also, so that we are not updating + the iattr cache with 0-filled stat received from io-cache. + + Signed-off-by: Anand V. Avati + + BUG: 180 (fileop fails at chmod with stale file handle error over unfs3) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=180 + +commit fdbc5cf320fe85d128d498184135df10146047ba +Author: Shehjar Tikoo +Date: Thu Jul 30 12:05:11 2009 +0000 + + replicate: Return ino from first subvolume on inode creation fops + + Signed-off-by: Anand V. Avati + + BUG: 177 (replicate: On file/dir creation, replicate returns inode from random subvolumes) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=177 + +commit 83ef3c8211282a9ef66659bfbde25116e4949b71 +Author: Shehjar Tikoo +Date: Thu Jul 30 12:04:05 2009 +0000 + + libglusterfsclient: Use iobufs for storing application write data + + Till now we've been creating an iovec, storing references in it + to the application data and simply passing it on to the translator + tree. This means that the buffer being passed to the translators is + not at all associated with the memory ref'd by the iobref argument + to write fop. This is a problem when write-behind is a translator in + the tree since it assumes that the memory in the iovecs passed to + write fops is already refcounted by the iobref and so it simply copies + the address of the application data. The problem is that the application + can continue using this buffer, free it or over-write it destroying the + data that write-behind may write at a later time. + + The solution involves copying the application's write buffer into + an iobuf which will be referred to by the iobref. + + Signed-off-by: Anand V. Avati + + BUG: 178 (libglusterfsclient: Data corruption on using write-behind in translator tree) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=178 + +commit 9beaccbee6b9e3356e04887c2f3e3f6e8d781228 +Author: Shehjar Tikoo +Date: Wed Jul 29 08:02:57 2009 +0000 + + booster: Fix fd leak due to incorrect NULL check + + Signed-off-by: Anand V. Avati + + BUG: 174 (booster: fd_ts, they are a leakin) + URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174 + +commit a4c6e7c816fa9dfbed07a30af56a4ada824ce40b +Author: Basavanagowda Kanur +Date: Tue Jul 28 00:52:56 2009 +0000 + + glusterfsd: handle logfile path specification appropriately. + + when logfile path is not specified as absolute path, the symbolic + link created to the logfile (only in invocation of glusterfs with + --run-id) might end up as a broken symbolic link. + + for example, command-line invocation like below will result in + broken symbolic link: + glusterfsd -f /home/glusterfs/volfiles/nufa/nufa.vol + -l ../home/glusterfs/logs/nufa.f1.log --run-id nufatest /mnt/nufa/ + + symbolic link will be created at $PWD/../home/glusterfs/logs/nufa.f1.log + will have a value of ../home/glusterfs/logs/nufa.f1.log..