[Libsysio-commit] HEAD: libsysio/drivers/yod fs_yod.c
Brought to you by:
lward
From: Ruth K. <rk...@us...> - 2004-09-27 20:21:09
|
Update of /cvsroot/libsysio/libsysio/drivers/yod In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv848 Modified Files: fs_yod.c Log Message: modify yod driver to use new inode struct Index: fs_yod.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/drivers/yod/fs_yod.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -w -b -B -p -r1.19 -r1.20 --- fs_yod.c 21 Sep 2004 16:18:14 -0000 1.19 +++ fs_yod.c 27 Sep 2004 20:20:58 -0000 1.20 @@ -293,6 +293,7 @@ yod_i_new(struct filesys *fs, struct int if (!nino) return NULL; bzero(&nino->ni_ident, sizeof(nino->ni_ident)); + nino->ni_seekok = 0; nino->ni_ident.dev = buf->st_dev; nino->ni_ident.ino = buf->st_ino; #ifdef HAVE_GENERATION @@ -307,8 +308,7 @@ yod_i_new(struct filesys *fs, struct int ino = _sysio_i_new(fs, &nino->ni_fileid, - buf->st_mode, /* all of the bits! */ - 0, + buf, 0, &yod_i_ops, nino); @@ -476,21 +476,22 @@ yod_fsswop_mount(const char *source, } static int -yod_i_invalid(struct inode *inop, struct intnl_stat stbuf) +yod_i_invalid(struct inode *inop, struct intnl_stat *stat) { /* * Validate passed in inode against stat struct info */ struct yod_inode *nino = I2NI(inop); - if ((nino->ni_ident.dev != stbuf.st_dev || - nino->ni_ident.ino != stbuf.st_ino || + if ((nino->ni_ident.dev != stat->st_dev || + nino->ni_ident.ino != stat->st_ino || #ifdef HAVE_GENERATION - nino->ni_ident.gen != stbuf.st_gen || + nino->ni_ident.gen != stat->st_gen || #endif - ((inop)->i_mode & S_IFMT) != (stbuf.st_mode & S_IFMT)) || - (((inop)->i_rdev != stbuf.st_rdev) && - (S_ISCHR((inop)->i_mode) || S_ISBLK((inop)->i_mode)))) + ((inop)->i_stbuf.st_mode & S_IFMT) != (stat->st_mode & S_IFMT)) || + (((inop)->i_stbuf.st_rdev != stat->st_rdev) && + (S_ISCHR((inop)->i_stbuf.st_mode) || + S_ISBLK((inop)->i_stbuf.st_mode)))) return 1; return 0; @@ -525,7 +526,7 @@ yod_iget(struct filesys *fs, * Validate? */ if (*inop) { - if (!yod_i_invalid(*inop, stbuf)) + if (!yod_i_invalid(*inop, &stbuf)) return 0; /* * Invalidate. @@ -549,7 +550,7 @@ yod_iget(struct filesys *fs, /* * Insertion was forced but it's already present! */ - if (yod_i_invalid(ino, stbuf)) { + if (yod_i_invalid(ino, &stbuf)) { /* * Cached inode has stale attrs * make way for the new one |