View | Details | Raw Unified
Collapse All | Expand All

(-) lufis-0.2.orig/lufis.c (+19 lines)
 Lines 268-278   static int lu_getattr(const char *path, Link Here 
{
{
    struct lufs_fattr fattr;
    struct lufs_fattr fattr;
    int res;
    int res;
    long int option_uid;
    long int option_gid;
    
    
    res = lu_getattr_native(path, &fattr);
    res = lu_getattr_native(path, &fattr);
    if(res < 0)
    if(res < 0)
        return res;
        return res;
    // Take uid= and gid= vars when the filesystem returns 1
    if(fattr.f_uid == (uid_t) 1) {
        if(!lu_opt_getint(&lu_cfg, "MOUNT", "uid", &option_uid, 0))
		fattr.f_uid = (uid_t) option_uid;
	else
		// default to 0 (root) when no argument was supplied
		fattr.f_uid = (uid_t) 0;
    }
    if(fattr.f_gid == (gid_t) 1) {
        if(!lu_opt_getint(&lu_cfg, "MOUNT", "gid", &option_gid, 0))
		fattr.f_gid = (gid_t) option_gid;
	else
		// default to 0 (root) when no argument was supplied
		fattr.f_gid = (gid_t) 0;
    }
    stbuf->st_mode    = fattr.f_mode;
    stbuf->st_mode    = fattr.f_mode;
    stbuf->st_nlink   = fattr.f_nlink;
    stbuf->st_nlink   = fattr.f_nlink;
    stbuf->st_uid     = fattr.f_uid;
    stbuf->st_uid     = fattr.f_uid;