Currently, just return the same per-fs layout types Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxx> --- fs/nfsd/nfs4xdr.c | 3 ++- fs/nfsd/nfsd.h | 2 +- include/linux/nfs4.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index f2e4ec3..38a957b 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -2560,7 +2560,8 @@ static __be32 fattr_handle_absent_fs(u32 *bmval0, u32 *bmval1, u32 *rdattr_err) WRITE64(stat.ino); } #if defined(CONFIG_PNFSD) - if (bmval1 & FATTR4_WORD1_FS_LAYOUT_TYPES) { + if ((bmval1 & FATTR4_WORD1_FS_LAYOUT_TYPES) || + (bmval2 & FATTR4_WORD2_LAYOUT_TYPES)) { struct super_block *sb = dentry->d_inode->i_sb; int type = 0; diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h index 5d4b0e6..c262762 100644 --- a/fs/nfsd/nfsd.h +++ b/fs/nfsd/nfsd.h @@ -326,7 +326,7 @@ static inline void nfs4_reset_lease(time_t leasetime) { } #if defined(CONFIG_PNFSD) #define NFSD4_1_SUPPORTED_ATTRS_WORD2 \ (NFSD4_SUPPORTED_ATTRS_WORD2 | FATTR4_WORD2_SUPPATTR_EXCLCREAT | \ - FATTR4_WORD2_LAYOUT_BLKSIZE) + FATTR4_WORD2_LAYOUT_TYPES | FATTR4_WORD2_LAYOUT_BLKSIZE) #else /* CONFIG_PNFSD */ #define NFSD4_1_SUPPORTED_ATTRS_WORD2 \ (NFSD4_SUPPORTED_ATTRS_WORD2 | FATTR4_WORD2_SUPPATTR_EXCLCREAT) diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index 97605bc..0ad26b5 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h @@ -542,6 +542,7 @@ enum lock_type4 { #define FATTR4_WORD1_TIME_MODIFY_SET (1UL << 22) #define FATTR4_WORD1_MOUNTED_ON_FILEID (1UL << 23) #define FATTR4_WORD1_FS_LAYOUT_TYPES (1UL << 30) +#define FATTR4_WORD2_LAYOUT_TYPES (1UL << 0) #define FATTR4_WORD2_LAYOUT_BLKSIZE (1UL << 1) #define NFSPROC4_NULL 0 -- 1.7.6.5 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html