Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F6023258
diffs
mckusick (Marshall Kirk McKusick)
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
mckusick
Jan 7 2020, 12:05 AM
2020-01-07 00:05:21 (UTC+0)
Size
1 KB
Referenced Files
None
Subscribers
None
diffs
View Options
Index: sys/ufs/ffs/ffs_vfsops.c
===================================================================
--- sys/ufs/ffs/ffs_vfsops.c (revision 356063)
+++ sys/ufs/ffs/ffs_vfsops.c (working copy)
@@ -1463,8 +1463,12 @@ ffs_sync_lazy(mp)
allerror = 0;
td = curthread;
- if ((mp->mnt_flag & MNT_NOATIME) != 0)
- goto qupdate;
+ if ((mp->mnt_flag & MNT_NOATIME) != 0) {
+#ifdef QUOTA
+ qsync(mp);
+#endif
+ goto sbupdate;
+ }
MNT_VNODE_FOREACH_ACTIVE(vp, mp, mvp) {
if (vp->v_type == VNON) {
VI_UNLOCK(vp);
@@ -1486,6 +1490,9 @@ ffs_sync_lazy(mp)
if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK,
td)) != 0)
continue;
+#ifdef QUOTA
+ qsyncvp(vp);
+#endif
if (sync_doupdate(ip))
error = ffs_update(vp, 0);
if (error != 0)
@@ -1493,11 +1500,7 @@ ffs_sync_lazy(mp)
vput(vp);
}
-qupdate:
-#ifdef QUOTA
- qsync(mp);
-#endif
-
+sbupdate:
if (VFSTOUFS(mp)->um_fs->fs_fmod != 0 &&
(error = ffs_sbupdate(VFSTOUFS(mp), MNT_LAZY, 0)) != 0)
allerror = error;
@@ -1590,6 +1593,9 @@ loop:
}
continue;
}
+#ifdef QUOTA
+ qsyncvp(vp);
+#endif
if ((error = ffs_syncvnode(vp, waitfor, 0)) != 0)
allerror = error;
vput(vp);
@@ -1604,9 +1610,6 @@ loop:
if (allerror == 0 && count)
goto loop;
}
-#ifdef QUOTA
- qsync(mp);
-#endif
devvp = ump->um_devvp;
bo = &devvp->v_bufobj;
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2478861
Default Alt Text
diffs (1 KB)
Attached To
Mode
D22996: 5/7 ufs: use lazy list instead of active list for syncer
Attached
Detach File
Event Timeline
Log In to Comment