tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Journaling patches



On May 7, 11:41pm, simonb%NetBSD.org@localhost (Simon Burge) wrote:
-- Subject: Re: Journaling patches

| Christos Zoulas wrote:
| 
| > On May 7,  2:33am, simonb%NetBSD.org@localhost (Simon Burge) wrote:
| > -- Subject: Re: Journaling patches
| > 
| > Yes that would do it. I would probably allocate some of the flag bits
| > as the version, something like:
| > 
| > uint8_t fs_journal_version;
| > uint8_t fs_journal_reserved[3];
| > uint32_t fs_journal_flags;
| > uint64_t fs_journal_location;
| > uint64_t fs_journal_size;
| > 
| > but what you have is fine too.
| 
| I'm wary of hardcoding the names "fs_journal_location" and
| "fs_journal_size" since different journal types might have different
| representations of how the journal is stored other than just "location"
| and "size".  A journal version might be a good idea though.
| 
| Since we've space, why not burn four "locators" now which is twice as
| many as we need so we have some spares later on?
| 
|       uint8_t fs_journal_version;
|       uint8_t fs_journal_reserved[3];
|       uint32_t fs_journal_flags;
|       uint64_t fs_journallocs[4];

Sounds good to me. I did not want to burn many locs, because I thought
that using just one location and size should be enough because that
location can contain a variety of information, but then everyone knows
that this location contains journal specific information, and also
what the size of that information is to fetch it. In that first location
you can store any number of other location pointers or other information.

christos


Home | Main Index | Thread Index | Old Index