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
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
734
735
736
737
738
739
740


741
742
743
744
745
746
747







-
-







	memset(stbuf, 0, sizeof(struct stat));

	stbuf->st_mtime = pathinfo.time;
	stbuf->st_ctime = pathinfo.time;
	stbuf->st_atime = pathinfo.time;
	stbuf->st_ino   = pathinfo.inode;
	stbuf->st_mode  = 0;
	stbuf->st_uid   = 0;
	stbuf->st_gid   = 0;

	switch (pathinfo.type) {
		case APPFS_PATHTYPE_DIRECTORY:
			stbuf->st_mode = S_IFDIR | 0555;
			stbuf->st_nlink = 2 + pathinfo.typeinfo.dir.childcount;
			break;
		case APPFS_PATHTYPE_FILE:
774
775
776
777
778
779
780


781

782
783
784
785
786
787
788
772
773
774
775
776
777
778
779
780

781
782
783
784
785
786
787
788







+
+
-
+







		case APPFS_PATHTYPE_INVALID:
			retval = -ENOENT;

			break;
	}

	if (pathinfo.packaged) {
		stbuf->st_uid   = appfs_get_fsuid();
		stbuf->st_gid   = appfs_get_fsgid();
		stbuf->st_mode |= 0222;
		stbuf->st_mode |= 0200;
	}

	return(retval);
}

static int appfs_fuse_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset, struct fuse_file_info *fi) {
	Tcl_Interp *interp;
1330
1331
1332
1333
1334
1335
1336
1337

1338
1339
1340
1341
1342
1343
1344
1330
1331
1332
1333
1334
1335
1336

1337
1338
1339
1340
1341
1342
1343
1344







-
+







	}
	Tcl_DeleteInterp(test_interp);

	/*
	 * Add FUSE arguments which we always supply
	 */
	fuse_opt_parse(&args, NULL, NULL, appfs_fuse_opt_cb);
	fuse_opt_add_arg(&args, "-odefault_permissions,fsname=appfs,subtype=appfsd,use_ino,kernel_cache,entry_timeout=60,attr_timeout=3600,intr,big_writes");
	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");

	if (getuid() == 0) {
		fuse_opt_parse(&args, NULL, NULL, NULL);
		fuse_opt_add_arg(&args, "-oallow_other");
	}

	/*