Messages in this thread | | | Date | Tue, 12 Mar 2002 14:15:40 -0800 | From | Andrew Morton <> | Subject | Re: [RFC] write_super is for syncing |
| |
Chris Mason wrote: > > Hi everyone, > > The fact that write_super gets called for both syncs and periodic > commits causes problems for the journaled filesystems, since we > need to trigger commits on write_super to have sync() behave > properly. > > So, this patch adds a new super operation called commit_super, > and extends struct super.s_dirt a little so the filesystem > can say: call me on sync() but don't call me from kupdate. > > if (s_dirt & S_SUPER_DIRTY) call me from kupdate and on sync > if (s_dirt & S_SUPER_DIRTY_COMMIT) call me on sync only. >
I'm not quite sure why these flags exist? Would it not be sufficient to just call ->write_super() inside kupdate, and ->commit_super in fsync_dev()? (With a ->write_super fallback, of course).
Either way, this is good - ext3's write_super() can just become a one-liner: `sb->s_dirt = 0'.
- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |