logo       


[SSI] openssi/kernel/include/cluster/ssi/cfs cfsd.h,1.3,1.4 cfs_fs.h,1.6,1.: msg#00297

Subject: [SSI] openssi/kernel/include/cluster/ssi/cfs cfsd.h,1.3,1.4 cfs_fs.h,1.6,1.7 cfs_fs_i.h,1.6,1.7 cfs_page.h,1.3,1.4 cfstok.h,1.5,1.6
Update of /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9473/include/cluster/ssi/cfs

Modified Files:
        cfsd.h cfs_fs.h cfs_fs_i.h cfs_page.h cfstok.h 
Log Message:
More fixes to get the following files to compile (re-port read.c and write.c):
        cluster/ssi/cfs/inode.c
        cluster/ssi/cfs/file.c
        cluster/ssi/cfs/read.c
        cluster/ssi/cfs/write.c
        cluster/ssi/cfs/dir.c
        cluster/ssi/cfs/symlink.c
        cluster/ssi/cfs/proc.c
        cluster/ssi/cfs/cfsproc.c
        cluster/ssi/cfs/cfsfh.c


Index: cfs_fs_i.h
===================================================================
RCS file: 
/cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfs_fs_i.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- cfs_fs_i.h  21 Oct 2004 23:40:51 -0000      1.6
+++ cfs_fs_i.h  27 Oct 2004 04:33:13 -0000      1.7
@@ -94,7 +94,6 @@
        /*
         * This is the list of dirty unwritten pages.
         */
-       struct list_head        read;
        struct list_head        dirty;
        struct list_head        commit;
        struct radix_tree_root  cfs_page_tree;

Index: cfs_fs.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfs_fs.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- cfs_fs.h    25 Oct 2004 21:51:38 -0000      1.6
+++ cfs_fs.h    27 Oct 2004 04:33:13 -0000      1.7
@@ -94,6 +94,8 @@
 /* Inode Flags */
 #define CFS_USE_READDIRPLUS(inode)     ((CFS_FLAGS(inode) & 
CFS_INO_ADVISE_RDPLUS) ? 1 : 0)
 
+#define CFS_FILEID(inode)              (inode->i_sb->s_ssidev)
+
 /*
  * These are the default flags for swap requests
  */
@@ -190,56 +192,39 @@
  * Try to write back everything synchronously (but check the
  * return value!)
  */
-extern int  cfs_sync_file(struct inode *, struct file *, unsigned long, 
unsigned int, int);
-extern int  cfs_flush_file(struct inode *, struct file *, unsigned long, 
unsigned int, int);
+extern int  cfs_sync_inode(struct inode *, unsigned long, unsigned int, int);
+extern int  cfs_flush_inode(struct inode *, unsigned long, unsigned int, int);
 extern int  cfs_flush_list(struct list_head *, int, int);
-extern int  cfs_scan_lru_dirty(struct cfs_server *, struct list_head *);
-extern int  cfs_scan_lru_dirty_timeout(struct cfs_server *, struct list_head 
*);
-extern int  cfs_commit_file(struct inode *, struct file *, unsigned long, 
unsigned int, int);
+extern int  cfs_commit_inode(struct inode *, unsigned long, unsigned int, int);
 extern int  cfs_commit_list(struct list_head *, int);
-extern int  cfs_scan_lru_commit(struct cfs_server *, struct list_head *);
-extern int  cfs_scan_lru_commit_timeout(struct cfs_server *, struct list_head 
*);
 extern void cfs_sync_all_data(struct cfs_server *);
 
 static inline int
-cfs_have_read(struct inode *inode)
-{
-       return !list_empty(&itoc(inode)->read);
-}
-
-#ifdef SSI_XXX /* writeback doesn't exist */
-static inline int
 cfs_have_writebacks(struct inode *inode)
 {
-       return !list_empty(&itoc(inode)->writeback);
+       return itoc(inode)->npages != 0;
 }
-#endif
 
 static inline int
 cfs_wb_all(struct inode *inode)
 {
-       int error = cfs_sync_file(inode, 0, 0, 0, FLUSH_WAIT);
+       int error = cfs_sync_inode(inode, 0, 0, FLUSH_WAIT);
        return (error < 0) ? error : 0;
 }
 
 /*
  * Write back all requests on one page - we do this before reading it.
  */
-static inline int
-cfs_wb_page(struct inode *inode, struct page* page)
+static inline int cfs_wb_page_priority(struct inode *inode, struct page* page, 
int how)
 {
-       int error = cfs_sync_file(inode, 0, page_index(page), 1, FLUSH_WAIT | 
FLUSH_STABLE);
+       int error = cfs_sync_inode(inode, page->index, 1,
+                       how | FLUSH_WAIT | FLUSH_STABLE);
        return (error < 0) ? error : 0;
 }
 
