On 08/04/2010 08:07 PM, Jeff Layton wrote:
> On Wed,  4 Aug 2010 16:11:44 +0200
> Stefan Metzmacher <[email protected]> wrote:
> 
>> Signed-off-by: Stefan Metzmacher <[email protected]>
>> ---
>>  fs/cifs/cifsproto.h |    3 +++
>>  fs/cifs/inode.c     |    7 +++++++
>>  fs/cifs/link.c      |    8 ++++++++
>>  3 files changed, 18 insertions(+), 0 deletions(-)
>>
>> diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
>> index 2eaebbd..e94e095 100644
>> --- a/fs/cifs/cifsproto.h
>> +++ b/fs/cifs/cifsproto.h
>> @@ -409,4 +409,7 @@ extern int CIFSSMBSetPosixACL(const int xid, struct 
>> cifsTconInfo *tcon,
>>  extern int CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon,
>>                      const int netfid, __u64 *pExtAttrBits, __u64 *pMask);
>>  extern void cifs_autodisable_serverino(struct cifs_sb_info *cifs_sb);
>> +extern int CIFSCheckMFSymlink(struct cifs_fattr *fattr,
>> +            const unsigned char *path,
>> +            struct cifs_sb_info *cifs_sb, int xid);
>>  #endif                      /* _CIFSPROTO_H */
>> diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
>> index a15b3a9..c4121de 100644
>> --- a/fs/cifs/inode.c
>> +++ b/fs/cifs/inode.c
>> @@ -661,6 +661,13 @@ int cifs_get_inode_info(struct inode **pinode,
>>      if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL)
>>              cifs_sfu_mode(&fattr, full_path, cifs_sb, xid);
>>  
>> +    /* query for SFU type info if supported and needed */
>> +    if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS) {
>> +            tmprc = CIFSCheckMFSymlink(&fattr, full_path, cifs_sb, xid);
>> +            if (tmprc)
>> +                    cFYI(1, "CIFSCheckMFSymlink: %d", tmprc);
>> +    }
>> +
> 
>               ^^^^^^^^^^^^^^
> 
> This only seems to touch the codepath without posix extensions. What
> about when unix extensions are enabled? The previous patch seems to
> indicate that the behavior is that mfsymlinks are always used when that
> mount option is used even if unix extensions are enabled. If so, then I
> think you'll need a similar change in cifs_get_inode_info_unix.
> 

I initially thought so. But, looking again - there is no point in
querying for SFU type info if unix extensions are enabled..?

Thanks,


-- 
Suresh Jayaraman
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to