VFS: do not call REQ_FLUSH on the root file system

Change-Id: I15d29a6f3d198e604ea7f7a9db600d6d18b6994b
This commit is contained in:
David van Moolenbroek 2014-08-24 09:26:17 +00:00
parent 588a35b929
commit 71cd1dd4b9

View file

@ -365,12 +365,12 @@ struct filp *f;
dev = vp->v_sdev; dev = vp->v_sdev;
if (S_ISBLK(vp->v_mode)) { if (S_ISBLK(vp->v_mode)) {
lock_bsf(); lock_bsf();
if (vp->v_bfs_e == ROOT_FS_E) { if (vp->v_bfs_e == ROOT_FS_E && dev != ROOT_DEV) {
/* Invalidate the cache unless the special is /* Invalidate the cache unless the special is
* mounted. Assume that the root filesystem's * mounted. Be careful not to flush the root
* is open only for fsck. * file system either.
*/ */
req_flush(vp->v_bfs_e, dev); (void) req_flush(vp->v_bfs_e, dev);
} }
unlock_bsf(); unlock_bsf();