- dp = (struct dinode *)buf;
- dp += itoo(ip->i_number);
-
- dp->di_mode = ip->i_mode;
- dp->di_nlink = ip->i_nlink;
- dp->di_uid = ip->i_uid;
- dp->di_gid = ip->i_gid;
- dp->di_size = ip->i_size;
- dp->di_atime = utime;
- dp->di_mtime = utime;
- dp->di_ctime = utime;
-
- switch(ip->i_mode&IFMT) {
-
- case IFDIR:
- case IFREG:
- for(i=0; i<*aibc; i++) {
- if(i >= NDADDR)
- break;
- ip->i_un.i_f.i_db[i] = ib[i];
- }
- if(*aibc >= NDADDR) {
- ip->i_un.i_f.i_ib[0] = alloc(BSIZE);
- for(i=0; i<NINDIR-NDADDR; i++) {
- ib[i] = ib[i+NDADDR];
- ib[i+NDADDR] = (daddr_t)0;
- }
- wtfs(ip->i_un.i_f.i_ib[0], (char *)ib);
+ for(i=0; i<*aibc; i++) {
+ if(i >= NDADDR)
+ break;
+ ip->i_db[i] = ib[i];
+ }
+ if(*aibc >= NDADDR) {
+ ip->i_ib[0] = alloc(BSIZE);
+ for(i=0; i<NINDIR-NDADDR; i++) {
+ ib[i] = ib[i+NDADDR];
+ ib[i+NDADDR] = (daddr_t)0;