Check-in [6e3b24c68c]
Overview
Comment:Updated ownership/group and disabled all caching so that things are consistent (and slow!)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:6e3b24c68ce55a5d30fea879f4eeef42a46ac7b3
User & Date: rkeene on 2014-11-10 07:11:10
Other Links: manifest | tags
Context
2014-11-10
07:17
Updated to not attempt to drop the reference count on the last home directory object until we're about to actually give up the reference check-in: f6ecb0ed91 user: rkeene tags: trunk
07:11
Updated ownership/group and disabled all caching so that things are consistent (and slow!) check-in: 6e3b24c68c user: rkeene tags: trunk
06:47
Made home directory part user-servicable via config file check-in: dde1c0a38d user: rkeene tags: trunk
Changes

Modified appfsd.c from [126129663c] to [7148f823cb].

   734    734   	memset(stbuf, 0, sizeof(struct stat));
   735    735   
   736    736   	stbuf->st_mtime = pathinfo.time;
   737    737   	stbuf->st_ctime = pathinfo.time;
   738    738   	stbuf->st_atime = pathinfo.time;
   739    739   	stbuf->st_ino   = pathinfo.inode;
   740    740   	stbuf->st_mode  = 0;
   741         -	stbuf->st_uid   = 0;
   742         -	stbuf->st_gid   = 0;
   743    741   
   744    742   	switch (pathinfo.type) {
   745    743   		case APPFS_PATHTYPE_DIRECTORY:
   746    744   			stbuf->st_mode = S_IFDIR | 0555;
   747    745   			stbuf->st_nlink = 2 + pathinfo.typeinfo.dir.childcount;
   748    746   			break;
   749    747   		case APPFS_PATHTYPE_FILE:
................................................................................
   774    772   		case APPFS_PATHTYPE_INVALID:
   775    773   			retval = -ENOENT;
   776    774   
   777    775   			break;
   778    776   	}
   779    777   
   780    778   	if (pathinfo.packaged) {
   781         -		stbuf->st_mode |= 0222;
          779  +		stbuf->st_uid   = appfs_get_fsuid();
          780  +		stbuf->st_gid   = appfs_get_fsgid();
          781  +		stbuf->st_mode |= 0200;
   782    782   	}
   783    783   
   784    784   	return(retval);
   785    785   }
   786    786   
   787    787   static int appfs_fuse_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi) {
   788    788   	Tcl_Interp *interp;
................................................................................
  1330   1330   	}
  1331   1331   	Tcl_DeleteInterp(test_interp);
  1332   1332   
  1333   1333   	/*
  1334   1334   	 * Add FUSE arguments which we always supply
  1335   1335   	 */
  1336   1336   	fuse_opt_parse(&args, NULL, NULL, appfs_fuse_opt_cb);
  1337         -	fuse_opt_add_arg(&args, "-odefault_permissions,fsname=appfs,subtype=appfsd,use_ino,kernel_cache,entry_timeout=60,attr_timeout=3600,intr,big_writes");
         1337  +	fuse_opt_add_arg(&args, "-odefault_permissions,fsname=appfs,subtype=appfsd,use_ino,kernel_cache,entry_timeout=0,attr_timeout=0,intr,big_writes,hard_remove");
  1338   1338   
  1339   1339   	if (getuid() == 0) {
  1340   1340   		fuse_opt_parse(&args, NULL, NULL, NULL);
  1341   1341   		fuse_opt_add_arg(&args, "-oallow_other");
  1342   1342   	}
  1343   1343   
  1344   1344   	/*