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 --- |