register struct fs *fs; /* file system that directory is in */
struct buf *bp = 0; /* a buffer of directory entries */
register struct direct *ep; /* the current directory entry */
register struct fs *fs; /* file system that directory is in */
struct buf *bp = 0; /* a buffer of directory entries */
register struct direct *ep; /* the current directory entry */
enum {NONE, COMPACT, FOUND} slotstatus;
int slotoffset = -1; /* offset of area with free space */
enum {NONE, COMPACT, FOUND} slotstatus;
int slotoffset = -1; /* offset of area with free space */
- int slotsize; /* size of area at slotoffset */
- int slotfreespace; /* amount of space free in slot */
- int slotneeded; /* size of the entry we're seeking */
+ int slotsize = 0; /* size of area at slotoffset */
+ int slotfreespace = 0; /* amount of space free in slot */
+ int slotneeded = 0; /* size of the entry we're seeking */
int numdirpasses; /* strategy for directory search */
int endsearch; /* offset to end directory search */
int numdirpasses; /* strategy for directory search */
int endsearch; /* offset to end directory search */
struct inode *pdp; /* saved dp during symlink work */
struct inode *tdp; /* returned by iget */
off_t enduseful; /* pointer past last used dir slot */
struct inode *pdp; /* saved dp during symlink work */
struct inode *tdp; /* returned by iget */
off_t enduseful; /* pointer past last used dir slot */
* name is not longer than MAXNAMLEN
* name must be as long as advertised, and null terminated
*/
* name is not longer than MAXNAMLEN
* name must be as long as advertised, and null terminated
*/
dirbadentry(ep, entryoffsetinblock)
register struct direct *ep;
int entryoffsetinblock;
dirbadentry(ep, entryoffsetinblock)
register struct direct *ep;
int entryoffsetinblock;
* Remaining parameters (ndp->ni_ufs.ufs_offset, ndp->ni_ufs.ufs_count)
* indicate how the space for the new entry is to be obtained.
*/
* Remaining parameters (ndp->ni_ufs.ufs_offset, ndp->ni_ufs.ufs_count)
* indicate how the space for the new entry is to be obtained.
*/
* is non-zero, fill it in with a pointer to the
* remaining space in the directory.
*/
* is non-zero, fill it in with a pointer to the
* remaining space in the directory.
*/
blkatoff(ip, offset, res, bpp)
struct inode *ip;
off_t offset;
blkatoff(ip, offset, res, bpp)
struct inode *ip;
off_t offset;
dirempty(ip, parentino, cred)
register struct inode *ip;
ino_t parentino;
dirempty(ip, parentino, cred)
register struct inode *ip;
ino_t parentino;
* Target is supplied locked, source is unlocked.
* The target is always iput() before returning.
*/
* Target is supplied locked, source is unlocked.
* The target is always iput() before returning.
*/
checkpath(source, target, cred)
struct inode *source, *target;
struct ucred *cred;
checkpath(source, target, cred)
struct inode *source, *target;
struct ucred *cred;