-/*
- * Write back all pending writes for one user..
- */
-static inline int
-cfs_wb_file(struct inode *inode, struct file *file)
+static inline int cfs_wb_page(struct inode *inode, struct page* page)
 {
-       int error = cfs_sync_file(inode, file, 0, 0, FLUSH_WAIT);
-       return (error < 0) ? error : 0;
+       return cfs_wb_page_priority(inode, page, 0);
 }
 
 /*
@@ -340,12 +325,6 @@
                void (*)(struct list_head *, void *), void *arg);
 
 /*
- * cluster/ssi/cfs/flushd.c
- */
-void cfs_flushd_nodedown(struct cfs_server *);
-void cfs_flushd_restart(struct cfs_server *);
-
-/*
  * cluster/ssi/cfs/pagelist.c
  */
 struct cfs_page;

Index: cfs_page.h
===================================================================
RCS file: 
/cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfs_page.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cfs_page.h  20 Oct 2004 03:23:36 -0000      1.3
+++ cfs_page.h  27 Oct 2004 04:33:13 -0000      1.4
@@ -25,15 +25,15 @@
 #define        PG_DOWN                 1
 
 struct cfs_page {
-       struct list_head        wb_hash,        /* Inode */
+       struct list_head        wb_list,        /* Defines state of page: */
                                wb_lru,         /* superblock lru list */
-                               wb_list,        /* Defines state of page: */
                                *wb_list_head;  /*      read/write/commit */
        struct file             *wb_file;
        struct inode            *wb_inode;
        struct page             *wb_page;       /* page to read in/write out */
        wait_queue_head_t       wb_wait;        /* wait queue */
        unsigned long           wb_timeout;     /* when to read/write/commit */
+       unsigned long           wb_index;       /* Offset >> PAGE_CACHE_SHIFT */
        unsigned int            wb_offset,      /* Offset of read/write */
                                wb_bytes,       /* Length of request */
                                wb_count;       /* reference count */
@@ -54,7 +54,7 @@
 extern int cfs_scan_lru(struct list_head *, struct list_head *, int);
 extern int cfs_scan_lru_timeout(struct list_head *, struct list_head *, int);
 extern int cfs_scan_list(struct list_head *, struct list_head *,
-                         struct file *, unsigned long, unsigned int);
+                         unsigned long, unsigned int);
 extern int cfs_coalesce_requests(struct list_head *, struct list_head *,
                                  unsigned int);
 extern  int cfs_wait_on_request(struct cfs_page *);
@@ -122,10 +122,10 @@
        return list_entry(head, struct cfs_page, wb_list);
 }
 
-static inline struct cfs_page *
-cfs_inode_wb_entry(struct list_head *head)
+static inline
+loff_t req_offset(struct cfs_page *req)
 {
-       return list_entry(head, struct cfs_page, wb_hash);
+       return (((loff_t)req->wb_index) << PAGE_CACHE_SHIFT) + req->wb_offset;
 }
 
 static inline void

Index: cfsd.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfsd.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cfsd.h      20 Oct 2004 03:23:36 -0000      1.3
+++ cfsd.h      27 Oct 2004 04:33:13 -0000      1.4
@@ -75,7 +75,7 @@
 int            cfsd_readdir(struct svrcfstok *,
                                loff_t, encode_dent_fn,
                                u32 *buffer, int *countp);
-int            cfsd_statfs(struct super_block *, struct statfs *);
+int            cfsd_statfs(struct super_block *, struct kstatfs *);
 
 #ifdef NOTNEEDED
 int            cfsd_permission(struct svc_export *, struct dentry *, int);

Index: cfstok.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfstok.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- cfstok.h    21 Oct 2004 23:40:51 -0000      1.5
+++ cfstok.h    27 Oct 2004 04:33:13 -0000      1.6
@@ -360,11 +360,7 @@
        CONDITION_T     sct_cond;
        LOCK_T sct_tcblock;
        RW_LOCK_T sct_objlock;          /* lock for this file or directory */
-       unsigned long           sct_reada,
-                               sct_ramax,
-                               sct_raend,
-                               sct_ralen,
-                               sct_rawin;
+       struct file_ra_state    sct_ra;
        struct list_head sct_prlist;
 };
 typedef struct svrcfstok svrcfstok_t;



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click


Ruby Jobs
Java Jobs
Jobs in California
more...
what
job title, keywords
where
city, state, zip
jobs by job search
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
encryption.gpg....    ietf.rfc822/199...    freebsd.devel.i...    lang.haskell.li...    mail.squirrelma...    web.zope.plone....    yellowdog.gener...    text.xml.xalan....    recreation.phot...    kde.devel.educa...    hardware.bus.ca...    printing.ghosts...    voip.peering/20...    assembly/2006-0...    org.user-groups...    culture.interne...    network.i2p/200...    boot-loaders.ya...    xfree86.render/...    qnx.openqnx.dev...    jakarta.velocit...    user-groups.pal...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe