0b61f8a407
Remove the verbose license text from XFS files and replace them with SPDX tags. This does not change the license of any of the code, merely refers to the common, up-to-date license files in LICENSES/ This change was mostly scripted. fs/xfs/Makefile and fs/xfs/libxfs/xfs_fs.h were modified by hand, the rest were detected and modified by the following command: for f in `git grep -l "GNU General" fs/xfs/` ; do echo $f cat $f | awk -f hdr.awk > $f.new mv -f $f.new $f done And the hdr.awk script that did the modification (including detecting the difference between GPL-2.0 and GPL-2.0+ licenses) is as follows: $ cat hdr.awk BEGIN { hdr = 1.0 tag = "GPL-2.0" str = "" } /^ \* This program is free software/ { hdr = 2.0; next } /any later version./ { tag = "GPL-2.0+" next } /^ \*\// { if (hdr > 0.0) { print "// SPDX-License-Identifier: " tag print str print $0 str="" hdr = 0.0 next } print $0 next } /^ \* / { if (hdr > 1.0) next if (hdr > 0.0) { if (str != "") str = str "\n" str = str $0 next } print $0 next } /^ \*/ { if (hdr > 0.0) next print $0 next } // { if (hdr > 0.0) { if (str != "") str = str "\n" str = str $0 next } print $0 } END { } $ Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Copyright (c) 2014 Red Hat, Inc.
|
|
* All Rights Reserved.
|
|
*/
|
|
|
|
#ifndef __XFS_SYSFS_H__
|
|
#define __XFS_SYSFS_H__
|
|
|
|
extern struct kobj_type xfs_mp_ktype; /* xfs_mount */
|
|
extern struct kobj_type xfs_dbg_ktype; /* debug */
|
|
extern struct kobj_type xfs_log_ktype; /* xlog */
|
|
extern struct kobj_type xfs_stats_ktype; /* stats */
|
|
|
|
static inline struct xfs_kobj *
|
|
to_kobj(struct kobject *kobject)
|
|
{
|
|
return container_of(kobject, struct xfs_kobj, kobject);
|
|
}
|
|
|
|
static inline void
|
|
xfs_sysfs_release(struct kobject *kobject)
|
|
{
|
|
struct xfs_kobj *kobj = to_kobj(kobject);
|
|
complete(&kobj->complete);
|
|
}
|
|
|
|
static inline int
|
|
xfs_sysfs_init(
|
|
struct xfs_kobj *kobj,
|
|
struct kobj_type *ktype,
|
|
struct xfs_kobj *parent_kobj,
|
|
const char *name)
|
|
{
|
|
init_completion(&kobj->complete);
|
|
return kobject_init_and_add(&kobj->kobject, ktype,
|
|
&parent_kobj->kobject, "%s", name);
|
|
}
|
|
|
|
static inline void
|
|
xfs_sysfs_del(
|
|
struct xfs_kobj *kobj)
|
|
{
|
|
kobject_del(&kobj->kobject);
|
|
kobject_put(&kobj->kobject);
|
|
wait_for_completion(&kobj->complete);
|
|
}
|
|
|
|
int xfs_error_sysfs_init(struct xfs_mount *mp);
|
|
void xfs_error_sysfs_del(struct xfs_mount *mp);
|
|
|
|
#endif /* __XFS_SYSFS_H__ */
|