b=18695
i=adilger
i=shadow
don't update i_size on MDS_CLOSE for directories.
from a different NID, so we do not need to wait for the export to
be evicted.
+Severity : critical
+Bugzilla : 18695
+Descriptoin: Lustre detected file system corruption with inode out of bounds
+Details : don't update i_size on MDS_CLOSE for directories. This causes
+ directory corruptions on the MDT.
+
-------------------------------------------------------------------------------
2008-05-26 Sun Microsystems, Inc.
* rough decision making and will get the proper size later.
* * This is NOT guaranteed to be correct with multiple *
* writers, but is only needed until SOM is done. b=11063 */
- if ((request_body->valid & OBD_MD_FLSIZE) &&
+ if (S_ISREG(inode->i_mode) &&
+ (request_body->valid & OBD_MD_FLSIZE) &&
(iattr.ia_valid != 0)) {
iattr.ia_size = request_body->size;
iattr.ia_valid |= ATTR_SIZE;