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: |
6e3b24c68ce55a5d30fea879f4eeef42 |
| 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 | 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; | < < | 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;
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 |
case APPFS_PATHTYPE_INVALID:
retval = -ENOENT;
break;
}
if (pathinfo.packaged) {
| > > | | 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 |= 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 | } Tcl_DeleteInterp(test_interp); /* * Add FUSE arguments which we always supply */ fuse_opt_parse(&args, NULL, NULL, appfs_fuse_opt_cb); | | | 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=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");
}
/*
|
| ︙ | ︙ |