diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 04788de1b33d694a72d6dbbcf34f42eb8256df89..760b47b4a65695eddee37e6a5c99ebbe3d6074c0 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -465,6 +465,12 @@ Details : Remove 2.5.0 check from dcache.c dir.c file.c llite_internal.h mds_internal.h mds_lib.c mds_open.c mds_reint.c mds_xattr.c in mds subsystem. +Severity : normal +Frequency : when using O_DIRECT and quotas +Bugzilla : 13930 +Description: Incorrect file ownership on O_DIRECT output files +Details : block usage reported by 'lfs quota' does not take into account + files that have been written with O_DIRECT. -------------------------------------------------------------------------------- diff --git a/lustre/llite/rw26.c b/lustre/llite/rw26.c index 3cfc77d33e543991dee0d92285dd6716182482a9..85450c1533d974bd3e389dfa75bdfe9a3de17a49 100644 --- a/lustre/llite/rw26.c +++ b/lustre/llite/rw26.c @@ -177,7 +177,7 @@ static ssize_t ll_direct_IO_26_seg(int rw, struct inode *inode, POISON_PAGE(pages[i], 0x0d); } - ll_inode_fill_obdo(inode, rw, &oa); + ll_inode_fill_obdo(inode, rw == WRITE ? OBD_BRW_WRITE : OBD_BRW_READ, &oa); if (rw == WRITE) { lprocfs_counter_add(ll_i2sbi(inode)->ll_stats,