staging/lustre/mdt: set ATTR_xTIME_SET to make atime update properly
To make atime update properly between 1.8 client and 2.x server, this patch includes the following fixes: - if MDS_ATTR_xTIME is set without MDS_ATTR_xTIME_SET and the client does not have OBD_CONNECT_FULL20, convert it to LA_xTIME in mdt_setattr_unpack(). - set both MDS_ATTR_xTIME | MDS_ATTR_xTIME_SET for timestamps in ll_prepare_close(). This allows us to fix the server-side timestamp setting in the future. - remove attr_unpack() and convert the flags from MDS_ATTR_ to LA_* directly in mdt_attr_valid_xlate() instead. - improve sanityn.sh test_23(). [picked llite part for upstream kernel submission] Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3036 Lustre-change: http://review.whamcloud.com/6327 Signed-off-by: Liu Ying <emoly.liu@intel.com> Reviewed-by: Fan Yong <fan.yong@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Peng Tao <tao.peng@emc.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e11b0b167d
commit
f57d9a72d4
1 changed files with 3 additions and 2 deletions
|
@ -95,8 +95,9 @@ static void ll_prepare_close(struct inode *inode, struct md_op_data *op_data,
|
|||
{
|
||||
ENTRY;
|
||||
|
||||
op_data->op_attr.ia_valid = ATTR_MODE | ATTR_ATIME_SET |
|
||||
ATTR_MTIME_SET | ATTR_CTIME_SET;
|
||||
op_data->op_attr.ia_valid = ATTR_MODE | ATTR_ATIME | ATTR_ATIME_SET |
|
||||
ATTR_MTIME | ATTR_MTIME_SET |
|
||||
ATTR_CTIME | ATTR_CTIME_SET;
|
||||
|
||||
if (!(och->och_flags & FMODE_WRITE))
|
||||
goto out;
|
||||
|
|
Loading…
Add table
Reference in a new issue