#include <libcfs/libcfs.h>
#include <obd.h>
+#include "llite_internal.h"
#include "vvp_internal.h"
/*****************************************************************************
(*p)(env, cookie, "(%s %d %d) inode: %p ",
list_empty(&obj->cob_pending_list) ? "-" : "+",
- obj->cob_transient_pages, atomic_read(&obj->cob_mmap_cnt),
+ atomic_read(&obj->cob_transient_pages),
+ atomic_read(&obj->cob_mmap_cnt),
inode);
if (inode) {
lli = ll_i2info(inode);
int rc;
ENTRY;
- rc = cl_sync_file_range(inode, 0, OBD_OBJECT_EOF, CL_FSYNC_ALL, 1);
- if (rc == 0)
- truncate_inode_pages(inode->i_mapping, 0);
+ rc = cl_sync_file_range(inode, 0, OBD_OBJECT_EOF, CL_FSYNC_LOCAL, 1);
+ if (rc < 0) {
+ CDEBUG(D_VFSTRACE, DFID ": writeback failed: %d\n",
+ PFID(lu_object_fid(&obj->co_lu)), rc);
+ RETURN(rc);
+ }
- RETURN(rc);
+ truncate_inode_pages(inode->i_mapping, 0);
+ RETURN(0);
}
static const struct cl_object_operations vvp_ops = {