From: Robert R. <rr...@us...> - 2003-04-21 20:00:08
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv1935/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: b=1075 If a reply comes back with -ENOTCONN, then this means that we've either been evicted, or the device has been removed from the server. First attempt to reconnect, then call the upcall and attempt recovery. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.11 retrieving revision 1.162.2.12 diff -u -w -b -B -p -r1.162.2.11 -r1.162.2.12 |
From: Phil S. <ps...@us...> - 2003-04-27 17:37:57
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv25692 Modified Files: Tag: b_devel class_obd.c Log Message: b=1178 What began as "preparations for removing unused "addr" from lustre_handle" quickly became "add spaces around operators" too, apparently. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.14 retrieving revision 1.162.2.15 diff -u -w -b -B -p -r1.162.2.14 -r1.162.2.15 --- class_obd.c 24 Apr 2003 05:02:23 -0000 1.162.2.14 +++ class_obd.c 27 Apr 2003 17:37:51 -0000 1.162.2.15 @@ -201,7 +201,6 @@ static void forcibly_detach_exports(stru list_for_each_safe(tmp, n, &obd->obd_exports) { struct obd_export *exp = list_entry(tmp, struct obd_export, exp_obd_chain); - memset(&fake_conn.addr, 0x69, sizeof(fake_conn.addr)); fake_conn.cookie = exp->exp_handle.h_cookie; rc = obd_disconnect(&fake_conn, failover); if (rc) { @@ -635,7 +634,7 @@ int class_handle_ioctl(struct obd_class_ err = obd_connect(&conn, obd, &cluuid); - CDEBUG(D_IOCTL, "assigned export "LPX64"\n", conn.addr); + CDEBUG(D_IOCTL, "assigned export "LPX64"\n", conn.cookie); obd_conn2data(data, &conn); if (err) GOTO(out, err); |
From: Phil S. <ps...@us...> - 2003-04-27 21:52:48
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv26585/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: b=1178 - Preparations for removing unused "addr" from lustre_handle - remove ioc_addr from kernel/userspace communications Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.15 retrieving revision 1.162.2.16 diff -u -w -b -B -p -r1.162.2.15 -r1.162.2.16 --- class_obd.c 27 Apr 2003 17:37:51 -0000 1.162.2.15 +++ class_obd.c 27 Apr 2003 21:52:44 -0000 1.162.2.16 @@ -165,14 +165,12 @@ obd_class_remove_user_conn (struct obd_c static inline void obd_data2conn(struct lustre_handle *conn, struct obd_ioctl_data *data) { - conn->addr = data->ioc_addr; conn->cookie = data->ioc_cookie; } static inline void obd_conn2data(struct obd_ioctl_data *data, struct lustre_handle *conn) { - data->ioc_addr = conn->addr; data->ioc_cookie = conn->cookie; } |
From: Robert R. <rr...@us...> - 2003-05-13 14:19:50
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv16667/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: b=1279 Add a timeout and allow signals during the obd_refcount wait. If the wait ends prematurely, then dump the exports. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.21 retrieving revision 1.162.2.22 diff -u -w -b -B -p -r1.162.2.21 -r1.162.2.22 --- class_obd.c 7 May 2003 23:39:26 -0000 1.162.2.21 +++ class_obd.c 13 May 2003 14:19:46 -0000 1.162.2.22 @@ -181,7 +181,7 @@ static void dump_exports(struct obd_devi list_for_each_safe(tmp, n, &obd->obd_exports) { struct obd_export *exp = list_entry(tmp, struct obd_export, exp_obd_chain); - CDEBUG(D_INFO, "%s: %p %s %d %d %p\n", + CDEBUG(D_ERROR, "%s: %p %s %d %d %p\n", obd->obd_name, exp, exp->exp_client_uuid.uuid, atomic_read(&exp->exp_refcount), exp->exp_failed, exp->exp_outstanding_reply ); @@ -593,7 +593,10 @@ int class_handle_ioctl(struct obd_class_ } if (atomic_read(&obd->obd_refcount) > 1) { - struct l_wait_info lwi = { 0 }; + struct l_wait_info lwi = LWI_TIMEOUT_INTR(60 * HZ, NULL, + NULL, NULL); + int rc; + if (!force) { CERROR("OBD device %d (%p) has refcount %d\n", obd->obd_minor, obd, @@ -606,11 +609,16 @@ int class_handle_ioctl(struct obd_class_ "%s: waiting for obd refs to go away: %d\n", obd->obd_name, atomic_read(&obd->obd_refcount)); - l_wait_event(obd->obd_refcount_waitq, + rc = l_wait_event(obd->obd_refcount_waitq, atomic_read(&obd->obd_refcount) < 2, &lwi); - + if (rc == 0) { LASSERT(atomic_read(&obd->obd_refcount) == 1); - + } else { + CERROR("wait cancelled cleaning anyway. " + "refcount: %d\n", + atomic_read(&obd->obd_refcount)); + dump_exports(obd); + } CDEBUG(D_IOCTL, "%s: awake, now finishing cleanup\n", obd->obd_name); } |
From: Phil S. <ps...@us...> - 2003-05-14 17:10:34
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv18538 Modified Files: Tag: b_devel class_obd.c Log Message: Kernel patch v17 will fix bug 1203 and include the ext3 delete thread. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.22 retrieving revision 1.162.2.23 diff -u -w -b -B -p -r1.162.2.22 -r1.162.2.23 --- class_obd.c 13 May 2003 14:19:46 -0000 1.162.2.22 +++ class_obd.c 14 May 2003 17:10:29 -0000 1.162.2.23 @@ -953,7 +953,7 @@ static void cleanup_obdclass(void) #ifdef __KERNEL__ #include <linux/lustre_version.h> #define LUSTRE_MIN_VERSION 15 -#define LUSTRE_MAX_VERSION 16 +#define LUSTRE_MAX_VERSION 17 #if (LUSTRE_KERNEL_VERSION < LUSTRE_MIN_VERSION) # error Cannot continue: Your Lustre kernel patch is older than the sources #elif (LUSTRE_KERNEL_VERSION > LUSTRE_MAX_VERSION) |
From: Phil S. <ps...@us...> - 2003-05-18 16:39:23
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv4222/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: landing b_open onto b_devel: - kernel patches for bug 1203 - fixes directory open()s - re-enables metadata caching on the MDS - fixes bug in ext3_noread kernel patch - fixes some symbol export problems in other kernels - fixes compilation problems when running on Red Hat 2.4.20 kernels If you update past this merge, you will require kernel version 18 Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.24 retrieving revision 1.162.2.25 diff -u -w -b -B -p -r1.162.2.24 -r1.162.2.25 --- class_obd.c 14 May 2003 17:42:48 -0000 1.162.2.24 +++ class_obd.c 18 May 2003 16:39:19 -0000 1.162.2.25 @@ -952,8 +952,8 @@ static void cleanup_obdclass(void) * kernel patch */ #ifdef __KERNEL__ #include <linux/lustre_version.h> -#define LUSTRE_MIN_VERSION 15 -#define LUSTRE_MAX_VERSION 17 +#define LUSTRE_MIN_VERSION 18 +#define LUSTRE_MAX_VERSION 18 #if (LUSTRE_KERNEL_VERSION < LUSTRE_MIN_VERSION) # error Cannot continue: Your Lustre kernel patch is older than the sources #elif (LUSTRE_KERNEL_VERSION > LUSTRE_MAX_VERSION) |
From: Robert R. <rr...@us...> - 2003-05-19 20:06:06
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv3349/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: b=1278,1287 - disable the LASSERT(obd_recount == 0) for now - fix one unlikely leak lconf - use relative paths for the portals modules Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.27 retrieving revision 1.162.2.28 diff -u -w -b -B -p -r1.162.2.27 -r1.162.2.28 --- class_obd.c 19 May 2003 06:29:22 -0000 1.162.2.27 +++ class_obd.c 19 May 2003 20:06:03 -0000 1.162.2.28 @@ -634,7 +634,10 @@ int class_handle_ioctl(struct obd_class_ obd->obd_set_up = obd->obd_stopping = 0; obd->obd_type->typ_refcnt--; atomic_dec(&obd->obd_refcount); - LASSERT(atomic_read(&obd->obd_refcount) == 0); + /* XXX this should be an LASSERT */ + if (atomic_read(&obd->obd_refcount) > 0) + CERROR("%s still has refcount %d after cleanup.\n", + atomic_read(&obd->obd_refcount)); } GOTO(out, err); |
From: Eric B. <ee...@us...> - 2003-05-21 13:12:45
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv28775/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: * Fixed 1299:aborted request tripped LASSERT(!req->rq_receiving_reply) * Fixed ll_readpage() to read file's preferred block size to take advantage of obd_brw_async() * made obdstat names consistent ('echo' and 'filter') * fixed what looked like a type in portals/configure.in and hacked portals/knals/qswnal/Makefile.am to -I the qsw headers from the configured dir. * Put magic into portals network interface handles and put type info into portals ME and MD handles, and portals' own internal EQ handles. Misuse now makes things fail/crash more promptly. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.28 retrieving revision 1.162.2.29 diff -u -w -b -B -p -r1.162.2.28 -r1.162.2.29 --- class_obd.c 19 May 2003 20:06:03 -0000 1.162.2.28 +++ class_obd.c 21 May 2003 13:12:42 -0000 1.162.2.29 @@ -637,6 +637,7 @@ int class_handle_ioctl(struct obd_class_ /* XXX this should be an LASSERT */ if (atomic_read(&obd->obd_refcount) > 0) CERROR("%s still has refcount %d after cleanup.\n", + obd->obd_name, atomic_read(&obd->obd_refcount)); } |
From: Phil S. <ps...@us...> - 2003-05-22 19:09:02
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv18579/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: - remove unused "granted_callback" and "cp_data" fields from the ldlm_lock structure and APIs - fix warning in llite/iod.c Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.29 retrieving revision 1.162.2.30 diff -u -w -b -B -p -r1.162.2.29 -r1.162.2.30 --- class_obd.c 21 May 2003 13:12:42 -0000 1.162.2.29 +++ class_obd.c 22 May 2003 18:50:49 -0000 1.162.2.30 @@ -636,8 +636,8 @@ int class_handle_ioctl(struct obd_class_ atomic_dec(&obd->obd_refcount); /* XXX this should be an LASSERT */ if (atomic_read(&obd->obd_refcount) > 0) - CERROR("%s still has refcount %d after cleanup.\n", - obd->obd_name, + CERROR("%s still has refcount %d after " + "cleanup.\n", obd->obd_name, atomic_read(&obd->obd_refcount)); } |
From: Phil S. <ps...@us...> - 2003-05-27 01:11:06
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv1616/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: - remove duplicate client_tgtuuid2obd from ldlm_lib - export it from obdclass Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.30 retrieving revision 1.162.2.31 diff -u -w -b -B -p -r1.162.2.30 -r1.162.2.31 --- class_obd.c 22 May 2003 18:50:49 -0000 1.162.2.30 +++ class_obd.c 27 May 2003 01:11:03 -0000 1.162.2.31 @@ -797,8 +797,11 @@ EXPORT_SYMBOL(class_conn2cliimp); EXPORT_SYMBOL(class_conn2ldlmimp); EXPORT_SYMBOL(class_disconnect); EXPORT_SYMBOL(class_disconnect_exports); -EXPORT_SYMBOL(class_uuid_unparse); EXPORT_SYMBOL(lustre_uuid_to_peer); + +/* uuid.c */ +EXPORT_SYMBOL(class_uuid_unparse); +EXPORT_SYMBOL(client_tgtuuid2obd); EXPORT_SYMBOL(class_handle_hash); EXPORT_SYMBOL(class_handle_unhash); |
From: Phil S. <ps...@us...> - 2003-06-02 09:22:55
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv25031/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: b=1358 - update kernel patch version to 19 - remain compatible with version 18 until everyone upgrades - new v19 code in mdc_{get,put}_rpc_lock uses the new it_int_flags member Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.33 retrieving revision 1.162.2.34 diff -u -w -b -B -p -r1.162.2.33 -r1.162.2.34 --- class_obd.c 27 May 2003 21:15:05 -0000 1.162.2.33 +++ class_obd.c 2 Jun 2003 09:22:51 -0000 1.162.2.34 @@ -898,7 +898,7 @@ static void cleanup_obdclass(void) #ifdef __KERNEL__ #include <linux/lustre_version.h> #define LUSTRE_MIN_VERSION 18 -#define LUSTRE_MAX_VERSION 18 +#define LUSTRE_MAX_VERSION 19 #if (LUSTRE_KERNEL_VERSION < LUSTRE_MIN_VERSION) # error Cannot continue: Your Lustre kernel patch is older than the sources #elif (LUSTRE_KERNEL_VERSION > LUSTRE_MAX_VERSION) |
From: Evan F. <eva...@us...> - 2003-06-16 18:02:34
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv29943 Modified Files: Tag: b_devel class_obd.c Log Message: Added simple change to place the current version string in /proc/fs/lustre/version Bug 1415 Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.34 retrieving revision 1.162.2.35 diff -u -w -b -B -p -r1.162.2.34 -r1.162.2.35 --- class_obd.c 2 Jun 2003 09:22:51 -0000 1.162.2.34 +++ class_obd.c 16 Jun 2003 18:02:31 -0000 1.162.2.35 @@ -73,6 +73,9 @@ int obd_memmax; /* Root for /proc/lustre */ struct proc_dir_entry *proc_lustre_root = NULL; +int obd_proc_read_version(char *page, char **start, off_t off, int count, int *eof, void *data); +struct lprocfs_vars lprocfs_version[] = {{"version", obd_proc_read_version, NULL, NULL },{NULL,NULL,NULL,NULL}}; +int proc_version; /* The following are visible and mutable through /proc/sys/lustre/. */ unsigned long obd_fail_loc; @@ -851,11 +854,22 @@ int init_obdclass(void) proc_lustre_root = proc_mkdir("lustre", proc_root_fs); if (!proc_lustre_root) printk(KERN_ERR "error registering /proc/fs/lustre\n"); + proc_version = lprocfs_add_vars(proc_lustre_root,lprocfs_version,NULL); #else proc_lustre_root = NULL; + proc_version = -1; #endif return 0; } + +#ifdef LPROCFS +int obd_proc_read_version(char *page, char **start, off_t off, int count, int *eof, void *data) { + *eof = 1; + return snprintf(page, count, "%s\n", BUILD_VERSION); +} +#else +int obd_proc_read_version(char *page, char **start, off_t off, int count, int *eof, void *data) { return 0; } +#endif #ifdef __KERNEL__ static void __exit cleanup_obdclass(void) |
From: Andreas D. <ad...@us...> - 2003-06-18 08:33:40
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv16460/obdclass Modified Files: Tag: b_devel class_obd.c Log Message: Fix obd_class_ioctl() error message. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.35 retrieving revision 1.162.2.36 diff -u -w -b -B -p -r1.162.2.35 -r1.162.2.36 --- class_obd.c 16 Jun 2003 18:02:31 -0000 1.162.2.35 +++ class_obd.c 18 Jun 2003 08:33:36 -0000 1.162.2.36 @@ -247,7 +247,8 @@ int class_handle_ioctl(struct obd_class_ case OBD_IOC_DEVICE: { CDEBUG(D_IOCTL, "\n"); if (data->ioc_dev >= MAX_OBD_DEVICES || data->ioc_dev < 0) { - CERROR("OBD ioctl: DEVICE insufficient devices\n"); + CERROR("OBD ioctl: DEVICE invalid device %d\n", + data->ioc_dev); GOTO(out, err = -EINVAL); } CDEBUG(D_IOCTL, "device %d\n", data->ioc_dev); |
From: Mike S. <sh...@us...> - 2003-07-13 21:39:19
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv29429 Modified Files: Tag: b_devel class_obd.c Log Message: b_devel is compatible with lustre-21. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.39 retrieving revision 1.162.2.40 diff -u -w -b -B -p -r1.162.2.39 -r1.162.2.40 --- class_obd.c 5 Jul 2003 22:46:22 -0000 1.162.2.39 +++ class_obd.c 13 Jul 2003 21:39:14 -0000 1.162.2.40 @@ -918,7 +918,7 @@ static void cleanup_obdclass(void) #ifdef __KERNEL__ #include <linux/lustre_version.h> #define LUSTRE_MIN_VERSION 18 -#define LUSTRE_MAX_VERSION 19 +#define LUSTRE_MAX_VERSION 21 #if (LUSTRE_KERNEL_VERSION < LUSTRE_MIN_VERSION) # error Cannot continue: Your Lustre kernel patch is older than the sources #elif (LUSTRE_KERNEL_VERSION > LUSTRE_MAX_VERSION) |
From: Mike S. <sh...@us...> - 2003-07-13 22:37:45
|
Update of /cvsroot/lustre/lustre/obdclass In directory sc8-pr-cvs1:/tmp/cvs-serv2835 Modified Files: Tag: b_devel class_obd.c Log Message: No, actually, b_devel _isn't_ compatible with lustre-21, a.k.a. b_unify. Index: class_obd.c =================================================================== RCS file: /cvsroot/lustre/lustre/obdclass/class_obd.c,v retrieving revision 1.162.2.40 retrieving revision 1.162.2.41 diff -u -w -b -B -p -r1.162.2.40 -r1.162.2.41 --- class_obd.c 13 Jul 2003 21:39:14 -0000 1.162.2.40 +++ class_obd.c 13 Jul 2003 22:37:42 -0000 1.162.2.41 @@ -918,7 +918,7 @@ static void cleanup_obdclass(void) #ifdef __KERNEL__ #include <linux/lustre_version.h> #define LUSTRE_MIN_VERSION 18 -#define LUSTRE_MAX_VERSION 21 +#define LUSTRE_MAX_VERSION 19 #if (LUSTRE_KERNEL_VERSION < LUSTRE_MIN_VERSION) # error Cannot continue: Your Lustre kernel patch is older than the sources #elif (LUSTRE_KERNEL_VERSION > LUSTRE_MAX_VERSION) |