Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df76f38e authored by Paul Lawrence's avatar Paul Lawrence
Browse files

Revert "ANDROID: Incremental fs: Fix initialization, use of bitfields"



This change was never cherry-picked to other branches,
is just syntactic sugar, and clashes with another change. Revert,
and then apply cleanly over all branches as needed.

This reverts commit 2664a43d.

Change-Id: I51dca9cb046cc15302c22e8f73e58dcf4849f84d
Signed-off-by: default avatarPaul Lawrence <paullawrence@google.com>
parent c2c01a54
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -98,11 +98,11 @@ static void data_file_segment_destroy(struct data_file_segment *segment)

struct data_file *incfs_open_data_file(struct mount_info *mi, struct file *bf)
{
	struct data_file *df;
	struct backing_file_context *bfc;
	struct data_file *df = NULL;
	struct backing_file_context *bfc = NULL;
	int md_records;
	u64 size;
	int error;
	int error = 0;
	int i;

	if (!bf || !mi)
@@ -173,7 +173,7 @@ int make_inode_ready_for_data_ops(struct mount_info *mi,
				struct file *backing_file)
{
	struct inode_info *node = get_incfs_node(inode);
	struct data_file *df;
	struct data_file *df = NULL;
	int err = 0;

	inode_lock(inode);
@@ -194,7 +194,7 @@ int make_inode_ready_for_data_ops(struct mount_info *mi,

struct dir_file *incfs_open_dir_file(struct mount_info *mi, struct file *bf)
{
	struct dir_file *dir;
	struct dir_file *dir = NULL;

	if (!S_ISDIR(bf->f_inode->i_mode))
		return ERR_PTR(-EBADF);
@@ -235,12 +235,11 @@ static void log_block_read(struct mount_info *mi, incfs_uuid_t *id,
	s64 now_us = ktime_to_us(ktime_get());
	struct read_log_record record = {
		.file_id = *id,
		.block_index = block_index,
		.timed_out = timed_out,
		.timestamp_us = now_us
	};

	set_block_index(&record, block_index);
	set_timed_out(&record, timed_out);

	if (log->rl_size == 0)
		return;

@@ -1166,7 +1165,7 @@ static void fill_pending_read_from_log_record(
	struct read_log_state *state, u64 log_size)
{
	dest->file_id = src->file_id;
	dest->block_index = get_block_index(src);
	dest->block_index = src->block_index;
	dest->serial_number =
		state->current_pass_no * log_size + state->next_index;
	dest->timestamp_us = src->timestamp_us;
+4 −30
Original line number Diff line number Diff line
@@ -21,41 +21,15 @@
#define SEGMENTS_PER_FILE 3

struct read_log_record {
	u32 bitfield;
	u32 block_index : 31;

	u32 timed_out : 1;

	u64 timestamp_us;

	incfs_uuid_t file_id;
} __packed;

#define RLR_BLOCK_INDEX_MASK 0x7fff
#define RLR_TIMED_OUT_MASK 0x8000

static inline u32 get_block_index(const struct read_log_record *rlr)
{
	return rlr->bitfield & RLR_BLOCK_INDEX_MASK;
}

static inline void set_block_index(struct read_log_record *rlr,
				  u32 block_index)
{
	rlr->bitfield = (rlr->bitfield & ~RLR_BLOCK_INDEX_MASK)
			| (block_index & RLR_BLOCK_INDEX_MASK);
}

static inline bool get_timed_out(const struct read_log_record *rlr)
{
	return (rlr->bitfield & RLR_TIMED_OUT_MASK) == RLR_TIMED_OUT_MASK;
}

static inline void set_timed_out(struct read_log_record *rlr, bool timed_out)
{
	if (timed_out)
		rlr->bitfield |= RLR_TIMED_OUT_MASK;
	else
		rlr->bitfield &= ~RLR_TIMED_OUT_MASK;
}

struct read_log_state {
	/* Next slot in rl_ring_buf to write to. */
	u32 next_index;
@@ -312,7 +286,7 @@ static inline struct inode_info *get_incfs_node(struct inode *inode)

static inline struct data_file *get_incfs_data_file(struct file *f)
{
	struct inode_info *node;
	struct inode_info *node = NULL;

	if (!f)
		return NULL;
+0 −7
Original line number Diff line number Diff line
@@ -150,13 +150,10 @@ struct incfs_fill_block {
	/* Values from enum incfs_block_flags */
	__u8 flags;

	/* Reserved - must be 0 */
	__u16 reserved1;

	/* Reserved - must be 0 */
	__u32 reserved2;

	/* Reserved - must be 0 */
	__aligned_u64 reserved3;
};

@@ -206,10 +203,8 @@ struct incfs_new_file_args {
	 */
	__u16 mode;

	/* Reserved - must be 0 */
	__u16 reserved1;

	/* Reserved - must be 0 */
	__u32 reserved2;

	/*
@@ -242,7 +237,6 @@ struct incfs_new_file_args {
	 */
	__u32 file_attr_len;

	/* Reserved - must be 0 */
	__u32 reserved4;

	/*
@@ -270,7 +264,6 @@ struct incfs_new_file_args {
	/* Size of signature_info */
	__aligned_u64 signature_size;

	/* Reserved - must be 0 */
	__aligned_u64 reserved6;
};