|
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; |