log.c (c1eba1b0bca59316f34aa6f70fe5004abba8082d) log.c (4a3d049db42b42a36ae84eb8b59d2f5119737253)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
4 * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
5 */
6
7#include <linux/sched.h>
8#include <linux/slab.h>

--- 743 unchanged lines hidden (view full) ---

752 u32 hash, crc;
753 struct page *page;
754 struct gfs2_statfs_change_host *l_sc = &sdp->sd_statfs_local;
755 struct timespec64 tv;
756 struct super_block *sb = sdp->sd_vfs;
757 u64 dblock;
758
759 if (gfs2_withdrawn(sdp))
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
4 * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
5 */
6
7#include <linux/sched.h>
8#include <linux/slab.h>

--- 743 unchanged lines hidden (view full) ---

752 u32 hash, crc;
753 struct page *page;
754 struct gfs2_statfs_change_host *l_sc = &sdp->sd_statfs_local;
755 struct timespec64 tv;
756 struct super_block *sb = sdp->sd_vfs;
757 u64 dblock;
758
759 if (gfs2_withdrawn(sdp))
760 goto out;
760 return;
761
762 page = mempool_alloc(gfs2_page_pool, GFP_NOIO);
763 lh = page_address(page);
764 clear_page(lh);
765
766 lh->lh_header.mh_magic = cpu_to_be32(GFS2_MAGIC);
767 lh->lh_header.mh_type = cpu_to_be32(GFS2_METATYPE_LH);
768 lh->lh_header.__pad0 = cpu_to_be64(0);

--- 38 unchanged lines hidden (view full) ---

807 BUILD_BUG_ON(offsetof(struct gfs2_log_header, lh_crc) != LH_V1_SIZE);
808
809 crc = crc32c(~0, (void *)lh + LH_V1_SIZE + 4,
810 sb->s_blocksize - LH_V1_SIZE - 4);
811 lh->lh_crc = cpu_to_be32(crc);
812
813 gfs2_log_write(sdp, page, sb->s_blocksize, 0, dblock);
814 gfs2_log_submit_bio(&sdp->sd_log_bio, REQ_OP_WRITE | op_flags);
761
762 page = mempool_alloc(gfs2_page_pool, GFP_NOIO);
763 lh = page_address(page);
764 clear_page(lh);
765
766 lh->lh_header.mh_magic = cpu_to_be32(GFS2_MAGIC);
767 lh->lh_header.mh_type = cpu_to_be32(GFS2_METATYPE_LH);
768 lh->lh_header.__pad0 = cpu_to_be64(0);

--- 38 unchanged lines hidden (view full) ---

807 BUILD_BUG_ON(offsetof(struct gfs2_log_header, lh_crc) != LH_V1_SIZE);
808
809 crc = crc32c(~0, (void *)lh + LH_V1_SIZE + 4,
810 sb->s_blocksize - LH_V1_SIZE - 4);
811 lh->lh_crc = cpu_to_be32(crc);
812
813 gfs2_log_write(sdp, page, sb->s_blocksize, 0, dblock);
814 gfs2_log_submit_bio(&sdp->sd_log_bio, REQ_OP_WRITE | op_flags);
815out:
816 log_flush_wait(sdp);
817}
818
819/**
820 * log_write_header - Get and initialize a journal header buffer
821 * @sdp: The GFS2 superblock
822 * @flags: The log header flags, including log header origin
823 *
824 * Returns: the initialized log buffer descriptor

--- 12 unchanged lines hidden (view full) ---

837 gfs2_ordered_wait(sdp);
838 log_flush_wait(sdp);
839 op_flags = REQ_SYNC | REQ_META | REQ_PRIO;
840 }
841 sdp->sd_log_idle = (tail == sdp->sd_log_flush_head);
842 gfs2_write_log_header(sdp, sdp->sd_jdesc, sdp->sd_log_sequence++, tail,
843 sdp->sd_log_flush_head, flags, op_flags);
844 gfs2_log_incr_head(sdp);
815}
816
817/**
818 * log_write_header - Get and initialize a journal header buffer
819 * @sdp: The GFS2 superblock
820 * @flags: The log header flags, including log header origin
821 *
822 * Returns: the initialized log buffer descriptor

--- 12 unchanged lines hidden (view full) ---

835 gfs2_ordered_wait(sdp);
836 log_flush_wait(sdp);
837 op_flags = REQ_SYNC | REQ_META | REQ_PRIO;
838 }
839 sdp->sd_log_idle = (tail == sdp->sd_log_flush_head);
840 gfs2_write_log_header(sdp, sdp->sd_jdesc, sdp->sd_log_sequence++, tail,
841 sdp->sd_log_flush_head, flags, op_flags);
842 gfs2_log_incr_head(sdp);
843 log_flush_wait(sdp);
845
846 if (sdp->sd_log_tail != tail)
847 log_pull_tail(sdp, tail);
848}
849
850/**
851 * ail_drain - drain the ail lists after a withdraw
852 * @sdp: Pointer to GFS2 superblock

--- 402 unchanged lines hidden ---
844
845 if (sdp->sd_log_tail != tail)
846 log_pull_tail(sdp, tail);
847}
848
849/**
850 * ail_drain - drain the ail lists after a withdraw
851 * @sdp: Pointer to GFS2 superblock

--- 402 unchanged lines hidden ---