[Libsysio-commit] b_lustre: libsysio/include cplant-yod.h inode.h sysio.h
Brought to you by:
lward
From: Mei <me...@us...> - 2003-08-15 07:48:59
|
Update of /cvsroot/libsysio/libsysio/include In directory sc8-pr-cvs1:/tmp/cvs-serv25257/include Modified Files: Tag: b_lustre inode.h sysio.h Added Files: Tag: b_lustre cplant-yod.h Log Message: merge changes from HEAD to b_lustre --- NEW FILE --- /* * This Cplant(TM) source code is the property of Sandia National * Laboratories. * * This Cplant(TM) source code is copyrighted by Sandia National * Laboratories. * * The redistribution of this Cplant(TM) source code is subject to the * terms of the GNU Lesser General Public License * (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html) * * Cplant(TM) Copyright 1998-2003 Sandia Corporation. * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive * license for use of this work by or on behalf of the US Government. * Export of this program may require a license from the United States * Government. */ /* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Questions or comments about this library should be sent to: * * Lee Ward * Sandia National Laboratories, New Mexico * P.O. Box 5800 * Albuquerque, NM 87185-1110 * * le...@sa... */ /* * cplant yod I/O functions */ extern int chmod_yod(const char* path, mode_t); extern int chown_yod(const char* path, uid_t, gid_t); extern int stat_yod(const char *path, struct stat *sbuf); extern int fstat_yod(int fd, struct stat *buf); extern int statfs_yod(const char *path, struct statfs *sbuf); extern int fstatfs_yod(int fd, struct statfs *buf); extern int mkdir_yod(const char *path, mode_t mode); extern int rmdir_yod(const char *path); extern int getdirentries_yod(int fd, char *buf, size_t nbytes, loff_t *basep); extern int link_yod(const char *path1, const char *path2); extern int unlink_yod(const char *path); extern int symlink_yod(const char *path1, const char *path2 ); extern int open_yod(const char *fname, int flags, mode_t mode); extern int close_yod(int); extern ssize_t write_yod(int fd, const void *buff, size_t nbytes); extern ssize_t read_yod(int fd, void *buff, size_t nbytes); extern int fsync_yod(int fd); extern int truncate_yod(const char *path, off_t length); extern int ftruncate_yod(int fd, long length); extern off_t lseek_yod(int fd, off_t offset, int whence); Index: inode.h =================================================================== RCS file: /cvsroot/libsysio/libsysio/include/inode.h,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -w -b -B -p -r1.6 -r1.6.2.1 --- inode.h 23 Apr 2003 19:45:51 -0000 1.6 +++ inode.h 15 Aug 2003 07:43:15 -0000 1.6.2.1 @@ -129,6 +129,7 @@ struct inode_ops { struct inode { LIST_ENTRY(inode) i_link; /* FS i-nodes link */ unsigned i_immune : 1; /* immune from GC */ + unsigned i_zombie : 1; /* stale inode */ unsigned i_ref; /* soft ref counter */ ino_t i_num; /* i-num (deprecate!) */ mode_t i_mode; /* mode (see stat.h) */ @@ -146,6 +147,7 @@ struct inode { #define I_INIT(ino, fs, inum, mode, rdev, ops, fid, immunity, private) \ do { \ (ino)->i_immune = (immunity) ? 1 : 0; \ + (ino)->i_zombie = 0; \ (ino)->i_ref = 0; \ (ino)->i_num = (inum); \ (ino)->i_mode = (mode); \ @@ -407,6 +409,7 @@ extern struct inode *_sysio_i_find(struc ino_t ino, struct file_identifier *fid); extern void _sysio_i_gone(struct inode *ino); +extern void _sysio_i_undead(struct inode *ino); extern int _sysio_p_find_alias(struct pnode *parent, struct qstr *name, struct pnode **pnop); Index: sysio.h =================================================================== RCS file: /cvsroot/libsysio/libsysio/include/sysio.h,v retrieving revision 1.7.4.1 retrieving revision 1.7.4.2 diff -u -w -b -B -p -r1.7.4.1 -r1.7.4.2 --- sysio.h 29 Jun 2003 10:15:32 -0000 1.7.4.1 +++ sysio.h 15 Aug 2003 07:43:15 -0000 1.7.4.2 @@ -124,9 +124,7 @@ extern void _sysio_shutdown(void); * but it's not illegal to have multiple externs, so long as they are the * same. It helps when building the library in a standalone fashion. */ -#if 0 extern int access(const char *path, int amode); -#endif extern int chdir(const char *path); extern int chmod(const char *path, mode_t mode); extern int chown(const char *path, uid_t owner, gid_t group); |