X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fsmbfs%2Fproc.c;h=fc59e4be8037f2be5411e08b5d72d59e18e8dce6;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=8090b6afcf8efaa34410f248e6f2f839171d3221;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/fs/smbfs/proc.c b/fs/smbfs/proc.c index 8090b6afc..fc59e4be8 100644 --- a/fs/smbfs/proc.c +++ b/fs/smbfs/proc.c @@ -2074,7 +2074,7 @@ out: return result; } -void smb_decode_unix_basic(struct smb_fattr *fattr, struct smb_sb_info *server, char *p) +void smb_decode_unix_basic(struct smb_fattr *fattr, char *p) { u64 size, disk_bytes; @@ -2111,17 +2111,8 @@ void smb_decode_unix_basic(struct smb_fattr *fattr, struct smb_sb_info *server, fattr->f_ctime = smb_ntutc2unixutc(LVAL(p, 16)); fattr->f_atime = smb_ntutc2unixutc(LVAL(p, 24)); fattr->f_mtime = smb_ntutc2unixutc(LVAL(p, 32)); - - if (server->mnt->flags & SMB_MOUNT_UID) - fattr->f_uid = server->mnt->uid; - else - fattr->f_uid = LVAL(p, 40); - - if (server->mnt->flags & SMB_MOUNT_GID) - fattr->f_gid = server->mnt->gid; - else - fattr->f_gid = LVAL(p, 48); - + fattr->f_uid = LVAL(p, 40); + fattr->f_gid = LVAL(p, 48); fattr->f_mode |= smb_filetype_to_mode(WVAL(p, 56)); if (S_ISBLK(fattr->f_mode) || S_ISCHR(fattr->f_mode)) { @@ -2130,20 +2121,10 @@ void smb_decode_unix_basic(struct smb_fattr *fattr, struct smb_sb_info *server, fattr->f_rdev = MKDEV(major & 0xffffffff, minor & 0xffffffff); if (MAJOR(fattr->f_rdev) != (major & 0xffffffff) || - MINOR(fattr->f_rdev) != (minor & 0xffffffff)) + MINOR(fattr->f_rdev) != (minor & 0xffffffff)) fattr->f_rdev = 0; } - fattr->f_mode |= LVAL(p, 84); - - if ( (server->mnt->flags & SMB_MOUNT_DMODE) && - (S_ISDIR(fattr->f_mode)) ) - fattr->f_mode = (server->mnt->dir_mode & S_IRWXUGO) | S_IFDIR; - else if ( (server->mnt->flags & SMB_MOUNT_FMODE) && - !(S_ISDIR(fattr->f_mode)) ) - fattr->f_mode = (server->mnt->file_mode & S_IRWXUGO) | - (fattr->f_mode & S_IFMT); - } /* @@ -2229,7 +2210,7 @@ smb_decode_long_dirent(struct smb_sb_info *server, char *p, int level, /* FIXME: should we check the length?? */ p += 8; - smb_decode_unix_basic(fattr, server, p); + smb_decode_unix_basic(fattr, p); VERBOSE("info SMB_FIND_FILE_UNIX at %p, len=%d, name=%.*s\n", p, len, len, qname->name); break; @@ -2788,7 +2769,7 @@ smb_proc_getattr_unix(struct smb_sb_info *server, struct dentry *dir, if (result < 0) goto out_free; - smb_decode_unix_basic(attr, server, req->rq_data); + smb_decode_unix_basic(attr, req->rq_data); out_free: smb_rput(req);