From 2bfb3c0d52342c847a4138599a620e6435456891 Mon Sep 17 00:00:00 2001 From: pschwan Date: Sat, 5 Jul 2003 22:47:55 +0000 Subject: [PATCH] land b_merge on b_devel. Includes b_mount and b_orphan, which includes: - orphans are moved into the PENDING directory for possible recovery - replayed opens now open by fid for orphan/rename safety (1042) - last close of an orphan inode generates a transno (683) - avoid CERROR in normal ll_setattr_raw() error case (1500) Added code which is currently disabled: - dentry pinning from b_mount for cwd and mountpoints (1020) - logging code for orphans (and many other things) --- lustre/llite/iod.c | 4 ++-- lustre/utils/obdiolib.h | 32 +++++++++++++++++--------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lustre/llite/iod.c b/lustre/llite/iod.c index e3fabe6..2b82ca2 100644 --- a/lustre/llite/iod.c +++ b/lustre/llite/iod.c @@ -139,13 +139,13 @@ static void ll_get_dirty_pages(struct inode *inode, list_del(&page->list); list_add(&page->list, &mapping->locked_pages); - if ( ! PageDirty(page) ) { + if (!PageDirty(page)) { unlock_page(page); continue; } ClearPageDirty(page); - if ( llwp_consume_page(llwp, inode, page) != 0) + if (llwp_consume_page(llwp, inode, page) != 0) break; } diff --git a/lustre/utils/obdiolib.h b/lustre/utils/obdiolib.h index 3811b41..b2ec6b6 100644 --- a/lustre/utils/obdiolib.h +++ b/lustre/utils/obdiolib.h @@ -48,22 +48,24 @@ struct obdio_barrier { }; extern struct obdio_conn * obdio_connect (int device); -extern void obdio_disconnect (struct obdio_conn *conn); -extern int obdio_open (struct obdio_conn *conn, uint64_t oid, +extern void obdio_disconnect(struct obdio_conn *conn, int flags); +extern int obdio_open(struct obdio_conn *conn, uint64_t oid, + struct lustre_handle *fh); +extern int obdio_close(struct obdio_conn *conn, uint64_t oid, struct lustre_handle *fh); -extern int obdio_close (struct obdio_conn *conn, uint64_t oid, - struct lustre_handle *fh); -extern int obdio_pread (struct obdio_conn *conn, uint64_t oid, +extern int obdio_pread(struct obdio_conn *conn, uint64_t oid, + char *buffer, uint32_t count, uint64_t offset); +extern int obdio_pwrite(struct obdio_conn *conn, uint64_t oid, char *buffer, uint32_t count, uint64_t offset); -extern int obdio_pwrite (struct obdio_conn *conn, uint64_t oid, - char *buffer, uint32_t count, uint64_t offset); -extern int obdio_enqueue (struct obdio_conn *conn, uint64_t oid, - int mode, uint64_t offset, uint32_t count, - struct lustre_handle *lh); -extern int obdio_cancel (struct obdio_conn *conn, struct lustre_handle *lh); -extern void *obdio_alloc_aligned_buffer (void **spacep, int size); -extern struct obdio_barrier *obdio_new_barrier (uint64_t oid, uint64_t id, int npeers) ; -extern int obdio_setup_barrier (struct obdio_conn *conn, struct obdio_barrier *b); -extern int obdio_barrier (struct obdio_conn *conn, struct obdio_barrier *b); +extern int obdio_enqueue(struct obdio_conn *conn, uint64_t oid, + int mode, uint64_t offset, uint32_t count, + struct lustre_handle *lh); +extern int obdio_cancel(struct obdio_conn *conn, struct lustre_handle *lh); +extern void *obdio_alloc_aligned_buffer(void **spacep, int size); +extern struct obdio_barrier *obdio_new_barrier(uint64_t oid, uint64_t id, + int npeers); +extern int obdio_setup_barrier(struct obdio_conn *conn, + struct obdio_barrier *b); +extern int obdio_barrier(struct obdio_conn *conn, struct obdio_barrier *b); #endif -- 1.8.3.1