diff options
Diffstat (limited to 'fs')
786 files changed, 1874 insertions, 6007 deletions
diff --git a/fs/9p/Kconfig b/fs/9p/Kconfig index 11045d8e356a..ac2ec4543fe1 100644 --- a/fs/9p/Kconfig +++ b/fs/9p/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config 9P_FS | 2 | config 9P_FS |
2 | tristate "Plan 9 Resource Sharing Support (9P2000)" | 3 | tristate "Plan 9 Resource Sharing Support (9P2000)" |
3 | depends on INET && NET_9P | 4 | depends on INET && NET_9P |
diff --git a/fs/9p/cache.c b/fs/9p/cache.c index 9eb34701a566..995e332eee5c 100644 --- a/fs/9p/cache.c +++ b/fs/9p/cache.c | |||
@@ -1,23 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * V9FS cache definitions. | 3 | * V9FS cache definitions. |
3 | * | 4 | * |
4 | * Copyright (C) 2009 by Abhishek Kulkarni <adkulkar@umail.iu.edu> | 5 | * Copyright (C) 2009 by Abhishek Kulkarni <adkulkar@umail.iu.edu> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to: | ||
17 | * Free Software Foundation | ||
18 | * 51 Franklin Street, Fifth Floor | ||
19 | * Boston, MA 02111-1301 USA | ||
20 | * | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #include <linux/jiffies.h> | 8 | #include <linux/jiffies.h> |
diff --git a/fs/9p/cache.h b/fs/9p/cache.h index 247e47e54bcc..00f107af443e 100644 --- a/fs/9p/cache.h +++ b/fs/9p/cache.h | |||
@@ -1,23 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * V9FS cache definitions. | 3 | * V9FS cache definitions. |
3 | * | 4 | * |
4 | * Copyright (C) 2009 by Abhishek Kulkarni <adkulkar@umail.iu.edu> | 5 | * Copyright (C) 2009 by Abhishek Kulkarni <adkulkar@umail.iu.edu> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to: | ||
17 | * Free Software Foundation | ||
18 | * 51 Franklin Street, Fifth Floor | ||
19 | * Boston, MA 02111-1301 USA | ||
20 | * | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #ifndef _9P_CACHE_H | 8 | #ifndef _9P_CACHE_H |
diff --git a/fs/9p/fid.c b/fs/9p/fid.c index a9ef46f02354..3d681a2c2731 100644 --- a/fs/9p/fid.c +++ b/fs/9p/fid.c | |||
@@ -1,24 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * V9FS FID Management | 3 | * V9FS FID Management |
3 | * | 4 | * |
4 | * Copyright (C) 2007 by Latchesar Ionkov <lucho@ionkov.net> | 5 | * Copyright (C) 2007 by Latchesar Ionkov <lucho@ionkov.net> |
5 | * Copyright (C) 2005, 2006 by Eric Van Hensbergen <ericvh@gmail.com> | 6 | * Copyright (C) 2005, 2006 by Eric Van Hensbergen <ericvh@gmail.com> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 | ||
9 | * as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to: | ||
18 | * Free Software Foundation | ||
19 | * 51 Franklin Street, Fifth Floor | ||
20 | * Boston, MA 02111-1301 USA | ||
21 | * | ||
22 | */ | 7 | */ |
23 | 8 | ||
24 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/fs/9p/fid.h b/fs/9p/fid.h index 4491bcaf42b8..928b1093f511 100644 --- a/fs/9p/fid.h +++ b/fs/9p/fid.h | |||
@@ -1,23 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * V9FS FID Management | 3 | * V9FS FID Management |
3 | * | 4 | * |
4 | * Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com> | 5 | * Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to: | ||
17 | * Free Software Foundation | ||
18 | * 51 Franklin Street, Fifth Floor | ||
19 | * Boston, MA 02111-1301 USA | ||
20 | * | ||
21 | */ | 6 | */ |
22 | #ifndef FS_9P_FID_H | 7 | #ifndef FS_9P_FID_H |
23 | #define FS_9P_FID_H | 8 | #define FS_9P_FID_H |
diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c index 619128b55837..15a99f9c7253 100644 --- a/fs/9p/v9fs.c +++ b/fs/9p/v9fs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/v9fs.c | 3 | * linux/fs/9p/v9fs.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2004-2008 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2004-2008 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 11 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h index 129e5243a6bf..7b763776306e 100644 --- a/fs/9p/v9fs.h +++ b/fs/9p/v9fs.h | |||
@@ -1,24 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * V9FS definitions. | 3 | * V9FS definitions. |
3 | * | 4 | * |
4 | * Copyright (C) 2004-2008 by Eric Van Hensbergen <ericvh@gmail.com> | 5 | * Copyright (C) 2004-2008 by Eric Van Hensbergen <ericvh@gmail.com> |
5 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 6 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 | ||
9 | * as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to: | ||
18 | * Free Software Foundation | ||
19 | * 51 Franklin Street, Fifth Floor | ||
20 | * Boston, MA 02111-1301 USA | ||
21 | * | ||
22 | */ | 7 | */ |
23 | #ifndef FS_9P_V9FS_H | 8 | #ifndef FS_9P_V9FS_H |
24 | #define FS_9P_V9FS_H | 9 | #define FS_9P_V9FS_H |
diff --git a/fs/9p/v9fs_vfs.h b/fs/9p/v9fs_vfs.h index 60cd4ba04afc..fd2a2b040250 100644 --- a/fs/9p/v9fs_vfs.h +++ b/fs/9p/v9fs_vfs.h | |||
@@ -1,24 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * V9FS VFS extensions. | 3 | * V9FS VFS extensions. |
3 | * | 4 | * |
4 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 5 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
5 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 6 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 | ||
9 | * as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to: | ||
18 | * Free Software Foundation | ||
19 | * 51 Franklin Street, Fifth Floor | ||
20 | * Boston, MA 02111-1301 USA | ||
21 | * | ||
22 | */ | 7 | */ |
23 | #ifndef FS_9P_V9FS_VFS_H | 8 | #ifndef FS_9P_V9FS_VFS_H |
24 | #define FS_9P_V9FS_VFS_H | 9 | #define FS_9P_V9FS_VFS_H |
diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c index 0bcbcc20f769..bc57ae9e2963 100644 --- a/fs/9p/vfs_addr.c +++ b/fs/9p/vfs_addr.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_addr.c | 3 | * linux/fs/9p/vfs_addr.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2005 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #include <linux/module.h> | 11 | #include <linux/module.h> |
diff --git a/fs/9p/vfs_dentry.c b/fs/9p/vfs_dentry.c index bd456c668d39..7d6f69aefd45 100644 --- a/fs/9p/vfs_dentry.c +++ b/fs/9p/vfs_dentry.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_dentry.c | 3 | * linux/fs/9p/vfs_dentry.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #include <linux/module.h> | 11 | #include <linux/module.h> |
diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index 00745147329d..674d22bf4f6f 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_dir.c | 3 | * linux/fs/9p/vfs_dir.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #include <linux/module.h> | 11 | #include <linux/module.h> |
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index 9a1125305d84..4cc966a31cb3 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_file.c | 3 | * linux/fs/9p/vfs_file.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #include <linux/module.h> | 11 | #include <linux/module.h> |
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 24050e866e64..b82423a72f68 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_inode.c | 3 | * linux/fs/9p/vfs_inode.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 11 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c index a950a927a626..60328b21c5fb 100644 --- a/fs/9p/vfs_inode_dotl.c +++ b/fs/9p/vfs_inode_dotl.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_inode_dotl.c | 3 | * linux/fs/9p/vfs_inode_dotl.c |
3 | * | 4 | * |
@@ -5,22 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 7 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
7 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 | ||
11 | * as published by the Free Software Foundation. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to: | ||
20 | * Free Software Foundation | ||
21 | * 51 Franklin Street, Fifth Floor | ||
22 | * Boston, MA 02111-1301 USA | ||
23 | * | ||
24 | */ | 9 | */ |
25 | 10 | ||
26 | #include <linux/module.h> | 11 | #include <linux/module.h> |
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c index 67d1b965adcd..08112fbcaece 100644 --- a/fs/9p/vfs_super.c +++ b/fs/9p/vfs_super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/9p/vfs_super.c | 3 | * linux/fs/9p/vfs_super.c |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * | 7 | * |
7 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> | 8 | * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
8 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> | 9 | * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 | ||
12 | * as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to: | ||
21 | * Free Software Foundation | ||
22 | * 51 Franklin Street, Fifth Floor | ||
23 | * Boston, MA 02111-1301 USA | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
diff --git a/fs/Kconfig b/fs/Kconfig index cbbffc8b9ef5..f1046cf6ad85 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # File system configuration | 3 | # File system configuration |
3 | # | 4 | # |
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt index b795f8da81f3..f87ddd1b6d72 100644 --- a/fs/Kconfig.binfmt +++ b/fs/Kconfig.binfmt | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | 2 | ||
2 | menu "Executable file formats" | 3 | menu "Executable file formats" |
3 | 4 | ||
diff --git a/fs/adfs/Kconfig b/fs/adfs/Kconfig index c5a7787dd5e9..df4650dccf68 100644 --- a/fs/adfs/Kconfig +++ b/fs/adfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config ADFS_FS | 2 | config ADFS_FS |
2 | tristate "ADFS file system support" | 3 | tristate "ADFS file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/adfs/Makefile b/fs/adfs/Makefile index 9b2d71a9a35c..cf7de6ece659 100644 --- a/fs/adfs/Makefile +++ b/fs/adfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux adfs filesystem routines. | 3 | # Makefile for the linux adfs filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/adfs/adfs.h b/fs/adfs/adfs.h index c76db75f02aa..804c6a77c5db 100644 --- a/fs/adfs/adfs.h +++ b/fs/adfs/adfs.h | |||
@@ -113,19 +113,6 @@ struct object_info { | |||
113 | __u16 filetype; | 113 | __u16 filetype; |
114 | }; | 114 | }; |
115 | 115 | ||
116 | /* RISC OS 12-bit filetype converts to ,xyz hex filename suffix */ | ||
117 | static inline int append_filetype_suffix(char *buf, __u16 filetype) | ||
118 | { | ||
119 | if (filetype == 0xffff) /* no explicit 12-bit file type was set */ | ||
120 | return 0; | ||
121 | |||
122 | *buf++ = ','; | ||
123 | *buf++ = hex_asc_lo(filetype >> 8); | ||
124 | *buf++ = hex_asc_lo(filetype >> 4); | ||
125 | *buf++ = hex_asc_lo(filetype >> 0); | ||
126 | return 4; | ||
127 | } | ||
128 | |||
129 | struct adfs_dir_ops { | 116 | struct adfs_dir_ops { |
130 | int (*read)(struct super_block *sb, unsigned int id, unsigned int sz, struct adfs_dir *dir); | 117 | int (*read)(struct super_block *sb, unsigned int id, unsigned int sz, struct adfs_dir *dir); |
131 | int (*setpos)(struct adfs_dir *dir, unsigned int fpos); | 118 | int (*setpos)(struct adfs_dir *dir, unsigned int fpos); |
@@ -172,6 +159,7 @@ extern const struct dentry_operations adfs_dentry_operations; | |||
172 | extern const struct adfs_dir_ops adfs_f_dir_ops; | 159 | extern const struct adfs_dir_ops adfs_f_dir_ops; |
173 | extern const struct adfs_dir_ops adfs_fplus_dir_ops; | 160 | extern const struct adfs_dir_ops adfs_fplus_dir_ops; |
174 | 161 | ||
162 | void adfs_object_fixup(struct adfs_dir *dir, struct object_info *obj); | ||
175 | extern int adfs_dir_update(struct super_block *sb, struct object_info *obj, | 163 | extern int adfs_dir_update(struct super_block *sb, struct object_info *obj, |
176 | int wait); | 164 | int wait); |
177 | 165 | ||
diff --git a/fs/adfs/dir.c b/fs/adfs/dir.c index e18eff854e1a..35a4d9f4c3ae 100644 --- a/fs/adfs/dir.c +++ b/fs/adfs/dir.c | |||
@@ -1,12 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/dir.c | 3 | * linux/fs/adfs/dir.c |
3 | * | 4 | * |
4 | * Copyright (C) 1999-2000 Russell King | 5 | * Copyright (C) 1999-2000 Russell King |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * Common directory handling for ADFS | 7 | * Common directory handling for ADFS |
11 | */ | 8 | */ |
12 | #include "adfs.h" | 9 | #include "adfs.h" |
@@ -16,6 +13,50 @@ | |||
16 | */ | 13 | */ |
17 | static DEFINE_RWLOCK(adfs_dir_lock); | 14 | static DEFINE_RWLOCK(adfs_dir_lock); |
18 | 15 | ||
16 | void adfs_object_fixup(struct adfs_dir *dir, struct object_info *obj) | ||
17 | { | ||
18 | unsigned int dots, i; | ||
19 | |||
20 | /* | ||
21 | * RISC OS allows the use of '/' in directory entry names, so we need | ||
22 | * to fix these up. '/' is typically used for FAT compatibility to | ||
23 | * represent '.', so do the same conversion here. In any case, '.' | ||
24 | * will never be in a RISC OS name since it is used as the pathname | ||
25 | * separator. Handle the case where we may generate a '.' or '..' | ||
26 | * name, replacing the first character with '^' (the RISC OS "parent | ||
27 | * directory" character.) | ||
28 | */ | ||
29 | for (i = dots = 0; i < obj->name_len; i++) | ||
30 | if (obj->name[i] == '/') { | ||
31 | obj->name[i] = '.'; | ||
32 | dots++; | ||
33 | } | ||
34 | |||
35 | if (obj->name_len <= 2 && dots == obj->name_len) | ||
36 | obj->name[0] = '^'; | ||
37 | |||
38 | obj->filetype = -1; | ||
39 | |||
40 | /* | ||
41 | * object is a file and is filetyped and timestamped? | ||
42 | * RISC OS 12-bit filetype is stored in load_address[19:8] | ||
43 | */ | ||
44 | if ((0 == (obj->attr & ADFS_NDA_DIRECTORY)) && | ||
45 | (0xfff00000 == (0xfff00000 & obj->loadaddr))) { | ||
46 | obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8); | ||
47 | |||
48 | /* optionally append the ,xyz hex filetype suffix */ | ||
49 | if (ADFS_SB(dir->sb)->s_ftsuffix) { | ||
50 | __u16 filetype = obj->filetype; | ||
51 | |||
52 | obj->name[obj->name_len++] = ','; | ||
53 | obj->name[obj->name_len++] = hex_asc_lo(filetype >> 8); | ||
54 | obj->name[obj->name_len++] = hex_asc_lo(filetype >> 4); | ||
55 | obj->name[obj->name_len++] = hex_asc_lo(filetype >> 0); | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | |||
19 | static int | 60 | static int |
20 | adfs_readdir(struct file *file, struct dir_context *ctx) | 61 | adfs_readdir(struct file *file, struct dir_context *ctx) |
21 | { | 62 | { |
@@ -100,37 +141,36 @@ out: | |||
100 | return ret; | 141 | return ret; |
101 | } | 142 | } |
102 | 143 | ||
103 | static int | 144 | static unsigned char adfs_tolower(unsigned char c) |
104 | adfs_match(const struct qstr *name, struct object_info *obj) | ||
105 | { | 145 | { |
106 | int i; | 146 | if (c >= 'A' && c <= 'Z') |
107 | 147 | c += 'a' - 'A'; | |
108 | if (name->len != obj->name_len) | 148 | return c; |
109 | return 0; | 149 | } |
110 | 150 | ||
111 | for (i = 0; i < name->len; i++) { | 151 | static int __adfs_compare(const unsigned char *qstr, u32 qlen, |
112 | char c1, c2; | 152 | const char *str, u32 len) |
153 | { | ||
154 | u32 i; | ||
113 | 155 | ||
114 | c1 = name->name[i]; | 156 | if (qlen != len) |
115 | c2 = obj->name[i]; | 157 | return 1; |
116 | 158 | ||
117 | if (c1 >= 'A' && c1 <= 'Z') | 159 | for (i = 0; i < qlen; i++) |
118 | c1 += 'a' - 'A'; | 160 | if (adfs_tolower(qstr[i]) != adfs_tolower(str[i])) |
119 | if (c2 >= 'A' && c2 <= 'Z') | 161 | return 1; |
120 | c2 += 'a' - 'A'; | ||
121 | 162 | ||
122 | if (c1 != c2) | 163 | return 0; |
123 | return 0; | ||
124 | } | ||
125 | return 1; | ||
126 | } | 164 | } |
127 | 165 | ||
128 | static int | 166 | static int adfs_dir_lookup_byname(struct inode *inode, const struct qstr *qstr, |
129 | adfs_dir_lookup_byname(struct inode *inode, const struct qstr *name, struct object_info *obj) | 167 | struct object_info *obj) |
130 | { | 168 | { |
131 | struct super_block *sb = inode->i_sb; | 169 | struct super_block *sb = inode->i_sb; |
132 | const struct adfs_dir_ops *ops = ADFS_SB(sb)->s_dir; | 170 | const struct adfs_dir_ops *ops = ADFS_SB(sb)->s_dir; |
171 | const unsigned char *name; | ||
133 | struct adfs_dir dir; | 172 | struct adfs_dir dir; |
173 | u32 name_len; | ||
134 | int ret; | 174 | int ret; |
135 | 175 | ||
136 | ret = ops->read(sb, inode->i_ino, inode->i_size, &dir); | 176 | ret = ops->read(sb, inode->i_ino, inode->i_size, &dir); |
@@ -153,8 +193,10 @@ adfs_dir_lookup_byname(struct inode *inode, const struct qstr *name, struct obje | |||
153 | goto unlock_out; | 193 | goto unlock_out; |
154 | 194 | ||
155 | ret = -ENOENT; | 195 | ret = -ENOENT; |
196 | name = qstr->name; | ||
197 | name_len = qstr->len; | ||
156 | while (ops->getnext(&dir, obj) == 0) { | 198 | while (ops->getnext(&dir, obj) == 0) { |
157 | if (adfs_match(name, obj)) { | 199 | if (!__adfs_compare(name, name_len, obj->name, obj->name_len)) { |
158 | ret = 0; | 200 | ret = 0; |
159 | break; | 201 | break; |
160 | } | 202 | } |
@@ -179,30 +221,18 @@ const struct file_operations adfs_dir_operations = { | |||
179 | static int | 221 | static int |
180 | adfs_hash(const struct dentry *parent, struct qstr *qstr) | 222 | adfs_hash(const struct dentry *parent, struct qstr *qstr) |
181 | { | 223 | { |
182 | const unsigned int name_len = ADFS_SB(parent->d_sb)->s_namelen; | ||
183 | const unsigned char *name; | 224 | const unsigned char *name; |
184 | unsigned long hash; | 225 | unsigned long hash; |
185 | int i; | 226 | u32 len; |
186 | 227 | ||
187 | if (qstr->len < name_len) | 228 | if (qstr->len > ADFS_SB(parent->d_sb)->s_namelen) |
188 | return 0; | 229 | return -ENAMETOOLONG; |
189 | 230 | ||
190 | /* | 231 | len = qstr->len; |
191 | * Truncate the name in place, avoids | ||
192 | * having to define a compare function. | ||
193 | */ | ||
194 | qstr->len = i = name_len; | ||
195 | name = qstr->name; | 232 | name = qstr->name; |
196 | hash = init_name_hash(parent); | 233 | hash = init_name_hash(parent); |
197 | while (i--) { | 234 | while (len--) |
198 | char c; | 235 | hash = partial_name_hash(adfs_tolower(*name++), hash); |
199 | |||
200 | c = *name++; | ||
201 | if (c >= 'A' && c <= 'Z') | ||
202 | c += 'a' - 'A'; | ||
203 | |||
204 | hash = partial_name_hash(c, hash); | ||
205 | } | ||
206 | qstr->hash = end_name_hash(hash); | 236 | qstr->hash = end_name_hash(hash); |
207 | 237 | ||
208 | return 0; | 238 | return 0; |
@@ -212,30 +242,10 @@ adfs_hash(const struct dentry *parent, struct qstr *qstr) | |||
212 | * Compare two names, taking note of the name length | 242 | * Compare two names, taking note of the name length |
213 | * requirements of the underlying filesystem. | 243 | * requirements of the underlying filesystem. |
214 | */ | 244 | */ |
215 | static int | 245 | static int adfs_compare(const struct dentry *dentry, unsigned int len, |
216 | adfs_compare(const struct dentry *dentry, | 246 | const char *str, const struct qstr *qstr) |
217 | unsigned int len, const char *str, const struct qstr *name) | ||
218 | { | 247 | { |
219 | int i; | 248 | return __adfs_compare(qstr->name, qstr->len, str, len); |
220 | |||
221 | if (len != name->len) | ||
222 | return 1; | ||
223 | |||
224 | for (i = 0; i < name->len; i++) { | ||
225 | char a, b; | ||
226 | |||
227 | a = str[i]; | ||
228 | b = name->name[i]; | ||
229 | |||
230 | if (a >= 'A' && a <= 'Z') | ||
231 | a += 'a' - 'A'; | ||
232 | if (b >= 'A' && b <= 'Z') | ||
233 | b += 'a' - 'A'; | ||
234 | |||
235 | if (a != b) | ||
236 | return 1; | ||
237 | } | ||
238 | return 0; | ||
239 | } | 249 | } |
240 | 250 | ||
241 | const struct dentry_operations adfs_dentry_operations = { | 251 | const struct dentry_operations adfs_dentry_operations = { |
diff --git a/fs/adfs/dir_f.c b/fs/adfs/dir_f.c index 382c9d7ad375..7557378e58b3 100644 --- a/fs/adfs/dir_f.c +++ b/fs/adfs/dir_f.c | |||
@@ -1,12 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/dir_f.c | 3 | * linux/fs/adfs/dir_f.c |
3 | * | 4 | * |
4 | * Copyright (C) 1997-1999 Russell King | 5 | * Copyright (C) 1997-1999 Russell King |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * E and F format directory handling | 7 | * E and F format directory handling |
11 | */ | 8 | */ |
12 | #include <linux/buffer_head.h> | 9 | #include <linux/buffer_head.h> |
@@ -47,21 +44,6 @@ static inline void adfs_writeval(unsigned char *p, int len, unsigned int val) | |||
47 | } | 44 | } |
48 | } | 45 | } |
49 | 46 | ||
50 | static inline int adfs_readname(char *buf, char *ptr, int maxlen) | ||
51 | { | ||
52 | char *old_buf = buf; | ||
53 | |||
54 | while ((unsigned char)*ptr >= ' ' && maxlen--) { | ||
55 | if (*ptr == '/') | ||
56 | *buf++ = '.'; | ||
57 | else | ||
58 | *buf++ = *ptr; | ||
59 | ptr++; | ||
60 | } | ||
61 | |||
62 | return buf - old_buf; | ||
63 | } | ||
64 | |||
65 | #define ror13(v) ((v >> 13) | (v << 19)) | 47 | #define ror13(v) ((v >> 13) | (v << 19)) |
66 | 48 | ||
67 | #define dir_u8(idx) \ | 49 | #define dir_u8(idx) \ |
@@ -216,29 +198,23 @@ static inline void | |||
216 | adfs_dir2obj(struct adfs_dir *dir, struct object_info *obj, | 198 | adfs_dir2obj(struct adfs_dir *dir, struct object_info *obj, |
217 | struct adfs_direntry *de) | 199 | struct adfs_direntry *de) |
218 | { | 200 | { |
219 | obj->name_len = adfs_readname(obj->name, de->dirobname, ADFS_F_NAME_LEN); | 201 | unsigned int name_len; |
202 | |||
203 | for (name_len = 0; name_len < ADFS_F_NAME_LEN; name_len++) { | ||
204 | if (de->dirobname[name_len] < ' ') | ||
205 | break; | ||
206 | |||
207 | obj->name[name_len] = de->dirobname[name_len]; | ||
208 | } | ||
209 | |||
210 | obj->name_len = name_len; | ||
220 | obj->file_id = adfs_readval(de->dirinddiscadd, 3); | 211 | obj->file_id = adfs_readval(de->dirinddiscadd, 3); |
221 | obj->loadaddr = adfs_readval(de->dirload, 4); | 212 | obj->loadaddr = adfs_readval(de->dirload, 4); |
222 | obj->execaddr = adfs_readval(de->direxec, 4); | 213 | obj->execaddr = adfs_readval(de->direxec, 4); |
223 | obj->size = adfs_readval(de->dirlen, 4); | 214 | obj->size = adfs_readval(de->dirlen, 4); |
224 | obj->attr = de->newdiratts; | 215 | obj->attr = de->newdiratts; |
225 | obj->filetype = -1; | ||
226 | 216 | ||
227 | /* | 217 | adfs_object_fixup(dir, obj); |
228 | * object is a file and is filetyped and timestamped? | ||
229 | * RISC OS 12-bit filetype is stored in load_address[19:8] | ||
230 | */ | ||
231 | if ((0 == (obj->attr & ADFS_NDA_DIRECTORY)) && | ||
232 | (0xfff00000 == (0xfff00000 & obj->loadaddr))) { | ||
233 | obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8); | ||
234 | |||
235 | /* optionally append the ,xyz hex filetype suffix */ | ||
236 | if (ADFS_SB(dir->sb)->s_ftsuffix) | ||
237 | obj->name_len += | ||
238 | append_filetype_suffix( | ||
239 | &obj->name[obj->name_len], | ||
240 | obj->filetype); | ||
241 | } | ||
242 | } | 218 | } |
243 | 219 | ||
244 | /* | 220 | /* |
diff --git a/fs/adfs/dir_f.h b/fs/adfs/dir_f.h index e4713404096c..5aec332b90f5 100644 --- a/fs/adfs/dir_f.h +++ b/fs/adfs/dir_f.h | |||
@@ -1,12 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/dir_f.h | 3 | * linux/fs/adfs/dir_f.h |
3 | * | 4 | * |
4 | * Copyright (C) 1999 Russell King | 5 | * Copyright (C) 1999 Russell King |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * Structures of directories on the F format disk | 7 | * Structures of directories on the F format disk |
11 | */ | 8 | */ |
12 | #ifndef ADFS_DIR_F_H | 9 | #ifndef ADFS_DIR_F_H |
diff --git a/fs/adfs/dir_fplus.c b/fs/adfs/dir_fplus.c index c92cfb638c18..6c5fbb0259c9 100644 --- a/fs/adfs/dir_fplus.c +++ b/fs/adfs/dir_fplus.c | |||
@@ -1,11 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/dir_fplus.c | 3 | * linux/fs/adfs/dir_fplus.c |
3 | * | 4 | * |
4 | * Copyright (C) 1997-1999 Russell King | 5 | * Copyright (C) 1997-1999 Russell King |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | 6 | */ |
10 | #include <linux/buffer_head.h> | 7 | #include <linux/buffer_head.h> |
11 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
@@ -169,7 +166,7 @@ adfs_fplus_getnext(struct adfs_dir *dir, struct object_info *obj) | |||
169 | (struct adfs_bigdirheader *) dir->bh_fplus[0]->b_data; | 166 | (struct adfs_bigdirheader *) dir->bh_fplus[0]->b_data; |
170 | struct adfs_bigdirentry bde; | 167 | struct adfs_bigdirentry bde; |
171 | unsigned int offset; | 168 | unsigned int offset; |
172 | int i, ret = -ENOENT; | 169 | int ret = -ENOENT; |
173 | 170 | ||
174 | if (dir->pos >= le32_to_cpu(h->bigdirentries)) | 171 | if (dir->pos >= le32_to_cpu(h->bigdirentries)) |
175 | goto out; | 172 | goto out; |
@@ -193,27 +190,7 @@ adfs_fplus_getnext(struct adfs_dir *dir, struct object_info *obj) | |||
193 | offset += le32_to_cpu(bde.bigdirobnameptr); | 190 | offset += le32_to_cpu(bde.bigdirobnameptr); |
194 | 191 | ||
195 | dir_memcpy(dir, offset, obj->name, obj->name_len); | 192 | dir_memcpy(dir, offset, obj->name, obj->name_len); |
196 | for (i = 0; i < obj->name_len; i++) | 193 | adfs_object_fixup(dir, obj); |
197 | if (obj->name[i] == '/') | ||
198 | obj->name[i] = '.'; | ||
199 | |||
200 | obj->filetype = -1; | ||
201 | |||
202 | /* | ||
203 | * object is a file and is filetyped and timestamped? | ||
204 | * RISC OS 12-bit filetype is stored in load_address[19:8] | ||
205 | */ | ||
206 | if ((0 == (obj->attr & ADFS_NDA_DIRECTORY)) && | ||
207 | (0xfff00000 == (0xfff00000 & obj->loadaddr))) { | ||
208 | obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8); | ||
209 | |||
210 | /* optionally append the ,xyz hex filetype suffix */ | ||
211 | if (ADFS_SB(dir->sb)->s_ftsuffix) | ||
212 | obj->name_len += | ||
213 | append_filetype_suffix( | ||
214 | &obj->name[obj->name_len], | ||
215 | obj->filetype); | ||
216 | } | ||
217 | 194 | ||
218 | dir->pos += 1; | 195 | dir->pos += 1; |
219 | ret = 0; | 196 | ret = 0; |
diff --git a/fs/adfs/dir_fplus.h b/fs/adfs/dir_fplus.h index b55aa41a68fe..4ec0931e36ad 100644 --- a/fs/adfs/dir_fplus.h +++ b/fs/adfs/dir_fplus.h | |||
@@ -1,12 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/dir_fplus.h | 3 | * linux/fs/adfs/dir_fplus.h |
3 | * | 4 | * |
4 | * Copyright (C) 1999 Russell King | 5 | * Copyright (C) 1999 Russell King |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * Structures of directories on the F+ format disk | 7 | * Structures of directories on the F+ format disk |
11 | */ | 8 | */ |
12 | 9 | ||
diff --git a/fs/adfs/inode.c b/fs/adfs/inode.c index 66621e96f9af..904d624541ad 100644 --- a/fs/adfs/inode.c +++ b/fs/adfs/inode.c | |||
@@ -1,11 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/inode.c | 3 | * linux/fs/adfs/inode.c |
3 | * | 4 | * |
4 | * Copyright (C) 1997-1999 Russell King | 5 | * Copyright (C) 1997-1999 Russell King |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | 6 | */ |
10 | #include <linux/buffer_head.h> | 7 | #include <linux/buffer_head.h> |
11 | #include <linux/writeback.h> | 8 | #include <linux/writeback.h> |
diff --git a/fs/adfs/map.c b/fs/adfs/map.c index 6935f05202ac..4d34338c6176 100644 --- a/fs/adfs/map.c +++ b/fs/adfs/map.c | |||
@@ -1,11 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/map.c | 3 | * linux/fs/adfs/map.c |
3 | * | 4 | * |
4 | * Copyright (C) 1997-2002 Russell King | 5 | * Copyright (C) 1997-2002 Russell King |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | 6 | */ |
10 | #include <linux/buffer_head.h> | 7 | #include <linux/buffer_head.h> |
11 | #include <asm/unaligned.h> | 8 | #include <asm/unaligned.h> |
diff --git a/fs/adfs/super.c b/fs/adfs/super.c index 2a83655c408f..ffb669f9bba7 100644 --- a/fs/adfs/super.c +++ b/fs/adfs/super.c | |||
@@ -1,11 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/adfs/super.c | 3 | * linux/fs/adfs/super.c |
3 | * | 4 | * |
4 | * Copyright (C) 1997-1999 Russell King | 5 | * Copyright (C) 1997-1999 Russell King |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | 6 | */ |
10 | #include <linux/module.h> | 7 | #include <linux/module.h> |
11 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/fs/affs/Kconfig b/fs/affs/Kconfig index a04d9e848d05..84c46b9025c5 100644 --- a/fs/affs/Kconfig +++ b/fs/affs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config AFFS_FS | 2 | config AFFS_FS |
2 | tristate "Amiga FFS file system support" | 3 | tristate "Amiga FFS file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/affs/Makefile b/fs/affs/Makefile index 3988b4a78339..f2c811429a4e 100644 --- a/fs/affs/Makefile +++ b/fs/affs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux affs filesystem routines. | 3 | # Makefile for the Linux affs filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/affs/super.c b/fs/affs/super.c index 7370228eefb2..e7d036efbaa1 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/affs/inode.c | 3 | * linux/fs/affs/inode.c |
3 | * | 4 | * |
diff --git a/fs/afs/Kconfig b/fs/afs/Kconfig index 701aaa9b1899..3fb1f559e317 100644 --- a/fs/afs/Kconfig +++ b/fs/afs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config AFS_FS | 2 | config AFS_FS |
2 | tristate "Andrew File System support (AFS)" | 3 | tristate "Andrew File System support (AFS)" |
3 | depends on INET | 4 | depends on INET |
diff --git a/fs/afs/addr_list.c b/fs/afs/addr_list.c index 9eaff55df7b4..86da532c192f 100644 --- a/fs/afs/addr_list.c +++ b/fs/afs/addr_list.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Server address list management | 2 | /* Server address list management |
2 | * | 3 | * |
3 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/afs/afs.h b/fs/afs/afs.h index 3f4e460c6655..b6d49d646ade 100644 --- a/fs/afs/afs.h +++ b/fs/afs/afs.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* AFS common types | 2 | /* AFS common types |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifndef AFS_H | 8 | #ifndef AFS_H |
diff --git a/fs/afs/afs_cm.h b/fs/afs/afs_cm.h index 255f5dd6040c..565cbe0a8af6 100644 --- a/fs/afs/afs_cm.h +++ b/fs/afs/afs_cm.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* AFS Cache Manager definitions | 2 | /* AFS Cache Manager definitions |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifndef AFS_CM_H | 8 | #ifndef AFS_CM_H |
diff --git a/fs/afs/afs_fs.h b/fs/afs/afs_fs.h index 18a54ca422f8..20ab344baf9d 100644 --- a/fs/afs/afs_fs.h +++ b/fs/afs/afs_fs.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* AFS File Service definitions | 2 | /* AFS File Service definitions |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifndef AFS_FS_H | 8 | #ifndef AFS_FS_H |
diff --git a/fs/afs/afs_vl.h b/fs/afs/afs_vl.h index e3c4688f573b..e9b8029920ec 100644 --- a/fs/afs/afs_vl.h +++ b/fs/afs/afs_vl.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* AFS Volume Location Service client interface | 2 | /* AFS Volume Location Service client interface |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifndef AFS_VL_H | 8 | #ifndef AFS_VL_H |
diff --git a/fs/afs/cache.c b/fs/afs/cache.c index f6d0a21e8052..037af93e3aba 100644 --- a/fs/afs/cache.c +++ b/fs/afs/cache.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS caching stuff | 2 | /* AFS caching stuff |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
diff --git a/fs/afs/callback.c b/fs/afs/callback.c index d441bef72163..915010464572 100644 --- a/fs/afs/callback.c +++ b/fs/afs/callback.c | |||
@@ -275,9 +275,9 @@ static void afs_break_one_callback(struct afs_server *server, | |||
275 | struct afs_super_info *as = AFS_FS_S(cbi->sb); | 275 | struct afs_super_info *as = AFS_FS_S(cbi->sb); |
276 | struct afs_volume *volume = as->volume; | 276 | struct afs_volume *volume = as->volume; |
277 | 277 | ||
278 | write_lock(&volume->cb_break_lock); | 278 | write_lock(&volume->cb_v_break_lock); |
279 | volume->cb_v_break++; | 279 | volume->cb_v_break++; |
280 | write_unlock(&volume->cb_break_lock); | 280 | write_unlock(&volume->cb_v_break_lock); |
281 | } else { | 281 | } else { |
282 | data.volume = NULL; | 282 | data.volume = NULL; |
283 | data.fid = *fid; | 283 | data.fid = *fid; |
diff --git a/fs/afs/cell.c b/fs/afs/cell.c index 9c3b07ba2222..a2a87117d262 100644 --- a/fs/afs/cell.c +++ b/fs/afs/cell.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS cell and server record management | 2 | /* AFS cell and server record management |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2017 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2017 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/afs/cmservice.c b/fs/afs/cmservice.c index 01437cfe5432..3451be03667f 100644 --- a/fs/afs/cmservice.c +++ b/fs/afs/cmservice.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS Cache Manager Service | 2 | /* AFS Cache Manager Service |
2 | * | 3 | * |
3 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 79d93a26759a..da9563d62b32 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* dir.c: AFS filesystem directory handling | 2 | /* dir.c: AFS filesystem directory handling |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/dir_edit.c b/fs/afs/dir_edit.c index 8b400f5aead5..d4fbe5f85f1b 100644 --- a/fs/afs/dir_edit.c +++ b/fs/afs/dir_edit.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS filesystem directory editing | 2 | /* AFS filesystem directory editing |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/dir_silly.c b/fs/afs/dir_silly.c index 28f4aa015229..057b8d322422 100644 --- a/fs/afs/dir_silly.c +++ b/fs/afs/dir_silly.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS silly rename handling | 2 | /* AFS silly rename handling |
2 | * | 3 | * |
3 | * Copyright (C) 2019 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2019 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * - Derived from NFS's sillyrename. | 6 | * - Derived from NFS's sillyrename. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public Licence | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the Licence, or (at your option) any later version. | ||
11 | */ | 7 | */ |
12 | 8 | ||
13 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
diff --git a/fs/afs/dynroot.c b/fs/afs/dynroot.c index af1689d1f32e..9b3b2f1f1fc0 100644 --- a/fs/afs/dynroot.c +++ b/fs/afs/dynroot.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS dynamic root handling | 2 | /* AFS dynamic root handling |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/fs.h> | 8 | #include <linux/fs.h> |
diff --git a/fs/afs/file.c b/fs/afs/file.c index 11e69c5fb7ab..8fd7d3b9a1b1 100644 --- a/fs/afs/file.c +++ b/fs/afs/file.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS filesystem file handling | 2 | /* AFS filesystem file handling |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/flock.c b/fs/afs/flock.c index ed3ac03682d7..d5e5a6ddc847 100644 --- a/fs/afs/flock.c +++ b/fs/afs/flock.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS file locking support | 2 | /* AFS file locking support |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include "internal.h" | 8 | #include "internal.h" |
diff --git a/fs/afs/fs_probe.c b/fs/afs/fs_probe.c index 9b7266209343..cfe62b154f68 100644 --- a/fs/afs/fs_probe.c +++ b/fs/afs/fs_probe.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS fileserver probing | 2 | /* AFS fileserver probing |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c index 48298408d6ac..a1ef0266422a 100644 --- a/fs/afs/fsclient.c +++ b/fs/afs/fsclient.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS File Server client stubs | 2 | /* AFS File Server client stubs |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/fs/afs/inode.c b/fs/afs/inode.c index b42d9d09669c..18a50d4febcf 100644 --- a/fs/afs/inode.c +++ b/fs/afs/inode.c | |||
@@ -56,6 +56,16 @@ static noinline void dump_vnode(struct afs_vnode *vnode, struct afs_vnode *paren | |||
56 | } | 56 | } |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * Set the file size and block count. Estimate the number of 512 bytes blocks | ||
60 | * used, rounded up to nearest 1K for consistency with other AFS clients. | ||
61 | */ | ||
62 | static void afs_set_i_size(struct afs_vnode *vnode, u64 size) | ||
63 | { | ||
64 | i_size_write(&vnode->vfs_inode, size); | ||
65 | vnode->vfs_inode.i_blocks = ((size + 1023) >> 10) << 1; | ||
66 | } | ||
67 | |||
68 | /* | ||
59 | * Initialise an inode from the vnode status. | 69 | * Initialise an inode from the vnode status. |
60 | */ | 70 | */ |
61 | static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key, | 71 | static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key, |
@@ -124,12 +134,7 @@ static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key, | |||
124 | return afs_protocol_error(NULL, -EBADMSG, afs_eproto_file_type); | 134 | return afs_protocol_error(NULL, -EBADMSG, afs_eproto_file_type); |
125 | } | 135 | } |
126 | 136 | ||
127 | /* | 137 | afs_set_i_size(vnode, status->size); |
128 | * Estimate 512 bytes blocks used, rounded up to nearest 1K | ||
129 | * for consistency with other AFS clients. | ||
130 | */ | ||
131 | inode->i_blocks = ((i_size_read(inode) + 1023) >> 10) << 1; | ||
132 | i_size_write(&vnode->vfs_inode, status->size); | ||
133 | 138 | ||
134 | vnode->invalid_before = status->data_version; | 139 | vnode->invalid_before = status->data_version; |
135 | inode_set_iversion_raw(&vnode->vfs_inode, status->data_version); | 140 | inode_set_iversion_raw(&vnode->vfs_inode, status->data_version); |
@@ -207,11 +212,13 @@ static void afs_apply_status(struct afs_fs_cursor *fc, | |||
207 | 212 | ||
208 | if (expected_version && | 213 | if (expected_version && |
209 | *expected_version != status->data_version) { | 214 | *expected_version != status->data_version) { |
210 | kdebug("vnode modified %llx on {%llx:%llu} [exp %llx] %s", | 215 | if (test_bit(AFS_VNODE_CB_PROMISED, &vnode->flags)) |
211 | (unsigned long long) status->data_version, | 216 | pr_warn("kAFS: vnode modified {%llx:%llu} %llx->%llx %s\n", |
212 | vnode->fid.vid, vnode->fid.vnode, | 217 | vnode->fid.vid, vnode->fid.vnode, |
213 | (unsigned long long) *expected_version, | 218 | (unsigned long long)*expected_version, |
214 | fc->type ? fc->type->name : "???"); | 219 | (unsigned long long)status->data_version, |
220 | fc->type ? fc->type->name : "???"); | ||
221 | |||
215 | vnode->invalid_before = status->data_version; | 222 | vnode->invalid_before = status->data_version; |
216 | if (vnode->status.type == AFS_FTYPE_DIR) { | 223 | if (vnode->status.type == AFS_FTYPE_DIR) { |
217 | if (test_and_clear_bit(AFS_VNODE_DIR_VALID, &vnode->flags)) | 224 | if (test_and_clear_bit(AFS_VNODE_DIR_VALID, &vnode->flags)) |
@@ -230,7 +237,7 @@ static void afs_apply_status(struct afs_fs_cursor *fc, | |||
230 | 237 | ||
231 | if (data_changed) { | 238 | if (data_changed) { |
232 | inode_set_iversion_raw(&vnode->vfs_inode, status->data_version); | 239 | inode_set_iversion_raw(&vnode->vfs_inode, status->data_version); |
233 | i_size_write(&vnode->vfs_inode, status->size); | 240 | afs_set_i_size(vnode, status->size); |
234 | } | 241 | } |
235 | } | 242 | } |
236 | 243 | ||
diff --git a/fs/afs/internal.h b/fs/afs/internal.h index 2073c1a3ab4b..7ee63526c6a2 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* internal AFS stuff | 2 | /* internal AFS stuff |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/compiler.h> | 8 | #include <linux/compiler.h> |
@@ -113,10 +109,8 @@ struct afs_call { | |||
113 | struct rxrpc_call *rxcall; /* RxRPC call handle */ | 109 | struct rxrpc_call *rxcall; /* RxRPC call handle */ |
114 | struct key *key; /* security for this call */ | 110 | struct key *key; /* security for this call */ |
115 | struct afs_net *net; /* The network namespace */ | 111 | struct afs_net *net; /* The network namespace */ |
116 | union { | 112 | struct afs_server *server; /* The fileserver record if fs op (pins ref) */ |
117 | struct afs_server *server; | 113 | struct afs_vlserver *vlserver; /* The vlserver record if vl op */ |
118 | struct afs_vlserver *vlserver; | ||
119 | }; | ||
120 | struct afs_cb_interest *cbi; /* Callback interest for server used */ | 114 | struct afs_cb_interest *cbi; /* Callback interest for server used */ |
121 | struct afs_vnode *lvnode; /* vnode being locked */ | 115 | struct afs_vnode *lvnode; /* vnode being locked */ |
122 | void *request; /* request data (first part) */ | 116 | void *request; /* request data (first part) */ |
@@ -620,7 +614,7 @@ struct afs_volume { | |||
620 | unsigned int servers_seq; /* Incremented each time ->servers changes */ | 614 | unsigned int servers_seq; /* Incremented each time ->servers changes */ |
621 | 615 | ||
622 | unsigned cb_v_break; /* Break-everything counter. */ | 616 | unsigned cb_v_break; /* Break-everything counter. */ |
623 | rwlock_t cb_break_lock; | 617 | rwlock_t cb_v_break_lock; |
624 | 618 | ||
625 | afs_voltype_t type; /* type of volume */ | 619 | afs_voltype_t type; /* type of volume */ |
626 | short error; | 620 | short error; |
diff --git a/fs/afs/main.c b/fs/afs/main.c index 107427688edd..c9c45d7078bd 100644 --- a/fs/afs/main.c +++ b/fs/afs/main.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS client file system | 2 | /* AFS client file system |
2 | * | 3 | * |
3 | * Copyright (C) 2002,5 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002,5 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/afs/misc.c b/fs/afs/misc.c index 7f2af061ea06..5497ab38f585 100644 --- a/fs/afs/misc.c +++ b/fs/afs/misc.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* miscellaneous bits | 2 | /* miscellaneous bits |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c index eecd8b699186..f532d6d3bd28 100644 --- a/fs/afs/mntpt.c +++ b/fs/afs/mntpt.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* mountpoint management | 2 | /* mountpoint management |
2 | * | 3 | * |
3 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/proc.c b/fs/afs/proc.c index 371501d28e08..fba2ec3a3a9c 100644 --- a/fs/afs/proc.c +++ b/fs/afs/proc.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* /proc interface for AFS | 2 | /* /proc interface for AFS |
2 | * | 3 | * |
3 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/afs/protocol_yfs.h b/fs/afs/protocol_yfs.h index 915b9d10cdf3..32be9c698348 100644 --- a/fs/afs/protocol_yfs.h +++ b/fs/afs/protocol_yfs.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* YFS protocol bits | 2 | /* YFS protocol bits |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define YFS_FS_SERVICE 2500 | 8 | #define YFS_FS_SERVICE 2500 |
diff --git a/fs/afs/rotate.c b/fs/afs/rotate.c index b00c739e0e63..172ba569cd60 100644 --- a/fs/afs/rotate.c +++ b/fs/afs/rotate.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Handle fileserver selection and rotation. | 2 | /* Handle fileserver selection and rotation. |
2 | * | 3 | * |
3 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c index 4fa5ce92b9b9..d1dde2834b6d 100644 --- a/fs/afs/rxrpc.c +++ b/fs/afs/rxrpc.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Maintain an RxRPC server socket to do AFS communications through | 2 | /* Maintain an RxRPC server socket to do AFS communications through |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/afs/security.c b/fs/afs/security.c index 5d8ece98561e..71e71c07568f 100644 --- a/fs/afs/security.c +++ b/fs/afs/security.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS security handling | 2 | /* AFS security handling |
2 | * | 3 | * |
3 | * Copyright (C) 2007, 2017 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007, 2017 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/fs/afs/server.c b/fs/afs/server.c index 52c170b59cfd..e900cd74361b 100644 --- a/fs/afs/server.c +++ b/fs/afs/server.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS server record management | 2 | /* AFS server record management |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
diff --git a/fs/afs/server_list.c b/fs/afs/server_list.c index 155dc14caef9..b4988bc8e6f2 100644 --- a/fs/afs/server_list.c +++ b/fs/afs/server_list.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS fileserver list management. | 2 | /* AFS fileserver list management. |
2 | * | 3 | * |
3 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/vl_list.c b/fs/afs/vl_list.c index 61e25010ff33..21eb0c0be912 100644 --- a/fs/afs/vl_list.c +++ b/fs/afs/vl_list.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS vlserver list management. | 2 | /* AFS vlserver list management. |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/vl_probe.c b/fs/afs/vl_probe.c index beb991563939..858498cc1b05 100644 --- a/fs/afs/vl_probe.c +++ b/fs/afs/vl_probe.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS vlserver probing | 2 | /* AFS vlserver probing |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
diff --git a/fs/afs/vl_rotate.c b/fs/afs/vl_rotate.c index 3f845489a9f0..9a5ce9687779 100644 --- a/fs/afs/vl_rotate.c +++ b/fs/afs/vl_rotate.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Handle vlserver selection and rotation. | 2 | /* Handle vlserver selection and rotation. |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/afs/vlclient.c b/fs/afs/vlclient.c index 3d4b9836a2e2..d7e0fd3c00df 100644 --- a/fs/afs/vlclient.c +++ b/fs/afs/vlclient.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS Volume Location Service client | 2 | /* AFS Volume Location Service client |
2 | * | 3 | * |
3 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/gfp.h> | 8 | #include <linux/gfp.h> |
diff --git a/fs/afs/volume.c b/fs/afs/volume.c index f6eba2def0a1..1a414300b654 100644 --- a/fs/afs/volume.c +++ b/fs/afs/volume.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* AFS volume management | 2 | /* AFS volume management |
2 | * | 3 | * |
3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
@@ -47,6 +43,7 @@ static struct afs_volume *afs_alloc_volume(struct afs_fs_context *params, | |||
47 | atomic_set(&volume->usage, 1); | 43 | atomic_set(&volume->usage, 1); |
48 | INIT_LIST_HEAD(&volume->proc_link); | 44 | INIT_LIST_HEAD(&volume->proc_link); |
49 | rwlock_init(&volume->servers_lock); | 45 | rwlock_init(&volume->servers_lock); |
46 | rwlock_init(&volume->cb_v_break_lock); | ||
50 | memcpy(volume->name, vldb->name, vldb->name_len + 1); | 47 | memcpy(volume->name, vldb->name, vldb->name_len + 1); |
51 | 48 | ||
52 | slist = afs_alloc_server_list(params->cell, params->key, vldb, type_mask); | 49 | slist = afs_alloc_server_list(params->cell, params->key, vldb, type_mask); |
diff --git a/fs/afs/write.c b/fs/afs/write.c index 8bcab95f1127..98eb7adbce91 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* handling of writes to regular files and writing back to the server | 2 | /* handling of writes to regular files and writing back to the server |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/backing-dev.h> | 8 | #include <linux/backing-dev.h> |
diff --git a/fs/afs/xattr.c b/fs/afs/xattr.c index 17f58fea7ec1..5552d034090a 100644 --- a/fs/afs/xattr.c +++ b/fs/afs/xattr.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Extended attribute handling for AFS. We use xattrs to get and set metadata | 2 | /* Extended attribute handling for AFS. We use xattrs to get and set metadata |
2 | * instead of providing pioctl(). | 3 | * instead of providing pioctl(). |
3 | * | 4 | * |
4 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. | 5 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. |
5 | * Written by David Howells (dhowells@redhat.com) | 6 | * Written by David Howells (dhowells@redhat.com) |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public Licence | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the Licence, or (at your option) any later version. | ||
11 | */ | 7 | */ |
12 | 8 | ||
13 | #include <linux/slab.h> | 9 | #include <linux/slab.h> |
diff --git a/fs/afs/xdr_fs.h b/fs/afs/xdr_fs.h index aa21f3068d52..94f1f398eefa 100644 --- a/fs/afs/xdr_fs.h +++ b/fs/afs/xdr_fs.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* AFS fileserver XDR types | 2 | /* AFS fileserver XDR types |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifndef XDR_FS_H | 8 | #ifndef XDR_FS_H |
diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c index 10de675dc6fc..18722aaeda33 100644 --- a/fs/afs/yfsclient.c +++ b/fs/afs/yfsclient.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* YFS File Server client stubs | 2 | /* YFS File Server client stubs |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/init.h> | 8 | #include <linux/init.h> |
@@ -2095,6 +2095,7 @@ SYSCALL_DEFINE6(io_pgetevents, | |||
2095 | struct __aio_sigset ksig = { NULL, }; | 2095 | struct __aio_sigset ksig = { NULL, }; |
2096 | sigset_t ksigmask, sigsaved; | 2096 | sigset_t ksigmask, sigsaved; |
2097 | struct timespec64 ts; | 2097 | struct timespec64 ts; |
2098 | bool interrupted; | ||
2098 | int ret; | 2099 | int ret; |
2099 | 2100 | ||
2100 | if (timeout && unlikely(get_timespec64(&ts, timeout))) | 2101 | if (timeout && unlikely(get_timespec64(&ts, timeout))) |
@@ -2108,8 +2109,10 @@ SYSCALL_DEFINE6(io_pgetevents, | |||
2108 | return ret; | 2109 | return ret; |
2109 | 2110 | ||
2110 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL); | 2111 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL); |
2111 | restore_user_sigmask(ksig.sigmask, &sigsaved); | 2112 | |
2112 | if (signal_pending(current) && !ret) | 2113 | interrupted = signal_pending(current); |
2114 | restore_user_sigmask(ksig.sigmask, &sigsaved, interrupted); | ||
2115 | if (interrupted && !ret) | ||
2113 | ret = -ERESTARTNOHAND; | 2116 | ret = -ERESTARTNOHAND; |
2114 | 2117 | ||
2115 | return ret; | 2118 | return ret; |
@@ -2128,6 +2131,7 @@ SYSCALL_DEFINE6(io_pgetevents_time32, | |||
2128 | struct __aio_sigset ksig = { NULL, }; | 2131 | struct __aio_sigset ksig = { NULL, }; |
2129 | sigset_t ksigmask, sigsaved; | 2132 | sigset_t ksigmask, sigsaved; |
2130 | struct timespec64 ts; | 2133 | struct timespec64 ts; |
2134 | bool interrupted; | ||
2131 | int ret; | 2135 | int ret; |
2132 | 2136 | ||
2133 | if (timeout && unlikely(get_old_timespec32(&ts, timeout))) | 2137 | if (timeout && unlikely(get_old_timespec32(&ts, timeout))) |
@@ -2142,8 +2146,10 @@ SYSCALL_DEFINE6(io_pgetevents_time32, | |||
2142 | return ret; | 2146 | return ret; |
2143 | 2147 | ||
2144 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL); | 2148 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL); |
2145 | restore_user_sigmask(ksig.sigmask, &sigsaved); | 2149 | |
2146 | if (signal_pending(current) && !ret) | 2150 | interrupted = signal_pending(current); |
2151 | restore_user_sigmask(ksig.sigmask, &sigsaved, interrupted); | ||
2152 | if (interrupted && !ret) | ||
2147 | ret = -ERESTARTNOHAND; | 2153 | ret = -ERESTARTNOHAND; |
2148 | 2154 | ||
2149 | return ret; | 2155 | return ret; |
@@ -2193,6 +2199,7 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents, | |||
2193 | struct __compat_aio_sigset ksig = { NULL, }; | 2199 | struct __compat_aio_sigset ksig = { NULL, }; |
2194 | sigset_t ksigmask, sigsaved; | 2200 | sigset_t ksigmask, sigsaved; |
2195 | struct timespec64 t; | 2201 | struct timespec64 t; |
2202 | bool interrupted; | ||
2196 | int ret; | 2203 | int ret; |
2197 | 2204 | ||
2198 | if (timeout && get_old_timespec32(&t, timeout)) | 2205 | if (timeout && get_old_timespec32(&t, timeout)) |
@@ -2206,8 +2213,10 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents, | |||
2206 | return ret; | 2213 | return ret; |
2207 | 2214 | ||
2208 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL); | 2215 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL); |
2209 | restore_user_sigmask(ksig.sigmask, &sigsaved); | 2216 | |
2210 | if (signal_pending(current) && !ret) | 2217 | interrupted = signal_pending(current); |
2218 | restore_user_sigmask(ksig.sigmask, &sigsaved, interrupted); | ||
2219 | if (interrupted && !ret) | ||
2211 | ret = -ERESTARTNOHAND; | 2220 | ret = -ERESTARTNOHAND; |
2212 | 2221 | ||
2213 | return ret; | 2222 | return ret; |
@@ -2226,6 +2235,7 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents_time64, | |||
2226 | struct __compat_aio_sigset ksig = { NULL, }; | 2235 | struct __compat_aio_sigset ksig = { NULL, }; |
2227 | sigset_t ksigmask, sigsaved; | 2236 | sigset_t ksigmask, sigsaved; |
2228 | struct timespec64 t; | 2237 | struct timespec64 t; |
2238 | bool interrupted; | ||
2229 | int ret; | 2239 | int ret; |
2230 | 2240 | ||
2231 | if (timeout && get_timespec64(&t, timeout)) | 2241 | if (timeout && get_timespec64(&t, timeout)) |
@@ -2239,8 +2249,10 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents_time64, | |||
2239 | return ret; | 2249 | return ret; |
2240 | 2250 | ||
2241 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL); | 2251 | ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL); |
2242 | restore_user_sigmask(ksig.sigmask, &sigsaved); | 2252 | |
2243 | if (signal_pending(current) && !ret) | 2253 | interrupted = signal_pending(current); |
2254 | restore_user_sigmask(ksig.sigmask, &sigsaved, interrupted); | ||
2255 | if (interrupted && !ret) | ||
2244 | ret = -ERESTARTNOHAND; | 2256 | ret = -ERESTARTNOHAND; |
2245 | 2257 | ||
2246 | return ret; | 2258 | return ret; |
diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index 91262c34b797..c2b8663f5b00 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/anon_inodes.c | 3 | * fs/anon_inodes.c |
3 | * | 4 | * |
diff --git a/fs/autofs/Kconfig b/fs/autofs/Kconfig index eaebcd430cc3..3b3a6b1423c6 100644 --- a/fs/autofs/Kconfig +++ b/fs/autofs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config AUTOFS4_FS | 2 | config AUTOFS4_FS |
2 | tristate "Old Kconfig name for Kernel automounter support" | 3 | tristate "Old Kconfig name for Kernel automounter support" |
3 | select AUTOFS_FS | 4 | select AUTOFS_FS |
diff --git a/fs/autofs/Makefile b/fs/autofs/Makefile index 1f85d35ec8b7..495ac542e172 100644 --- a/fs/autofs/Makefile +++ b/fs/autofs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux autofs-filesystem routines. | 3 | # Makefile for the linux autofs-filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/autofs/autofs_i.h b/fs/autofs/autofs_i.h index e1091312abe1..8c0c11181fad 100644 --- a/fs/autofs/autofs_i.h +++ b/fs/autofs/autofs_i.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation - All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation - All Rights Reserved |
3 | * Copyright 2005-2006 Ian Kent <raven@themaw.net> | 4 | * Copyright 2005-2006 Ian Kent <raven@themaw.net> |
4 | * | ||
5 | * This file is part of the Linux kernel and is made available under | ||
6 | * the terms of the GNU General Public License, version 2, or at your | ||
7 | * option, any later version, incorporated herein by reference. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | /* Internal header file for autofs */ | 7 | /* Internal header file for autofs */ |
diff --git a/fs/autofs/dev-ioctl.c b/fs/autofs/dev-ioctl.c index e9fe74d1541b..a3cdb0036c5d 100644 --- a/fs/autofs/dev-ioctl.c +++ b/fs/autofs/dev-ioctl.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 2008 Red Hat, Inc. All rights reserved. | 3 | * Copyright 2008 Red Hat, Inc. All rights reserved. |
3 | * Copyright 2008 Ian Kent <raven@themaw.net> | 4 | * Copyright 2008 Ian Kent <raven@themaw.net> |
4 | * | ||
5 | * This file is part of the Linux kernel and is made available under | ||
6 | * the terms of the GNU General Public License, version 2, or at your | ||
7 | * option, any later version, incorporated herein by reference. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/miscdevice.h> | 7 | #include <linux/miscdevice.h> |
diff --git a/fs/autofs/expire.c b/fs/autofs/expire.c index 28d9c2b1b3bb..cdff0567aacb 100644 --- a/fs/autofs/expire.c +++ b/fs/autofs/expire.c | |||
@@ -1,11 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved |
3 | * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org> | 4 | * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org> |
4 | * Copyright 2001-2006 Ian Kent <raven@themaw.net> | 5 | * Copyright 2001-2006 Ian Kent <raven@themaw.net> |
5 | * | ||
6 | * This file is part of the Linux kernel and is made available under | ||
7 | * the terms of the GNU General Public License, version 2, or at your | ||
8 | * option, any later version, incorporated herein by reference. | ||
9 | */ | 6 | */ |
10 | 7 | ||
11 | #include "autofs_i.h" | 8 | #include "autofs_i.h" |
diff --git a/fs/autofs/init.c b/fs/autofs/init.c index c0c1db2cc6ea..d3f55e874338 100644 --- a/fs/autofs/init.c +++ b/fs/autofs/init.c | |||
@@ -1,9 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved |
3 | * | ||
4 | * This file is part of the Linux kernel and is made available under | ||
5 | * the terms of the GNU General Public License, version 2, or at your | ||
6 | * option, any later version, incorporated herein by reference. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #include <linux/module.h> | 6 | #include <linux/module.h> |
diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c index fb0225f21c12..9edf243713eb 100644 --- a/fs/autofs/inode.c +++ b/fs/autofs/inode.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved |
3 | * Copyright 2005-2006 Ian Kent <raven@themaw.net> | 4 | * Copyright 2005-2006 Ian Kent <raven@themaw.net> |
4 | * | ||
5 | * This file is part of the Linux kernel and is made available under | ||
6 | * the terms of the GNU General Public License, version 2, or at your | ||
7 | * option, any later version, incorporated herein by reference. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/seq_file.h> | 7 | #include <linux/seq_file.h> |
diff --git a/fs/autofs/root.c b/fs/autofs/root.c index 1246f396bf0e..e646569c75ed 100644 --- a/fs/autofs/root.c +++ b/fs/autofs/root.c | |||
@@ -1,11 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved |
3 | * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org> | 4 | * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org> |
4 | * Copyright 2001-2006 Ian Kent <raven@themaw.net> | 5 | * Copyright 2001-2006 Ian Kent <raven@themaw.net> |
5 | * | ||
6 | * This file is part of the Linux kernel and is made available under | ||
7 | * the terms of the GNU General Public License, version 2, or at your | ||
8 | * option, any later version, incorporated herein by reference. | ||
9 | */ | 6 | */ |
10 | 7 | ||
11 | #include <linux/capability.h> | 8 | #include <linux/capability.h> |
diff --git a/fs/autofs/symlink.c b/fs/autofs/symlink.c index aad3902c0cc1..7ac67dc76039 100644 --- a/fs/autofs/symlink.c +++ b/fs/autofs/symlink.c | |||
@@ -1,9 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved |
3 | * | ||
4 | * This file is part of the Linux kernel and is made available under | ||
5 | * the terms of the GNU General Public License, version 2, or at your | ||
6 | * option, any later version, incorporated herein by reference. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #include "autofs_i.h" | 6 | #include "autofs_i.h" |
diff --git a/fs/autofs/waitq.c b/fs/autofs/waitq.c index 15a3e31d0904..b04c528b19d3 100644 --- a/fs/autofs/waitq.c +++ b/fs/autofs/waitq.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved | 3 | * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved |
3 | * Copyright 2001-2006 Ian Kent <raven@themaw.net> | 4 | * Copyright 2001-2006 Ian Kent <raven@themaw.net> |
4 | * | ||
5 | * This file is part of the Linux kernel and is made available under | ||
6 | * the terms of the GNU General Public License, version 2, or at your | ||
7 | * option, any later version, incorporated herein by reference. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/sched/signal.h> | 7 | #include <linux/sched/signal.h> |
diff --git a/fs/befs/Kconfig b/fs/befs/Kconfig index edc5cc2aefad..9550b6462b81 100644 --- a/fs/befs/Kconfig +++ b/fs/befs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config BEFS_FS | 2 | config BEFS_FS |
2 | tristate "BeOS file system (BeFS) support (read only)" | 3 | tristate "BeOS file system (BeFS) support (read only)" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/befs/Makefile b/fs/befs/Makefile index 8b9f66642a83..6c9c3cbc556e 100644 --- a/fs/befs/Makefile +++ b/fs/befs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux BeOS filesystem routines. | 3 | # Makefile for the linux BeOS filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index e273850c95af..462d096ff3e9 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/befs/linuxvfs.c | 3 | * linux/fs/befs/linuxvfs.c |
3 | * | 4 | * |
diff --git a/fs/bfs/Kconfig b/fs/bfs/Kconfig index 3728a6479c64..3e1247f07913 100644 --- a/fs/bfs/Kconfig +++ b/fs/bfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config BFS_FS | 2 | config BFS_FS |
2 | tristate "BFS file system support" | 3 | tristate "BFS file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/bfs/Makefile b/fs/bfs/Makefile index c787b36d940c..2b6bc5eb4de9 100644 --- a/fs/bfs/Makefile +++ b/fs/bfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for BFS filesystem. | 3 | # Makefile for BFS filesystem. |
3 | # | 4 | # |
diff --git a/fs/bfs/inode.c b/fs/bfs/inode.c index dc0cd2aa3d65..5e97bed073d7 100644 --- a/fs/bfs/inode.c +++ b/fs/bfs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/bfs/inode.c | 3 | * fs/bfs/inode.c |
3 | * BFS superblock and inode operations. | 4 | * BFS superblock and inode operations. |
diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c index 1fefd87eb4b4..8e8346a81723 100644 --- a/fs/binfmt_aout.c +++ b/fs/binfmt_aout.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/binfmt_aout.c | 3 | * linux/fs/binfmt_aout.c |
3 | * | 4 | * |
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index fa9e99a962e0..8264b468f283 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/binfmt_elf.c | 3 | * linux/fs/binfmt_elf.c |
3 | * | 4 | * |
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index b53bb3729ac1..d86ebd0dcc3d 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* binfmt_elf_fdpic.c: FDPIC ELF binary format | 2 | /* binfmt_elf_fdpic.c: FDPIC ELF binary format |
2 | * | 3 | * |
3 | * Copyright (C) 2003, 2004, 2006 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2003, 2004, 2006 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * Derived from binfmt_elf.c | 6 | * Derived from binfmt_elf.c |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the License, or (at your option) any later version. | ||
11 | */ | 7 | */ |
12 | 8 | ||
13 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/fs/binfmt_em86.c b/fs/binfmt_em86.c index dd2d3f0cd55d..466497860c62 100644 --- a/fs/binfmt_em86.c +++ b/fs/binfmt_em86.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/binfmt_em86.c | 3 | * linux/fs/binfmt_em86.c |
3 | * | 4 | * |
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index 82a48e830018..e4b59e76afb0 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c | |||
@@ -856,9 +856,14 @@ err: | |||
856 | 856 | ||
857 | static int load_flat_shared_library(int id, struct lib_info *libs) | 857 | static int load_flat_shared_library(int id, struct lib_info *libs) |
858 | { | 858 | { |
859 | /* | ||
860 | * This is a fake bprm struct; only the members "buf", "file" and | ||
861 | * "filename" are actually used. | ||
862 | */ | ||
859 | struct linux_binprm bprm; | 863 | struct linux_binprm bprm; |
860 | int res; | 864 | int res; |
861 | char buf[16]; | 865 | char buf[16]; |
866 | loff_t pos = 0; | ||
862 | 867 | ||
863 | memset(&bprm, 0, sizeof(bprm)); | 868 | memset(&bprm, 0, sizeof(bprm)); |
864 | 869 | ||
@@ -872,25 +877,11 @@ static int load_flat_shared_library(int id, struct lib_info *libs) | |||
872 | if (IS_ERR(bprm.file)) | 877 | if (IS_ERR(bprm.file)) |
873 | return res; | 878 | return res; |
874 | 879 | ||
875 | bprm.cred = prepare_exec_creds(); | 880 | res = kernel_read(bprm.file, bprm.buf, BINPRM_BUF_SIZE, &pos); |
876 | res = -ENOMEM; | ||
877 | if (!bprm.cred) | ||
878 | goto out; | ||
879 | |||
880 | /* We don't really care about recalculating credentials at this point | ||
881 | * as we're past the point of no return and are dealing with shared | ||
882 | * libraries. | ||
883 | */ | ||
884 | bprm.called_set_creds = 1; | ||
885 | 881 | ||
886 | res = prepare_binprm(&bprm); | 882 | if (res >= 0) |
887 | |||
888 | if (!res) | ||
889 | res = load_flat_file(&bprm, libs, id, NULL); | 883 | res = load_flat_file(&bprm, libs, id, NULL); |
890 | 884 | ||
891 | abort_creds(bprm.cred); | ||
892 | |||
893 | out: | ||
894 | allow_write_access(bprm.file); | 885 | allow_write_access(bprm.file); |
895 | fput(bprm.file); | 886 | fput(bprm.file); |
896 | 887 | ||
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index aa4a7a23ff99..b8e145552ec7 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * binfmt_misc.c | 3 | * binfmt_misc.c |
3 | * | 4 | * |
diff --git a/fs/binfmt_script.c b/fs/binfmt_script.c index e996174cbfc0..e9e6a6f4a35f 100644 --- a/fs/binfmt_script.c +++ b/fs/binfmt_script.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/binfmt_script.c | 3 | * linux/fs/binfmt_script.c |
3 | * | 4 | * |
diff --git a/fs/block_dev.c b/fs/block_dev.c index 0f7552a87d54..749f5984425d 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/block_dev.c | 3 | * linux/fs/block_dev.c |
3 | * | 4 | * |
@@ -1405,20 +1406,27 @@ void check_disk_size_change(struct gendisk *disk, struct block_device *bdev, | |||
1405 | */ | 1406 | */ |
1406 | int revalidate_disk(struct gendisk *disk) | 1407 | int revalidate_disk(struct gendisk *disk) |
1407 | { | 1408 | { |
1408 | struct block_device *bdev; | ||
1409 | int ret = 0; | 1409 | int ret = 0; |
1410 | 1410 | ||
1411 | if (disk->fops->revalidate_disk) | 1411 | if (disk->fops->revalidate_disk) |
1412 | ret = disk->fops->revalidate_disk(disk); | 1412 | ret = disk->fops->revalidate_disk(disk); |
1413 | bdev = bdget_disk(disk, 0); | ||
1414 | if (!bdev) | ||
1415 | return ret; | ||
1416 | 1413 | ||
1417 | mutex_lock(&bdev->bd_mutex); | 1414 | /* |
1418 | check_disk_size_change(disk, bdev, ret == 0); | 1415 | * Hidden disks don't have associated bdev so there's no point in |
1419 | bdev->bd_invalidated = 0; | 1416 | * revalidating it. |
1420 | mutex_unlock(&bdev->bd_mutex); | 1417 | */ |
1421 | bdput(bdev); | 1418 | if (!(disk->flags & GENHD_FL_HIDDEN)) { |
1419 | struct block_device *bdev = bdget_disk(disk, 0); | ||
1420 | |||
1421 | if (!bdev) | ||
1422 | return ret; | ||
1423 | |||
1424 | mutex_lock(&bdev->bd_mutex); | ||
1425 | check_disk_size_change(disk, bdev, ret == 0); | ||
1426 | bdev->bd_invalidated = 0; | ||
1427 | mutex_unlock(&bdev->bd_mutex); | ||
1428 | bdput(bdev); | ||
1429 | } | ||
1422 | return ret; | 1430 | return ret; |
1423 | } | 1431 | } |
1424 | EXPORT_SYMBOL(revalidate_disk); | 1432 | EXPORT_SYMBOL(revalidate_disk); |
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index daf7908d1e35..84dd4a8980c5 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c | |||
@@ -1008,6 +1008,7 @@ int btrfs_compress_pages(unsigned int type_level, struct address_space *mapping, | |||
1008 | struct list_head *workspace; | 1008 | struct list_head *workspace; |
1009 | int ret; | 1009 | int ret; |
1010 | 1010 | ||
1011 | level = btrfs_compress_op[type]->set_level(level); | ||
1011 | workspace = get_workspace(type, level); | 1012 | workspace = get_workspace(type, level); |
1012 | ret = btrfs_compress_op[type]->compress_pages(workspace, mapping, | 1013 | ret = btrfs_compress_op[type]->compress_pages(workspace, mapping, |
1013 | start, pages, | 1014 | start, pages, |
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c index 55c15f31d00d..ee0989c7e3a9 100644 --- a/fs/btrfs/dev-replace.c +++ b/fs/btrfs/dev-replace.c | |||
@@ -603,17 +603,33 @@ static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info, | |||
603 | } | 603 | } |
604 | btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); | 604 | btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1); |
605 | 605 | ||
606 | trans = btrfs_start_transaction(root, 0); | 606 | /* |
607 | if (IS_ERR(trans)) { | 607 | * We have to use this loop approach because at this point src_device |
608 | mutex_unlock(&dev_replace->lock_finishing_cancel_unmount); | 608 | * has to be available for transaction commit to complete, yet new |
609 | return PTR_ERR(trans); | 609 | * chunks shouldn't be allocated on the device. |
610 | */ | ||
611 | while (1) { | ||
612 | trans = btrfs_start_transaction(root, 0); | ||
613 | if (IS_ERR(trans)) { | ||
614 | mutex_unlock(&dev_replace->lock_finishing_cancel_unmount); | ||
615 | return PTR_ERR(trans); | ||
616 | } | ||
617 | ret = btrfs_commit_transaction(trans); | ||
618 | WARN_ON(ret); | ||
619 | |||
620 | /* Prevent write_all_supers() during the finishing procedure */ | ||
621 | mutex_lock(&fs_info->fs_devices->device_list_mutex); | ||
622 | /* Prevent new chunks being allocated on the source device */ | ||
623 | mutex_lock(&fs_info->chunk_mutex); | ||
624 | |||
625 | if (!list_empty(&src_device->post_commit_list)) { | ||
626 | mutex_unlock(&fs_info->fs_devices->device_list_mutex); | ||
627 | mutex_unlock(&fs_info->chunk_mutex); | ||
628 | } else { | ||
629 | break; | ||
630 | } | ||
610 | } | 631 | } |
611 | ret = btrfs_commit_transaction(trans); | ||
612 | WARN_ON(ret); | ||
613 | 632 | ||
614 | /* keep away write_all_supers() during the finishing procedure */ | ||
615 | mutex_lock(&fs_info->fs_devices->device_list_mutex); | ||
616 | mutex_lock(&fs_info->chunk_mutex); | ||
617 | down_write(&dev_replace->rwsem); | 633 | down_write(&dev_replace->rwsem); |
618 | dev_replace->replace_state = | 634 | dev_replace->replace_state = |
619 | scrub_ret ? BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED | 635 | scrub_ret ? BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED |
@@ -662,7 +678,6 @@ static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info, | |||
662 | btrfs_device_set_disk_total_bytes(tgt_device, | 678 | btrfs_device_set_disk_total_bytes(tgt_device, |
663 | src_device->disk_total_bytes); | 679 | src_device->disk_total_bytes); |
664 | btrfs_device_set_bytes_used(tgt_device, src_device->bytes_used); | 680 | btrfs_device_set_bytes_used(tgt_device, src_device->bytes_used); |
665 | ASSERT(list_empty(&src_device->post_commit_list)); | ||
666 | tgt_device->commit_total_bytes = src_device->commit_total_bytes; | 681 | tgt_device->commit_total_bytes = src_device->commit_total_bytes; |
667 | tgt_device->commit_bytes_used = src_device->bytes_used; | 682 | tgt_device->commit_bytes_used = src_device->bytes_used; |
668 | 683 | ||
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index f79e477a378e..5faf057f6f37 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -757,12 +757,14 @@ static struct btrfs_space_info *__find_space_info(struct btrfs_fs_info *info, | |||
757 | } | 757 | } |
758 | 758 | ||
759 | static void add_pinned_bytes(struct btrfs_fs_info *fs_info, | 759 | static void add_pinned_bytes(struct btrfs_fs_info *fs_info, |
760 | struct btrfs_ref *ref) | 760 | struct btrfs_ref *ref, int sign) |
761 | { | 761 | { |
762 | struct btrfs_space_info *space_info; | 762 | struct btrfs_space_info *space_info; |
763 | s64 num_bytes = -ref->len; | 763 | s64 num_bytes; |
764 | u64 flags; | 764 | u64 flags; |
765 | 765 | ||
766 | ASSERT(sign == 1 || sign == -1); | ||
767 | num_bytes = sign * ref->len; | ||
766 | if (ref->type == BTRFS_REF_METADATA) { | 768 | if (ref->type == BTRFS_REF_METADATA) { |
767 | if (ref->tree_ref.root == BTRFS_CHUNK_TREE_OBJECTID) | 769 | if (ref->tree_ref.root == BTRFS_CHUNK_TREE_OBJECTID) |
768 | flags = BTRFS_BLOCK_GROUP_SYSTEM; | 770 | flags = BTRFS_BLOCK_GROUP_SYSTEM; |
@@ -2063,7 +2065,7 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans, | |||
2063 | btrfs_ref_tree_mod(fs_info, generic_ref); | 2065 | btrfs_ref_tree_mod(fs_info, generic_ref); |
2064 | 2066 | ||
2065 | if (ret == 0 && old_ref_mod < 0 && new_ref_mod >= 0) | 2067 | if (ret == 0 && old_ref_mod < 0 && new_ref_mod >= 0) |
2066 | add_pinned_bytes(fs_info, generic_ref); | 2068 | add_pinned_bytes(fs_info, generic_ref, -1); |
2067 | 2069 | ||
2068 | return ret; | 2070 | return ret; |
2069 | } | 2071 | } |
@@ -3882,8 +3884,7 @@ static int create_space_info(struct btrfs_fs_info *info, u64 flags) | |||
3882 | info->space_info_kobj, "%s", | 3884 | info->space_info_kobj, "%s", |
3883 | alloc_name(space_info->flags)); | 3885 | alloc_name(space_info->flags)); |
3884 | if (ret) { | 3886 | if (ret) { |
3885 | percpu_counter_destroy(&space_info->total_bytes_pinned); | 3887 | kobject_put(&space_info->kobj); |
3886 | kfree(space_info); | ||
3887 | return ret; | 3888 | return ret; |
3888 | } | 3889 | } |
3889 | 3890 | ||
@@ -7190,7 +7191,7 @@ void btrfs_free_tree_block(struct btrfs_trans_handle *trans, | |||
7190 | } | 7191 | } |
7191 | out: | 7192 | out: |
7192 | if (pin) | 7193 | if (pin) |
7193 | add_pinned_bytes(fs_info, &generic_ref); | 7194 | add_pinned_bytes(fs_info, &generic_ref, 1); |
7194 | 7195 | ||
7195 | if (last_ref) { | 7196 | if (last_ref) { |
7196 | /* | 7197 | /* |
@@ -7238,7 +7239,7 @@ int btrfs_free_extent(struct btrfs_trans_handle *trans, struct btrfs_ref *ref) | |||
7238 | btrfs_ref_tree_mod(fs_info, ref); | 7239 | btrfs_ref_tree_mod(fs_info, ref); |
7239 | 7240 | ||
7240 | if (ret == 0 && old_ref_mod >= 0 && new_ref_mod < 0) | 7241 | if (ret == 0 && old_ref_mod >= 0 && new_ref_mod < 0) |
7241 | add_pinned_bytes(fs_info, ref); | 7242 | add_pinned_bytes(fs_info, ref, 1); |
7242 | 7243 | ||
7243 | return ret; | 7244 | return ret; |
7244 | } | 7245 | } |
@@ -10830,17 +10831,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans, | |||
10830 | remove_em = (atomic_read(&block_group->trimming) == 0); | 10831 | remove_em = (atomic_read(&block_group->trimming) == 0); |
10831 | spin_unlock(&block_group->lock); | 10832 | spin_unlock(&block_group->lock); |
10832 | 10833 | ||
10833 | if (remove_em) { | ||
10834 | struct extent_map_tree *em_tree; | ||
10835 | |||
10836 | em_tree = &fs_info->mapping_tree.map_tree; | ||
10837 | write_lock(&em_tree->lock); | ||
10838 | remove_extent_mapping(em_tree, em); | ||
10839 | write_unlock(&em_tree->lock); | ||
10840 | /* once for the tree */ | ||
10841 | free_extent_map(em); | ||
10842 | } | ||
10843 | |||
10844 | mutex_unlock(&fs_info->chunk_mutex); | 10834 | mutex_unlock(&fs_info->chunk_mutex); |
10845 | 10835 | ||
10846 | ret = remove_block_group_free_space(trans, block_group); | 10836 | ret = remove_block_group_free_space(trans, block_group); |
@@ -10857,6 +10847,19 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans, | |||
10857 | goto out; | 10847 | goto out; |
10858 | 10848 | ||
10859 | ret = btrfs_del_item(trans, root, path); | 10849 | ret = btrfs_del_item(trans, root, path); |
10850 | if (ret) | ||
10851 | goto out; | ||
10852 | |||
10853 | if (remove_em) { | ||
10854 | struct extent_map_tree *em_tree; | ||
10855 | |||
10856 | em_tree = &fs_info->mapping_tree.map_tree; | ||
10857 | write_lock(&em_tree->lock); | ||
10858 | remove_extent_mapping(em_tree, em); | ||
10859 | write_unlock(&em_tree->lock); | ||
10860 | /* once for the tree */ | ||
10861 | free_extent_map(em); | ||
10862 | } | ||
10860 | out: | 10863 | out: |
10861 | if (remove_rsv) | 10864 | if (remove_rsv) |
10862 | btrfs_delayed_refs_rsv_release(fs_info, 1); | 10865 | btrfs_delayed_refs_rsv_release(fs_info, 1); |
@@ -11136,13 +11139,11 @@ int btrfs_error_unpin_extent_range(struct btrfs_fs_info *fs_info, | |||
11136 | * it while performing the free space search since we have already | 11139 | * it while performing the free space search since we have already |
11137 | * held back allocations. | 11140 | * held back allocations. |
11138 | */ | 11141 | */ |
11139 | static int btrfs_trim_free_extents(struct btrfs_device *device, | 11142 | static int btrfs_trim_free_extents(struct btrfs_device *device, u64 *trimmed) |
11140 | struct fstrim_range *range, u64 *trimmed) | ||
11141 | { | 11143 | { |
11142 | u64 start, len = 0, end = 0; | 11144 | u64 start = SZ_1M, len = 0, end = 0; |
11143 | int ret; | 11145 | int ret; |
11144 | 11146 | ||
11145 | start = max_t(u64, range->start, SZ_1M); | ||
11146 | *trimmed = 0; | 11147 | *trimmed = 0; |
11147 | 11148 | ||
11148 | /* Discard not supported = nothing to do. */ | 11149 | /* Discard not supported = nothing to do. */ |
@@ -11185,22 +11186,6 @@ static int btrfs_trim_free_extents(struct btrfs_device *device, | |||
11185 | break; | 11186 | break; |
11186 | } | 11187 | } |
11187 | 11188 | ||
11188 | /* Keep going until we satisfy minlen or reach end of space */ | ||
11189 | if (len < range->minlen) { | ||
11190 | mutex_unlock(&fs_info->chunk_mutex); | ||
11191 | start += len; | ||
11192 | continue; | ||
11193 | } | ||
11194 | |||
11195 | /* If we are out of the passed range break */ | ||
11196 | if (start > range->start + range->len - 1) { | ||
11197 | mutex_unlock(&fs_info->chunk_mutex); | ||
11198 | break; | ||
11199 | } | ||
11200 | |||
11201 | start = max(range->start, start); | ||
11202 | len = min(range->len, len); | ||
11203 | |||
11204 | ret = btrfs_issue_discard(device->bdev, start, len, | 11189 | ret = btrfs_issue_discard(device->bdev, start, len, |
11205 | &bytes); | 11190 | &bytes); |
11206 | if (!ret) | 11191 | if (!ret) |
@@ -11215,10 +11200,6 @@ static int btrfs_trim_free_extents(struct btrfs_device *device, | |||
11215 | start += len; | 11200 | start += len; |
11216 | *trimmed += bytes; | 11201 | *trimmed += bytes; |
11217 | 11202 | ||
11218 | /* We've trimmed enough */ | ||
11219 | if (*trimmed >= range->len) | ||
11220 | break; | ||
11221 | |||
11222 | if (fatal_signal_pending(current)) { | 11203 | if (fatal_signal_pending(current)) { |
11223 | ret = -ERESTARTSYS; | 11204 | ret = -ERESTARTSYS; |
11224 | break; | 11205 | break; |
@@ -11302,7 +11283,7 @@ int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range) | |||
11302 | mutex_lock(&fs_info->fs_devices->device_list_mutex); | 11283 | mutex_lock(&fs_info->fs_devices->device_list_mutex); |
11303 | devices = &fs_info->fs_devices->devices; | 11284 | devices = &fs_info->fs_devices->devices; |
11304 | list_for_each_entry(device, devices, dev_list) { | 11285 | list_for_each_entry(device, devices, dev_list) { |
11305 | ret = btrfs_trim_free_extents(device, range, &group_trimmed); | 11286 | ret = btrfs_trim_free_extents(device, &group_trimmed); |
11306 | if (ret) { | 11287 | if (ret) { |
11307 | dev_failed++; | 11288 | dev_failed++; |
11308 | dev_ret = ret; | 11289 | dev_ret = ret; |
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 7e85dca0e6f2..89f5be2bfb43 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -2068,6 +2068,18 @@ int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync) | |||
2068 | u64 len; | 2068 | u64 len; |
2069 | 2069 | ||
2070 | /* | 2070 | /* |
2071 | * If the inode needs a full sync, make sure we use a full range to | ||
2072 | * avoid log tree corruption, due to hole detection racing with ordered | ||
2073 | * extent completion for adjacent ranges, and assertion failures during | ||
2074 | * hole detection. | ||
2075 | */ | ||
2076 | if (test_bit(BTRFS_INODE_NEEDS_FULL_SYNC, | ||
2077 | &BTRFS_I(inode)->runtime_flags)) { | ||
2078 | start = 0; | ||
2079 | end = LLONG_MAX; | ||
2080 | } | ||
2081 | |||
2082 | /* | ||
2071 | * The range length can be represented by u64, we have to do the typecasts | 2083 | * The range length can be represented by u64, we have to do the typecasts |
2072 | * to avoid signed overflow if it's [0, LLONG_MAX] eg. from fsync() | 2084 | * to avoid signed overflow if it's [0, LLONG_MAX] eg. from fsync() |
2073 | */ | 2085 | */ |
@@ -2554,10 +2566,8 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len) | |||
2554 | 2566 | ||
2555 | ret = btrfs_punch_hole_lock_range(inode, lockstart, lockend, | 2567 | ret = btrfs_punch_hole_lock_range(inode, lockstart, lockend, |
2556 | &cached_state); | 2568 | &cached_state); |
2557 | if (ret) { | 2569 | if (ret) |
2558 | inode_unlock(inode); | ||
2559 | goto out_only_mutex; | 2570 | goto out_only_mutex; |
2560 | } | ||
2561 | 2571 | ||
2562 | path = btrfs_alloc_path(); | 2572 | path = btrfs_alloc_path(); |
2563 | if (!path) { | 2573 | if (!path) { |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 9aba9660efe5..a2aabdb85226 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -6433,8 +6433,18 @@ int btrfs_add_link(struct btrfs_trans_handle *trans, | |||
6433 | btrfs_i_size_write(parent_inode, parent_inode->vfs_inode.i_size + | 6433 | btrfs_i_size_write(parent_inode, parent_inode->vfs_inode.i_size + |
6434 | name_len * 2); | 6434 | name_len * 2); |
6435 | inode_inc_iversion(&parent_inode->vfs_inode); | 6435 | inode_inc_iversion(&parent_inode->vfs_inode); |
6436 | parent_inode->vfs_inode.i_mtime = parent_inode->vfs_inode.i_ctime = | 6436 | /* |
6437 | current_time(&parent_inode->vfs_inode); | 6437 | * If we are replaying a log tree, we do not want to update the mtime |
6438 | * and ctime of the parent directory with the current time, since the | ||
6439 | * log replay procedure is responsible for setting them to their correct | ||
6440 | * values (the ones it had when the fsync was done). | ||
6441 | */ | ||
6442 | if (!test_bit(BTRFS_FS_LOG_RECOVERING, &root->fs_info->flags)) { | ||
6443 | struct timespec64 now = current_time(&parent_inode->vfs_inode); | ||
6444 | |||
6445 | parent_inode->vfs_inode.i_mtime = now; | ||
6446 | parent_inode->vfs_inode.i_ctime = now; | ||
6447 | } | ||
6438 | ret = btrfs_update_inode(trans, root, &parent_inode->vfs_inode); | 6448 | ret = btrfs_update_inode(trans, root, &parent_inode->vfs_inode); |
6439 | if (ret) | 6449 | if (ret) |
6440 | btrfs_abort_transaction(trans, ret); | 6450 | btrfs_abort_transaction(trans, ret); |
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 6dafa857bbb9..2a1be0d1a698 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
@@ -312,8 +312,6 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg) | |||
312 | btrfs_abort_transaction(trans, ret); | 312 | btrfs_abort_transaction(trans, ret); |
313 | goto out_end_trans; | 313 | goto out_end_trans; |
314 | } | 314 | } |
315 | set_bit(BTRFS_INODE_COPY_EVERYTHING, | ||
316 | &BTRFS_I(inode)->runtime_flags); | ||
317 | } else { | 315 | } else { |
318 | ret = btrfs_set_prop(trans, inode, "btrfs.compression", NULL, | 316 | ret = btrfs_set_prop(trans, inode, "btrfs.compression", NULL, |
319 | 0, 0); | 317 | 0, 0); |
diff --git a/fs/btrfs/props.c b/fs/btrfs/props.c index ca2716917e37..a9e2e66152ee 100644 --- a/fs/btrfs/props.c +++ b/fs/btrfs/props.c | |||
@@ -332,6 +332,7 @@ static int inherit_props(struct btrfs_trans_handle *trans, | |||
332 | struct btrfs_fs_info *fs_info = root->fs_info; | 332 | struct btrfs_fs_info *fs_info = root->fs_info; |
333 | int ret; | 333 | int ret; |
334 | int i; | 334 | int i; |
335 | bool need_reserve = false; | ||
335 | 336 | ||
336 | if (!test_bit(BTRFS_INODE_HAS_PROPS, | 337 | if (!test_bit(BTRFS_INODE_HAS_PROPS, |
337 | &BTRFS_I(parent)->runtime_flags)) | 338 | &BTRFS_I(parent)->runtime_flags)) |
@@ -357,11 +358,20 @@ static int inherit_props(struct btrfs_trans_handle *trans, | |||
357 | if (ret) | 358 | if (ret) |
358 | continue; | 359 | continue; |
359 | 360 | ||
360 | num_bytes = btrfs_calc_trans_metadata_size(fs_info, 1); | 361 | /* |
361 | ret = btrfs_block_rsv_add(root, trans->block_rsv, | 362 | * Currently callers should be reserving 1 item for properties, |
362 | num_bytes, BTRFS_RESERVE_NO_FLUSH); | 363 | * since we only have 1 property that we currently support. If |
363 | if (ret) | 364 | * we add more in the future we need to try and reserve more |
364 | return ret; | 365 | * space for them. But we should also revisit how we do space |
366 | * reservations if we do add more properties in the future. | ||
367 | */ | ||
368 | if (need_reserve) { | ||
369 | num_bytes = btrfs_calc_trans_metadata_size(fs_info, 1); | ||
370 | ret = btrfs_block_rsv_add(root, trans->block_rsv, | ||
371 | num_bytes, BTRFS_RESERVE_NO_FLUSH); | ||
372 | if (ret) | ||
373 | return ret; | ||
374 | } | ||
365 | 375 | ||
366 | ret = btrfs_setxattr(trans, inode, h->xattr_name, value, | 376 | ret = btrfs_setxattr(trans, inode, h->xattr_name, value, |
367 | strlen(value), 0); | 377 | strlen(value), 0); |
@@ -375,9 +385,13 @@ static int inherit_props(struct btrfs_trans_handle *trans, | |||
375 | &BTRFS_I(inode)->runtime_flags); | 385 | &BTRFS_I(inode)->runtime_flags); |
376 | } | 386 | } |
377 | 387 | ||
378 | btrfs_block_rsv_release(fs_info, trans->block_rsv, num_bytes); | 388 | if (need_reserve) { |
379 | if (ret) | 389 | btrfs_block_rsv_release(fs_info, trans->block_rsv, |
380 | return ret; | 390 | num_bytes); |
391 | if (ret) | ||
392 | return ret; | ||
393 | } | ||
394 | need_reserve = true; | ||
381 | } | 395 | } |
382 | 396 | ||
383 | return 0; | 397 | return 0; |
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 2f708f2c4e67..3e6ffbbd8b0a 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c | |||
@@ -3830,7 +3830,13 @@ int btrfs_qgroup_add_swapped_blocks(struct btrfs_trans_handle *trans, | |||
3830 | subvol_slot); | 3830 | subvol_slot); |
3831 | block->last_snapshot = last_snapshot; | 3831 | block->last_snapshot = last_snapshot; |
3832 | block->level = level; | 3832 | block->level = level; |
3833 | if (bg->flags & BTRFS_BLOCK_GROUP_DATA) | 3833 | |
3834 | /* | ||
3835 | * If we have bg == NULL, we're called from btrfs_recover_relocation(), | ||
3836 | * no one else can modify tree blocks thus we qgroup will not change | ||
3837 | * no matter the value of trace_leaf. | ||
3838 | */ | ||
3839 | if (bg && bg->flags & BTRFS_BLOCK_GROUP_DATA) | ||
3834 | block->trace_leaf = true; | 3840 | block->trace_leaf = true; |
3835 | else | 3841 | else |
3836 | block->trace_leaf = false; | 3842 | block->trace_leaf = false; |
diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c index 10d9589001a9..bb5bd49573b4 100644 --- a/fs/btrfs/reada.c +++ b/fs/btrfs/reada.c | |||
@@ -747,6 +747,7 @@ static void __reada_start_machine(struct btrfs_fs_info *fs_info) | |||
747 | u64 total = 0; | 747 | u64 total = 0; |
748 | int i; | 748 | int i; |
749 | 749 | ||
750 | again: | ||
750 | do { | 751 | do { |
751 | enqueued = 0; | 752 | enqueued = 0; |
752 | mutex_lock(&fs_devices->device_list_mutex); | 753 | mutex_lock(&fs_devices->device_list_mutex); |
@@ -758,6 +759,10 @@ static void __reada_start_machine(struct btrfs_fs_info *fs_info) | |||
758 | mutex_unlock(&fs_devices->device_list_mutex); | 759 | mutex_unlock(&fs_devices->device_list_mutex); |
759 | total += enqueued; | 760 | total += enqueued; |
760 | } while (enqueued && total < 10000); | 761 | } while (enqueued && total < 10000); |
762 | if (fs_devices->seed) { | ||
763 | fs_devices = fs_devices->seed; | ||
764 | goto again; | ||
765 | } | ||
761 | 766 | ||
762 | if (enqueued == 0) | 767 | if (enqueued == 0) |
763 | return; | 768 | return; |
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index a459ecddcce4..22a3c69864fa 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c | |||
@@ -2177,22 +2177,30 @@ static int clean_dirty_subvols(struct reloc_control *rc) | |||
2177 | struct btrfs_root *root; | 2177 | struct btrfs_root *root; |
2178 | struct btrfs_root *next; | 2178 | struct btrfs_root *next; |
2179 | int ret = 0; | 2179 | int ret = 0; |
2180 | int ret2; | ||
2180 | 2181 | ||
2181 | list_for_each_entry_safe(root, next, &rc->dirty_subvol_roots, | 2182 | list_for_each_entry_safe(root, next, &rc->dirty_subvol_roots, |
2182 | reloc_dirty_list) { | 2183 | reloc_dirty_list) { |
2183 | struct btrfs_root *reloc_root = root->reloc_root; | 2184 | if (root->root_key.objectid != BTRFS_TREE_RELOC_OBJECTID) { |
2185 | /* Merged subvolume, cleanup its reloc root */ | ||
2186 | struct btrfs_root *reloc_root = root->reloc_root; | ||
2184 | 2187 | ||
2185 | clear_bit(BTRFS_ROOT_DEAD_RELOC_TREE, &root->state); | 2188 | clear_bit(BTRFS_ROOT_DEAD_RELOC_TREE, &root->state); |
2186 | list_del_init(&root->reloc_dirty_list); | 2189 | list_del_init(&root->reloc_dirty_list); |
2187 | root->reloc_root = NULL; | 2190 | root->reloc_root = NULL; |
2188 | if (reloc_root) { | 2191 | if (reloc_root) { |
2189 | int ret2; | ||
2190 | 2192 | ||
2191 | ret2 = btrfs_drop_snapshot(reloc_root, NULL, 0, 1); | 2193 | ret2 = btrfs_drop_snapshot(reloc_root, NULL, 0, 1); |
2194 | if (ret2 < 0 && !ret) | ||
2195 | ret = ret2; | ||
2196 | } | ||
2197 | btrfs_put_fs_root(root); | ||
2198 | } else { | ||
2199 | /* Orphan reloc tree, just clean it up */ | ||
2200 | ret2 = btrfs_drop_snapshot(root, NULL, 0, 1); | ||
2192 | if (ret2 < 0 && !ret) | 2201 | if (ret2 < 0 && !ret) |
2193 | ret = ret2; | 2202 | ret = ret2; |
2194 | } | 2203 | } |
2195 | btrfs_put_fs_root(root); | ||
2196 | } | 2204 | } |
2197 | return ret; | 2205 | return ret; |
2198 | } | 2206 | } |
@@ -2480,6 +2488,9 @@ again: | |||
2480 | } | 2488 | } |
2481 | } else { | 2489 | } else { |
2482 | list_del_init(&reloc_root->root_list); | 2490 | list_del_init(&reloc_root->root_list); |
2491 | /* Don't forget to queue this reloc root for cleanup */ | ||
2492 | list_add_tail(&reloc_root->reloc_dirty_list, | ||
2493 | &rc->dirty_subvol_roots); | ||
2483 | } | 2494 | } |
2484 | } | 2495 | } |
2485 | 2496 | ||
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c index 1b9a5d0de139..22124122728c 100644 --- a/fs/btrfs/root-tree.c +++ b/fs/btrfs/root-tree.c | |||
@@ -132,10 +132,8 @@ int btrfs_update_root(struct btrfs_trans_handle *trans, struct btrfs_root | |||
132 | return -ENOMEM; | 132 | return -ENOMEM; |
133 | 133 | ||
134 | ret = btrfs_search_slot(trans, root, key, path, 0, 1); | 134 | ret = btrfs_search_slot(trans, root, key, path, 0, 1); |
135 | if (ret < 0) { | 135 | if (ret < 0) |
136 | btrfs_abort_transaction(trans, ret); | ||
137 | goto out; | 136 | goto out; |
138 | } | ||
139 | 137 | ||
140 | if (ret > 0) { | 138 | if (ret > 0) { |
141 | btrfs_crit(fs_info, | 139 | btrfs_crit(fs_info, |
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index dd38dfe174df..f7fe4770f0e5 100644 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c | |||
@@ -4999,6 +4999,12 @@ static int send_hole(struct send_ctx *sctx, u64 end) | |||
4999 | if (offset >= sctx->cur_inode_size) | 4999 | if (offset >= sctx->cur_inode_size) |
5000 | return 0; | 5000 | return 0; |
5001 | 5001 | ||
5002 | /* | ||
5003 | * Don't go beyond the inode's i_size due to prealloc extents that start | ||
5004 | * after the i_size. | ||
5005 | */ | ||
5006 | end = min_t(u64, end, sctx->cur_inode_size); | ||
5007 | |||
5002 | if (sctx->flags & BTRFS_SEND_FLAG_NO_FILE_DATA) | 5008 | if (sctx->flags & BTRFS_SEND_FLAG_NO_FILE_DATA) |
5003 | return send_update_extent(sctx, offset, end - offset); | 5009 | return send_update_extent(sctx, offset, end - offset); |
5004 | 5010 | ||
@@ -5218,10 +5224,50 @@ static int clone_range(struct send_ctx *sctx, | |||
5218 | clone_len = min_t(u64, ext_len, len); | 5224 | clone_len = min_t(u64, ext_len, len); |
5219 | 5225 | ||
5220 | if (btrfs_file_extent_disk_bytenr(leaf, ei) == disk_byte && | 5226 | if (btrfs_file_extent_disk_bytenr(leaf, ei) == disk_byte && |
5221 | clone_data_offset == data_offset) | 5227 | clone_data_offset == data_offset) { |
5222 | ret = send_clone(sctx, offset, clone_len, clone_root); | 5228 | const u64 src_end = clone_root->offset + clone_len; |
5223 | else | 5229 | const u64 sectorsize = SZ_64K; |
5230 | |||
5231 | /* | ||
5232 | * We can't clone the last block, when its size is not | ||
5233 | * sector size aligned, into the middle of a file. If we | ||
5234 | * do so, the receiver will get a failure (-EINVAL) when | ||
5235 | * trying to clone or will silently corrupt the data in | ||
5236 | * the destination file if it's on a kernel without the | ||
5237 | * fix introduced by commit ac765f83f1397646 | ||
5238 | * ("Btrfs: fix data corruption due to cloning of eof | ||
5239 | * block). | ||
5240 | * | ||
5241 | * So issue a clone of the aligned down range plus a | ||
5242 | * regular write for the eof block, if we hit that case. | ||
5243 | * | ||
5244 | * Also, we use the maximum possible sector size, 64K, | ||
5245 | * because we don't know what's the sector size of the | ||
5246 | * filesystem that receives the stream, so we have to | ||
5247 | * assume the largest possible sector size. | ||
5248 | */ | ||
5249 | if (src_end == clone_src_i_size && | ||
5250 | !IS_ALIGNED(src_end, sectorsize) && | ||
5251 | offset + clone_len < sctx->cur_inode_size) { | ||
5252 | u64 slen; | ||
5253 | |||
5254 | slen = ALIGN_DOWN(src_end - clone_root->offset, | ||
5255 | sectorsize); | ||
5256 | if (slen > 0) { | ||
5257 | ret = send_clone(sctx, offset, slen, | ||
5258 | clone_root); | ||
5259 | if (ret < 0) | ||
5260 | goto out; | ||
5261 | } | ||
5262 | ret = send_extent_data(sctx, offset + slen, | ||
5263 | clone_len - slen); | ||
5264 | } else { | ||
5265 | ret = send_clone(sctx, offset, clone_len, | ||
5266 | clone_root); | ||
5267 | } | ||
5268 | } else { | ||
5224 | ret = send_extent_data(sctx, offset, clone_len); | 5269 | ret = send_extent_data(sctx, offset, clone_len); |
5270 | } | ||
5225 | 5271 | ||
5226 | if (ret < 0) | 5272 | if (ret < 0) |
5227 | goto out; | 5273 | goto out; |
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c index 5a5930e3d32b..2f078b77fe14 100644 --- a/fs/btrfs/sysfs.c +++ b/fs/btrfs/sysfs.c | |||
@@ -825,7 +825,12 @@ int btrfs_sysfs_add_fsid(struct btrfs_fs_devices *fs_devs, | |||
825 | fs_devs->fsid_kobj.kset = btrfs_kset; | 825 | fs_devs->fsid_kobj.kset = btrfs_kset; |
826 | error = kobject_init_and_add(&fs_devs->fsid_kobj, | 826 | error = kobject_init_and_add(&fs_devs->fsid_kobj, |
827 | &btrfs_ktype, parent, "%pU", fs_devs->fsid); | 827 | &btrfs_ktype, parent, "%pU", fs_devs->fsid); |
828 | return error; | 828 | if (error) { |
829 | kobject_put(&fs_devs->fsid_kobj); | ||
830 | return error; | ||
831 | } | ||
832 | |||
833 | return 0; | ||
829 | } | 834 | } |
830 | 835 | ||
831 | int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) | 836 | int btrfs_sysfs_add_mounted(struct btrfs_fs_info *fs_info) |
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c index 748cd1598255..96fce4bef4e7 100644 --- a/fs/btrfs/tree-checker.c +++ b/fs/btrfs/tree-checker.c | |||
@@ -107,8 +107,26 @@ static void file_extent_err(const struct extent_buffer *eb, int slot, | |||
107 | (!IS_ALIGNED(btrfs_file_extent_##name((leaf), (fi)), (alignment))); \ | 107 | (!IS_ALIGNED(btrfs_file_extent_##name((leaf), (fi)), (alignment))); \ |
108 | }) | 108 | }) |
109 | 109 | ||
110 | static u64 file_extent_end(struct extent_buffer *leaf, | ||
111 | struct btrfs_key *key, | ||
112 | struct btrfs_file_extent_item *extent) | ||
113 | { | ||
114 | u64 end; | ||
115 | u64 len; | ||
116 | |||
117 | if (btrfs_file_extent_type(leaf, extent) == BTRFS_FILE_EXTENT_INLINE) { | ||
118 | len = btrfs_file_extent_ram_bytes(leaf, extent); | ||
119 | end = ALIGN(key->offset + len, leaf->fs_info->sectorsize); | ||
120 | } else { | ||
121 | len = btrfs_file_extent_num_bytes(leaf, extent); | ||
122 | end = key->offset + len; | ||
123 | } | ||
124 | return end; | ||
125 | } | ||
126 | |||
110 | static int check_extent_data_item(struct extent_buffer *leaf, | 127 | static int check_extent_data_item(struct extent_buffer *leaf, |
111 | struct btrfs_key *key, int slot) | 128 | struct btrfs_key *key, int slot, |
129 | struct btrfs_key *prev_key) | ||
112 | { | 130 | { |
113 | struct btrfs_fs_info *fs_info = leaf->fs_info; | 131 | struct btrfs_fs_info *fs_info = leaf->fs_info; |
114 | struct btrfs_file_extent_item *fi; | 132 | struct btrfs_file_extent_item *fi; |
@@ -188,6 +206,28 @@ static int check_extent_data_item(struct extent_buffer *leaf, | |||
188 | CHECK_FE_ALIGNED(leaf, slot, fi, offset, sectorsize) || | 206 | CHECK_FE_ALIGNED(leaf, slot, fi, offset, sectorsize) || |
189 | CHECK_FE_ALIGNED(leaf, slot, fi, num_bytes, sectorsize)) | 207 | CHECK_FE_ALIGNED(leaf, slot, fi, num_bytes, sectorsize)) |
190 | return -EUCLEAN; | 208 | return -EUCLEAN; |
209 | |||
210 | /* | ||
211 | * Check that no two consecutive file extent items, in the same leaf, | ||
212 | * present ranges that overlap each other. | ||
213 | */ | ||
214 | if (slot > 0 && | ||
215 | prev_key->objectid == key->objectid && | ||
216 | prev_key->type == BTRFS_EXTENT_DATA_KEY) { | ||
217 | struct btrfs_file_extent_item *prev_fi; | ||
218 | u64 prev_end; | ||
219 | |||
220 | prev_fi = btrfs_item_ptr(leaf, slot - 1, | ||
221 | struct btrfs_file_extent_item); | ||
222 | prev_end = file_extent_end(leaf, prev_key, prev_fi); | ||
223 | if (prev_end > key->offset) { | ||
224 | file_extent_err(leaf, slot - 1, | ||
225 | "file extent end range (%llu) goes beyond start offset (%llu) of the next file extent", | ||
226 | prev_end, key->offset); | ||
227 | return -EUCLEAN; | ||
228 | } | ||
229 | } | ||
230 | |||
191 | return 0; | 231 | return 0; |
192 | } | 232 | } |
193 | 233 | ||
@@ -774,14 +814,15 @@ static int check_inode_item(struct extent_buffer *leaf, | |||
774 | * Common point to switch the item-specific validation. | 814 | * Common point to switch the item-specific validation. |
775 | */ | 815 | */ |
776 | static int check_leaf_item(struct extent_buffer *leaf, | 816 | static int check_leaf_item(struct extent_buffer *leaf, |
777 | struct btrfs_key *key, int slot) | 817 | struct btrfs_key *key, int slot, |
818 | struct btrfs_key *prev_key) | ||
778 | { | 819 | { |
779 | int ret = 0; | 820 | int ret = 0; |
780 | struct btrfs_chunk *chunk; | 821 | struct btrfs_chunk *chunk; |
781 | 822 | ||
782 | switch (key->type) { | 823 | switch (key->type) { |
783 | case BTRFS_EXTENT_DATA_KEY: | 824 | case BTRFS_EXTENT_DATA_KEY: |
784 | ret = check_extent_data_item(leaf, key, slot); | 825 | ret = check_extent_data_item(leaf, key, slot, prev_key); |
785 | break; | 826 | break; |
786 | case BTRFS_EXTENT_CSUM_KEY: | 827 | case BTRFS_EXTENT_CSUM_KEY: |
787 | ret = check_csum_item(leaf, key, slot); | 828 | ret = check_csum_item(leaf, key, slot); |
@@ -928,7 +969,7 @@ static int check_leaf(struct extent_buffer *leaf, bool check_item_data) | |||
928 | * Check if the item size and content meet other | 969 | * Check if the item size and content meet other |
929 | * criteria | 970 | * criteria |
930 | */ | 971 | */ |
931 | ret = check_leaf_item(leaf, &key, slot); | 972 | ret = check_leaf_item(leaf, &key, slot, &prev_key); |
932 | if (ret < 0) | 973 | if (ret < 0) |
933 | return ret; | 974 | return ret; |
934 | } | 975 | } |
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 6adcd8a2c5c7..3fc8d854d7fb 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c | |||
@@ -3110,6 +3110,12 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, | |||
3110 | log->log_transid = root->log_transid; | 3110 | log->log_transid = root->log_transid; |
3111 | root->log_start_pid = 0; | 3111 | root->log_start_pid = 0; |
3112 | /* | 3112 | /* |
3113 | * Update or create log root item under the root's log_mutex to prevent | ||
3114 | * races with concurrent log syncs that can lead to failure to update | ||
3115 | * log root item because it was not created yet. | ||
3116 | */ | ||
3117 | ret = update_log_root(trans, log); | ||
3118 | /* | ||
3113 | * IO has been started, blocks of the log tree have WRITTEN flag set | 3119 | * IO has been started, blocks of the log tree have WRITTEN flag set |
3114 | * in their headers. new modifications of the log will be written to | 3120 | * in their headers. new modifications of the log will be written to |
3115 | * new positions. so it's safe to allow log writers to go in. | 3121 | * new positions. so it's safe to allow log writers to go in. |
@@ -3128,8 +3134,6 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, | |||
3128 | 3134 | ||
3129 | mutex_unlock(&log_root_tree->log_mutex); | 3135 | mutex_unlock(&log_root_tree->log_mutex); |
3130 | 3136 | ||
3131 | ret = update_log_root(trans, log); | ||
3132 | |||
3133 | mutex_lock(&log_root_tree->log_mutex); | 3137 | mutex_lock(&log_root_tree->log_mutex); |
3134 | if (atomic_dec_and_test(&log_root_tree->log_writers)) { | 3138 | if (atomic_dec_and_test(&log_root_tree->log_writers)) { |
3135 | /* atomic_dec_and_test implies a barrier */ | 3139 | /* atomic_dec_and_test implies a barrier */ |
@@ -4182,6 +4186,7 @@ fill_holes: | |||
4182 | *last_extent, 0, | 4186 | *last_extent, 0, |
4183 | 0, len, 0, len, | 4187 | 0, len, 0, len, |
4184 | 0, 0, 0); | 4188 | 0, 0, 0); |
4189 | *last_extent += len; | ||
4185 | } | 4190 | } |
4186 | } | 4191 | } |
4187 | } | 4192 | } |
@@ -5477,7 +5482,6 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans, | |||
5477 | { | 5482 | { |
5478 | int ret = 0; | 5483 | int ret = 0; |
5479 | struct dentry *old_parent = NULL; | 5484 | struct dentry *old_parent = NULL; |
5480 | struct btrfs_inode *orig_inode = inode; | ||
5481 | 5485 | ||
5482 | /* | 5486 | /* |
5483 | * for regular files, if its inode is already on disk, we don't | 5487 | * for regular files, if its inode is already on disk, we don't |
@@ -5497,16 +5501,6 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans, | |||
5497 | } | 5501 | } |
5498 | 5502 | ||
5499 | while (1) { | 5503 | while (1) { |
5500 | /* | ||
5501 | * If we are logging a directory then we start with our inode, | ||
5502 | * not our parent's inode, so we need to skip setting the | ||
5503 | * logged_trans so that further down in the log code we don't | ||
5504 | * think this inode has already been logged. | ||
5505 | */ | ||
5506 | if (inode != orig_inode) | ||
5507 | inode->logged_trans = trans->transid; | ||
5508 | smp_mb(); | ||
5509 | |||
5510 | if (btrfs_must_commit_transaction(trans, inode)) { | 5504 | if (btrfs_must_commit_transaction(trans, inode)) { |
5511 | ret = 1; | 5505 | ret = 1; |
5512 | break; | 5506 | break; |
@@ -6383,7 +6377,6 @@ void btrfs_record_unlink_dir(struct btrfs_trans_handle *trans, | |||
6383 | * if this directory was already logged any new | 6377 | * if this directory was already logged any new |
6384 | * names for this file/dir will get recorded | 6378 | * names for this file/dir will get recorded |
6385 | */ | 6379 | */ |
6386 | smp_mb(); | ||
6387 | if (dir->logged_trans == trans->transid) | 6380 | if (dir->logged_trans == trans->transid) |
6388 | return; | 6381 | return; |
6389 | 6382 | ||
diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c index 78b6ba2029e8..95d9aebff2c4 100644 --- a/fs/btrfs/xattr.c +++ b/fs/btrfs/xattr.c | |||
@@ -213,6 +213,9 @@ int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode, | |||
213 | } | 213 | } |
214 | out: | 214 | out: |
215 | btrfs_free_path(path); | 215 | btrfs_free_path(path); |
216 | if (!ret) | ||
217 | set_bit(BTRFS_INODE_COPY_EVERYTHING, | ||
218 | &BTRFS_I(inode)->runtime_flags); | ||
216 | return ret; | 219 | return ret; |
217 | } | 220 | } |
218 | 221 | ||
@@ -236,7 +239,6 @@ int btrfs_setxattr_trans(struct inode *inode, const char *name, | |||
236 | 239 | ||
237 | inode_inc_iversion(inode); | 240 | inode_inc_iversion(inode); |
238 | inode->i_ctime = current_time(inode); | 241 | inode->i_ctime = current_time(inode); |
239 | set_bit(BTRFS_INODE_COPY_EVERYTHING, &BTRFS_I(inode)->runtime_flags); | ||
240 | ret = btrfs_update_inode(trans, root, inode); | 242 | ret = btrfs_update_inode(trans, root, inode); |
241 | BUG_ON(ret); | 243 | BUG_ON(ret); |
242 | out: | 244 | out: |
@@ -388,8 +390,6 @@ static int btrfs_xattr_handler_set_prop(const struct xattr_handler *handler, | |||
388 | if (!ret) { | 390 | if (!ret) { |
389 | inode_inc_iversion(inode); | 391 | inode_inc_iversion(inode); |
390 | inode->i_ctime = current_time(inode); | 392 | inode->i_ctime = current_time(inode); |
391 | set_bit(BTRFS_INODE_COPY_EVERYTHING, | ||
392 | &BTRFS_I(inode)->runtime_flags); | ||
393 | ret = btrfs_update_inode(trans, root, inode); | 393 | ret = btrfs_update_inode(trans, root, inode); |
394 | BUG_ON(ret); | 394 | BUG_ON(ret); |
395 | } | 395 | } |
diff --git a/fs/btrfs/zstd.c b/fs/btrfs/zstd.c index a6ff07cf11d5..3837ca180d52 100644 --- a/fs/btrfs/zstd.c +++ b/fs/btrfs/zstd.c | |||
@@ -105,10 +105,10 @@ static void zstd_reclaim_timer_fn(struct timer_list *timer) | |||
105 | unsigned long reclaim_threshold = jiffies - ZSTD_BTRFS_RECLAIM_JIFFIES; | 105 | unsigned long reclaim_threshold = jiffies - ZSTD_BTRFS_RECLAIM_JIFFIES; |
106 | struct list_head *pos, *next; | 106 | struct list_head *pos, *next; |
107 | 107 | ||
108 | spin_lock(&wsm.lock); | 108 | spin_lock_bh(&wsm.lock); |
109 | 109 | ||
110 | if (list_empty(&wsm.lru_list)) { | 110 | if (list_empty(&wsm.lru_list)) { |
111 | spin_unlock(&wsm.lock); | 111 | spin_unlock_bh(&wsm.lock); |
112 | return; | 112 | return; |
113 | } | 113 | } |
114 | 114 | ||
@@ -137,7 +137,7 @@ static void zstd_reclaim_timer_fn(struct timer_list *timer) | |||
137 | if (!list_empty(&wsm.lru_list)) | 137 | if (!list_empty(&wsm.lru_list)) |
138 | mod_timer(&wsm.timer, jiffies + ZSTD_BTRFS_RECLAIM_JIFFIES); | 138 | mod_timer(&wsm.timer, jiffies + ZSTD_BTRFS_RECLAIM_JIFFIES); |
139 | 139 | ||
140 | spin_unlock(&wsm.lock); | 140 | spin_unlock_bh(&wsm.lock); |
141 | } | 141 | } |
142 | 142 | ||
143 | /* | 143 | /* |
@@ -198,7 +198,7 @@ static void zstd_cleanup_workspace_manager(void) | |||
198 | struct workspace *workspace; | 198 | struct workspace *workspace; |
199 | int i; | 199 | int i; |
200 | 200 | ||
201 | spin_lock(&wsm.lock); | 201 | spin_lock_bh(&wsm.lock); |
202 | for (i = 0; i < ZSTD_BTRFS_MAX_LEVEL; i++) { | 202 | for (i = 0; i < ZSTD_BTRFS_MAX_LEVEL; i++) { |
203 | while (!list_empty(&wsm.idle_ws[i])) { | 203 | while (!list_empty(&wsm.idle_ws[i])) { |
204 | workspace = container_of(wsm.idle_ws[i].next, | 204 | workspace = container_of(wsm.idle_ws[i].next, |
@@ -208,7 +208,7 @@ static void zstd_cleanup_workspace_manager(void) | |||
208 | zstd_free_workspace(&workspace->list); | 208 | zstd_free_workspace(&workspace->list); |
209 | } | 209 | } |
210 | } | 210 | } |
211 | spin_unlock(&wsm.lock); | 211 | spin_unlock_bh(&wsm.lock); |
212 | 212 | ||
213 | del_timer_sync(&wsm.timer); | 213 | del_timer_sync(&wsm.timer); |
214 | } | 214 | } |
@@ -230,7 +230,7 @@ static struct list_head *zstd_find_workspace(unsigned int level) | |||
230 | struct workspace *workspace; | 230 | struct workspace *workspace; |
231 | int i = level - 1; | 231 | int i = level - 1; |
232 | 232 | ||
233 | spin_lock(&wsm.lock); | 233 | spin_lock_bh(&wsm.lock); |
234 | for_each_set_bit_from(i, &wsm.active_map, ZSTD_BTRFS_MAX_LEVEL) { | 234 | for_each_set_bit_from(i, &wsm.active_map, ZSTD_BTRFS_MAX_LEVEL) { |
235 | if (!list_empty(&wsm.idle_ws[i])) { | 235 | if (!list_empty(&wsm.idle_ws[i])) { |
236 | ws = wsm.idle_ws[i].next; | 236 | ws = wsm.idle_ws[i].next; |
@@ -242,11 +242,11 @@ static struct list_head *zstd_find_workspace(unsigned int level) | |||
242 | list_del(&workspace->lru_list); | 242 | list_del(&workspace->lru_list); |
243 | if (list_empty(&wsm.idle_ws[i])) | 243 | if (list_empty(&wsm.idle_ws[i])) |
244 | clear_bit(i, &wsm.active_map); | 244 | clear_bit(i, &wsm.active_map); |
245 | spin_unlock(&wsm.lock); | 245 | spin_unlock_bh(&wsm.lock); |
246 | return ws; | 246 | return ws; |
247 | } | 247 | } |
248 | } | 248 | } |
249 | spin_unlock(&wsm.lock); | 249 | spin_unlock_bh(&wsm.lock); |
250 | 250 | ||
251 | return NULL; | 251 | return NULL; |
252 | } | 252 | } |
@@ -305,7 +305,7 @@ static void zstd_put_workspace(struct list_head *ws) | |||
305 | { | 305 | { |
306 | struct workspace *workspace = list_to_workspace(ws); | 306 | struct workspace *workspace = list_to_workspace(ws); |
307 | 307 | ||
308 | spin_lock(&wsm.lock); | 308 | spin_lock_bh(&wsm.lock); |
309 | 309 | ||
310 | /* A node is only taken off the lru if we are the corresponding level */ | 310 | /* A node is only taken off the lru if we are the corresponding level */ |
311 | if (workspace->req_level == workspace->level) { | 311 | if (workspace->req_level == workspace->level) { |
@@ -325,7 +325,7 @@ static void zstd_put_workspace(struct list_head *ws) | |||
325 | list_add(&workspace->list, &wsm.idle_ws[workspace->level - 1]); | 325 | list_add(&workspace->list, &wsm.idle_ws[workspace->level - 1]); |
326 | workspace->req_level = 0; | 326 | workspace->req_level = 0; |
327 | 327 | ||
328 | spin_unlock(&wsm.lock); | 328 | spin_unlock_bh(&wsm.lock); |
329 | 329 | ||
330 | if (workspace->level == ZSTD_BTRFS_MAX_LEVEL) | 330 | if (workspace->level == ZSTD_BTRFS_MAX_LEVEL) |
331 | cond_wake_up(&wsm.wait); | 331 | cond_wake_up(&wsm.wait); |
diff --git a/fs/buffer.c b/fs/buffer.c index 0faa41fb4c88..e450c55f6434 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/buffer.c | 3 | * linux/fs/buffer.c |
3 | * | 4 | * |
diff --git a/fs/cachefiles/Kconfig b/fs/cachefiles/Kconfig index 80e9c6167f0b..ae559ed5b3b3 100644 --- a/fs/cachefiles/Kconfig +++ b/fs/cachefiles/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | 2 | ||
2 | config CACHEFILES | 3 | config CACHEFILES |
3 | tristate "Filesystem caching on files" | 4 | tristate "Filesystem caching on files" |
diff --git a/fs/cachefiles/bind.c b/fs/cachefiles/bind.c index 4a717d400807..dfb14dbddf51 100644 --- a/fs/cachefiles/bind.c +++ b/fs/cachefiles/bind.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Bind and unbind a cache from the filesystem backing it | 2 | /* Bind and unbind a cache from the filesystem backing it |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/cachefiles/daemon.c b/fs/cachefiles/daemon.c index 3fdee214a5bb..752c1e43416f 100644 --- a/fs/cachefiles/daemon.c +++ b/fs/cachefiles/daemon.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Daemon interface | 2 | /* Daemon interface |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/cachefiles/interface.c b/fs/cachefiles/interface.c index 222bc5d8b62c..4cea5fbf695e 100644 --- a/fs/cachefiles/interface.c +++ b/fs/cachefiles/interface.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache interface to CacheFiles | 2 | /* FS-Cache interface to CacheFiles |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/cachefiles/internal.h b/fs/cachefiles/internal.h index d2f6f996e65a..cf9bd6401c2d 100644 --- a/fs/cachefiles/internal.h +++ b/fs/cachefiles/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* General netfs cache on cache files internal defs | 2 | /* General netfs cache on cache files internal defs |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifdef pr_fmt | 8 | #ifdef pr_fmt |
diff --git a/fs/cachefiles/key.c b/fs/cachefiles/key.c index 33b58c60f2d1..be96f5fc5cac 100644 --- a/fs/cachefiles/key.c +++ b/fs/cachefiles/key.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Key to pathname encoder | 2 | /* Key to pathname encoder |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/cachefiles/main.c b/fs/cachefiles/main.c index f54d3f5b2e40..ddf0cd58d60c 100644 --- a/fs/cachefiles/main.c +++ b/fs/cachefiles/main.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Network filesystem caching backend to use cache files on a premounted | 2 | /* Network filesystem caching backend to use cache files on a premounted |
2 | * filesystem | 3 | * filesystem |
3 | * | 4 | * |
4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 5 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
5 | * Written by David Howells (dhowells@redhat.com) | 6 | * Written by David Howells (dhowells@redhat.com) |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public Licence | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the Licence, or (at your option) any later version. | ||
11 | */ | 7 | */ |
12 | 8 | ||
13 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/fs/cachefiles/namei.c b/fs/cachefiles/namei.c index d27720cd3664..ecc8ecbbfa5a 100644 --- a/fs/cachefiles/namei.c +++ b/fs/cachefiles/namei.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* CacheFiles path walking and related routines | 2 | /* CacheFiles path walking and related routines |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/cachefiles/proc.c b/fs/cachefiles/proc.c index 0ce1aa56b67f..6e67aea0f24e 100644 --- a/fs/cachefiles/proc.c +++ b/fs/cachefiles/proc.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* CacheFiles statistics | 2 | /* CacheFiles statistics |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/cachefiles/rdwr.c b/fs/cachefiles/rdwr.c index 8a577409d030..44a3ce1e4ce4 100644 --- a/fs/cachefiles/rdwr.c +++ b/fs/cachefiles/rdwr.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Storage object read/write | 2 | /* Storage object read/write |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/mount.h> | 8 | #include <linux/mount.h> |
diff --git a/fs/cachefiles/security.c b/fs/cachefiles/security.c index 31bbc0528b11..aec13fd94692 100644 --- a/fs/cachefiles/security.c +++ b/fs/cachefiles/security.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* CacheFiles security management | 2 | /* CacheFiles security management |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/fs.h> | 8 | #include <linux/fs.h> |
diff --git a/fs/cachefiles/xattr.c b/fs/cachefiles/xattr.c index 511e6c68156a..72e42438f3d7 100644 --- a/fs/cachefiles/xattr.c +++ b/fs/cachefiles/xattr.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* CacheFiles extended attribute management | 2 | /* CacheFiles extended attribute management |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/ceph/Kconfig b/fs/ceph/Kconfig index 52095f473464..7f7d92d6b024 100644 --- a/fs/ceph/Kconfig +++ b/fs/ceph/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config CEPH_FS | 2 | config CEPH_FS |
2 | tristate "Ceph distributed file system" | 3 | tristate "Ceph distributed file system" |
3 | depends on INET | 4 | depends on INET |
diff --git a/fs/ceph/acl.c b/fs/ceph/acl.c index 5f0103f40079..8a19c249036c 100644 --- a/fs/ceph/acl.c +++ b/fs/ceph/acl.c | |||
@@ -1,21 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/ceph/acl.c | 3 | * linux/fs/ceph/acl.c |
3 | * | 4 | * |
4 | * Copyright (C) 2013 Guangliang Zhao, <lucienchao@gmail.com> | 5 | * Copyright (C) 2013 Guangliang Zhao, <lucienchao@gmail.com> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License v2 as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | * General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public | ||
16 | * License along with this program; if not, write to the | ||
17 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
18 | * Boston, MA 021110-1307, USA. | ||
19 | */ | 6 | */ |
20 | 7 | ||
21 | #include <linux/ceph/ceph_debug.h> | 8 | #include <linux/ceph/ceph_debug.h> |
diff --git a/fs/ceph/cache.c b/fs/ceph/cache.c index 1bf3502bdd6f..bc90cf6ad7ed 100644 --- a/fs/ceph/cache.c +++ b/fs/ceph/cache.c | |||
@@ -1,24 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Ceph cache definitions. | 3 | * Ceph cache definitions. |
3 | * | 4 | * |
4 | * Copyright (C) 2013 by Adfin Solutions, Inc. All Rights Reserved. | 5 | * Copyright (C) 2013 by Adfin Solutions, Inc. All Rights Reserved. |
5 | * Written by Milosz Tanski (milosz@adfin.com) | 6 | * Written by Milosz Tanski (milosz@adfin.com) |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 | ||
9 | * as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to: | ||
18 | * Free Software Foundation | ||
19 | * 51 Franklin Street, Fifth Floor | ||
20 | * Boston, MA 02111-1301 USA | ||
21 | * | ||
22 | */ | 7 | */ |
23 | 8 | ||
24 | #include "super.h" | 9 | #include "super.h" |
diff --git a/fs/ceph/cache.h b/fs/ceph/cache.h index 7e72c7594f0c..e486fac3434d 100644 --- a/fs/ceph/cache.h +++ b/fs/ceph/cache.h | |||
@@ -1,24 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Ceph cache definitions. | 3 | * Ceph cache definitions. |
3 | * | 4 | * |
4 | * Copyright (C) 2013 by Adfin Solutions, Inc. All Rights Reserved. | 5 | * Copyright (C) 2013 by Adfin Solutions, Inc. All Rights Reserved. |
5 | * Written by Milosz Tanski (milosz@adfin.com) | 6 | * Written by Milosz Tanski (milosz@adfin.com) |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 | ||
9 | * as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to: | ||
18 | * Free Software Foundation | ||
19 | * 51 Franklin Street, Fifth Floor | ||
20 | * Boston, MA 02111-1301 USA | ||
21 | * | ||
22 | */ | 7 | */ |
23 | 8 | ||
24 | #ifndef _CEPH_CACHE_H | 9 | #ifndef _CEPH_CACHE_H |
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 72f8e1311392..0176241eaea7 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c | |||
@@ -2738,15 +2738,13 @@ int ceph_get_caps(struct ceph_inode_info *ci, int need, int want, | |||
2738 | _got = 0; | 2738 | _got = 0; |
2739 | ret = try_get_cap_refs(ci, need, want, endoff, | 2739 | ret = try_get_cap_refs(ci, need, want, endoff, |
2740 | false, &_got); | 2740 | false, &_got); |
2741 | if (ret == -EAGAIN) { | 2741 | if (ret == -EAGAIN) |
2742 | continue; | 2742 | continue; |
2743 | } else if (!ret) { | 2743 | if (!ret) { |
2744 | int err; | ||
2745 | |||
2746 | DEFINE_WAIT_FUNC(wait, woken_wake_function); | 2744 | DEFINE_WAIT_FUNC(wait, woken_wake_function); |
2747 | add_wait_queue(&ci->i_cap_wq, &wait); | 2745 | add_wait_queue(&ci->i_cap_wq, &wait); |
2748 | 2746 | ||
2749 | while (!(err = try_get_cap_refs(ci, need, want, endoff, | 2747 | while (!(ret = try_get_cap_refs(ci, need, want, endoff, |
2750 | true, &_got))) { | 2748 | true, &_got))) { |
2751 | if (signal_pending(current)) { | 2749 | if (signal_pending(current)) { |
2752 | ret = -ERESTARTSYS; | 2750 | ret = -ERESTARTSYS; |
@@ -2756,14 +2754,16 @@ int ceph_get_caps(struct ceph_inode_info *ci, int need, int want, | |||
2756 | } | 2754 | } |
2757 | 2755 | ||
2758 | remove_wait_queue(&ci->i_cap_wq, &wait); | 2756 | remove_wait_queue(&ci->i_cap_wq, &wait); |
2759 | if (err == -EAGAIN) | 2757 | if (ret == -EAGAIN) |
2760 | continue; | 2758 | continue; |
2761 | } | 2759 | } |
2762 | if (ret == -ESTALE) { | 2760 | if (ret < 0) { |
2763 | /* session was killed, try renew caps */ | 2761 | if (ret == -ESTALE) { |
2764 | ret = ceph_renew_caps(&ci->vfs_inode); | 2762 | /* session was killed, try renew caps */ |
2765 | if (ret == 0) | 2763 | ret = ceph_renew_caps(&ci->vfs_inode); |
2766 | continue; | 2764 | if (ret == 0) |
2765 | continue; | ||
2766 | } | ||
2767 | return ret; | 2767 | return ret; |
2768 | } | 2768 | } |
2769 | 2769 | ||
@@ -2992,8 +2992,10 @@ void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr, | |||
2992 | } | 2992 | } |
2993 | if (complete_capsnap) | 2993 | if (complete_capsnap) |
2994 | wake_up_all(&ci->i_cap_wq); | 2994 | wake_up_all(&ci->i_cap_wq); |
2995 | while (put-- > 0) | 2995 | while (put-- > 0) { |
2996 | iput(inode); | 2996 | /* avoid calling iput_final() in osd dispatch threads */ |
2997 | ceph_async_iput(inode); | ||
2998 | } | ||
2997 | } | 2999 | } |
2998 | 3000 | ||
2999 | /* | 3001 | /* |
@@ -3964,8 +3966,9 @@ void ceph_handle_caps(struct ceph_mds_session *session, | |||
3964 | done: | 3966 | done: |
3965 | mutex_unlock(&session->s_mutex); | 3967 | mutex_unlock(&session->s_mutex); |
3966 | done_unlocked: | 3968 | done_unlocked: |
3967 | iput(inode); | ||
3968 | ceph_put_string(extra_info.pool_ns); | 3969 | ceph_put_string(extra_info.pool_ns); |
3970 | /* avoid calling iput_final() in mds dispatch threads */ | ||
3971 | ceph_async_iput(inode); | ||
3969 | return; | 3972 | return; |
3970 | 3973 | ||
3971 | flush_cap_releases: | 3974 | flush_cap_releases: |
@@ -4011,7 +4014,8 @@ void ceph_check_delayed_caps(struct ceph_mds_client *mdsc) | |||
4011 | if (inode) { | 4014 | if (inode) { |
4012 | dout("check_delayed_caps on %p\n", inode); | 4015 | dout("check_delayed_caps on %p\n", inode); |
4013 | ceph_check_caps(ci, flags, NULL); | 4016 | ceph_check_caps(ci, flags, NULL); |
4014 | iput(inode); | 4017 | /* avoid calling iput_final() in tick thread */ |
4018 | ceph_async_iput(inode); | ||
4015 | } | 4019 | } |
4016 | } | 4020 | } |
4017 | spin_unlock(&mdsc->cap_delay_lock); | 4021 | spin_unlock(&mdsc->cap_delay_lock); |
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 305daf043eb0..183c37c0a8fc 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c | |||
@@ -791,7 +791,7 @@ static void ceph_aio_complete_req(struct ceph_osd_request *req) | |||
791 | if (aio_work) { | 791 | if (aio_work) { |
792 | INIT_WORK(&aio_work->work, ceph_aio_retry_work); | 792 | INIT_WORK(&aio_work->work, ceph_aio_retry_work); |
793 | aio_work->req = req; | 793 | aio_work->req = req; |
794 | queue_work(ceph_inode_to_client(inode)->wb_wq, | 794 | queue_work(ceph_inode_to_client(inode)->inode_wq, |
795 | &aio_work->work); | 795 | &aio_work->work); |
796 | return; | 796 | return; |
797 | } | 797 | } |
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index f85355bf49c4..761451f36e2d 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c | |||
@@ -33,9 +33,7 @@ | |||
33 | 33 | ||
34 | static const struct inode_operations ceph_symlink_iops; | 34 | static const struct inode_operations ceph_symlink_iops; |
35 | 35 | ||
36 | static void ceph_invalidate_work(struct work_struct *work); | 36 | static void ceph_inode_work(struct work_struct *work); |
37 | static void ceph_writeback_work(struct work_struct *work); | ||
38 | static void ceph_vmtruncate_work(struct work_struct *work); | ||
39 | 37 | ||
40 | /* | 38 | /* |
41 | * find or create an inode, given the ceph ino number | 39 | * find or create an inode, given the ceph ino number |
@@ -509,10 +507,8 @@ struct inode *ceph_alloc_inode(struct super_block *sb) | |||
509 | INIT_LIST_HEAD(&ci->i_snap_realm_item); | 507 | INIT_LIST_HEAD(&ci->i_snap_realm_item); |
510 | INIT_LIST_HEAD(&ci->i_snap_flush_item); | 508 | INIT_LIST_HEAD(&ci->i_snap_flush_item); |
511 | 509 | ||
512 | INIT_WORK(&ci->i_wb_work, ceph_writeback_work); | 510 | INIT_WORK(&ci->i_work, ceph_inode_work); |
513 | INIT_WORK(&ci->i_pg_inv_work, ceph_invalidate_work); | 511 | ci->i_work_mask = 0; |
514 | |||
515 | INIT_WORK(&ci->i_vmtruncate_work, ceph_vmtruncate_work); | ||
516 | 512 | ||
517 | ceph_fscache_inode_init(ci); | 513 | ceph_fscache_inode_init(ci); |
518 | 514 | ||
@@ -1480,7 +1476,8 @@ static int readdir_prepopulate_inodes_only(struct ceph_mds_request *req, | |||
1480 | pr_err("fill_inode badness on %p got %d\n", in, rc); | 1476 | pr_err("fill_inode badness on %p got %d\n", in, rc); |
1481 | err = rc; | 1477 | err = rc; |
1482 | } | 1478 | } |
1483 | iput(in); | 1479 | /* avoid calling iput_final() in mds dispatch threads */ |
1480 | ceph_async_iput(in); | ||
1484 | } | 1481 | } |
1485 | 1482 | ||
1486 | return err; | 1483 | return err; |
@@ -1678,8 +1675,11 @@ retry_lookup: | |||
1678 | &req->r_caps_reservation); | 1675 | &req->r_caps_reservation); |
1679 | if (ret < 0) { | 1676 | if (ret < 0) { |
1680 | pr_err("fill_inode badness on %p\n", in); | 1677 | pr_err("fill_inode badness on %p\n", in); |
1681 | if (d_really_is_negative(dn)) | 1678 | if (d_really_is_negative(dn)) { |
1682 | iput(in); | 1679 | /* avoid calling iput_final() in mds |
1680 | * dispatch threads */ | ||
1681 | ceph_async_iput(in); | ||
1682 | } | ||
1683 | d_drop(dn); | 1683 | d_drop(dn); |
1684 | err = ret; | 1684 | err = ret; |
1685 | goto next_item; | 1685 | goto next_item; |
@@ -1689,7 +1689,7 @@ retry_lookup: | |||
1689 | if (ceph_security_xattr_deadlock(in)) { | 1689 | if (ceph_security_xattr_deadlock(in)) { |
1690 | dout(" skip splicing dn %p to inode %p" | 1690 | dout(" skip splicing dn %p to inode %p" |
1691 | " (security xattr deadlock)\n", dn, in); | 1691 | " (security xattr deadlock)\n", dn, in); |
1692 | iput(in); | 1692 | ceph_async_iput(in); |
1693 | skipped++; | 1693 | skipped++; |
1694 | goto next_item; | 1694 | goto next_item; |
1695 | } | 1695 | } |
@@ -1741,56 +1741,86 @@ bool ceph_inode_set_size(struct inode *inode, loff_t size) | |||
1741 | } | 1741 | } |
1742 | 1742 | ||
1743 | /* | 1743 | /* |
1744 | * Put reference to inode, but avoid calling iput_final() in current thread. | ||
1745 | * iput_final() may wait for reahahead pages. The wait can cause deadlock in | ||
1746 | * some contexts. | ||
1747 | */ | ||
1748 | void ceph_async_iput(struct inode *inode) | ||
1749 | { | ||
1750 | if (!inode) | ||
1751 | return; | ||
1752 | for (;;) { | ||
1753 | if (atomic_add_unless(&inode->i_count, -1, 1)) | ||
1754 | break; | ||
1755 | if (queue_work(ceph_inode_to_client(inode)->inode_wq, | ||
1756 | &ceph_inode(inode)->i_work)) | ||
1757 | break; | ||
1758 | /* queue work failed, i_count must be at least 2 */ | ||
1759 | } | ||
1760 | } | ||
1761 | |||
1762 | /* | ||
1744 | * Write back inode data in a worker thread. (This can't be done | 1763 | * Write back inode data in a worker thread. (This can't be done |
1745 | * in the message handler context.) | 1764 | * in the message handler context.) |
1746 | */ | 1765 | */ |
1747 | void ceph_queue_writeback(struct inode *inode) | 1766 | void ceph_queue_writeback(struct inode *inode) |
1748 | { | 1767 | { |
1768 | struct ceph_inode_info *ci = ceph_inode(inode); | ||
1769 | set_bit(CEPH_I_WORK_WRITEBACK, &ci->i_work_mask); | ||
1770 | |||
1749 | ihold(inode); | 1771 | ihold(inode); |
1750 | if (queue_work(ceph_inode_to_client(inode)->wb_wq, | 1772 | if (queue_work(ceph_inode_to_client(inode)->inode_wq, |
1751 | &ceph_inode(inode)->i_wb_work)) { | 1773 | &ci->i_work)) { |
1752 | dout("ceph_queue_writeback %p\n", inode); | 1774 | dout("ceph_queue_writeback %p\n", inode); |
1753 | } else { | 1775 | } else { |
1754 | dout("ceph_queue_writeback %p failed\n", inode); | 1776 | dout("ceph_queue_writeback %p already queued, mask=%lx\n", |
1777 | inode, ci->i_work_mask); | ||
1755 | iput(inode); | 1778 | iput(inode); |
1756 | } | 1779 | } |
1757 | } | 1780 | } |
1758 | 1781 | ||
1759 | static void ceph_writeback_work(struct work_struct *work) | ||
1760 | { | ||
1761 | struct ceph_inode_info *ci = container_of(work, struct ceph_inode_info, | ||
1762 | i_wb_work); | ||
1763 | struct inode *inode = &ci->vfs_inode; | ||
1764 | |||
1765 | dout("writeback %p\n", inode); | ||
1766 | filemap_fdatawrite(&inode->i_data); | ||
1767 | iput(inode); | ||
1768 | } | ||
1769 | |||
1770 | /* | 1782 | /* |
1771 | * queue an async invalidation | 1783 | * queue an async invalidation |
1772 | */ | 1784 | */ |
1773 | void ceph_queue_invalidate(struct inode *inode) | 1785 | void ceph_queue_invalidate(struct inode *inode) |
1774 | { | 1786 | { |
1787 | struct ceph_inode_info *ci = ceph_inode(inode); | ||
1788 | set_bit(CEPH_I_WORK_INVALIDATE_PAGES, &ci->i_work_mask); | ||
1789 | |||
1775 | ihold(inode); | 1790 | ihold(inode); |
1776 | if (queue_work(ceph_inode_to_client(inode)->pg_inv_wq, | 1791 | if (queue_work(ceph_inode_to_client(inode)->inode_wq, |
1777 | &ceph_inode(inode)->i_pg_inv_work)) { | 1792 | &ceph_inode(inode)->i_work)) { |
1778 | dout("ceph_queue_invalidate %p\n", inode); | 1793 | dout("ceph_queue_invalidate %p\n", inode); |
1779 | } else { | 1794 | } else { |
1780 | dout("ceph_queue_invalidate %p failed\n", inode); | 1795 | dout("ceph_queue_invalidate %p already queued, mask=%lx\n", |
1796 | inode, ci->i_work_mask); | ||
1781 | iput(inode); | 1797 | iput(inode); |
1782 | } | 1798 | } |
1783 | } | 1799 | } |
1784 | 1800 | ||
1785 | /* | 1801 | /* |
1786 | * Invalidate inode pages in a worker thread. (This can't be done | 1802 | * Queue an async vmtruncate. If we fail to queue work, we will handle |
1787 | * in the message handler context.) | 1803 | * the truncation the next time we call __ceph_do_pending_vmtruncate. |
1788 | */ | 1804 | */ |
1789 | static void ceph_invalidate_work(struct work_struct *work) | 1805 | void ceph_queue_vmtruncate(struct inode *inode) |
1790 | { | 1806 | { |
1791 | struct ceph_inode_info *ci = container_of(work, struct ceph_inode_info, | 1807 | struct ceph_inode_info *ci = ceph_inode(inode); |
1792 | i_pg_inv_work); | 1808 | set_bit(CEPH_I_WORK_VMTRUNCATE, &ci->i_work_mask); |
1793 | struct inode *inode = &ci->vfs_inode; | 1809 | |
1810 | ihold(inode); | ||
1811 | if (queue_work(ceph_inode_to_client(inode)->inode_wq, | ||
1812 | &ci->i_work)) { | ||
1813 | dout("ceph_queue_vmtruncate %p\n", inode); | ||
1814 | } else { | ||
1815 | dout("ceph_queue_vmtruncate %p already queued, mask=%lx\n", | ||
1816 | inode, ci->i_work_mask); | ||
1817 | iput(inode); | ||
1818 | } | ||
1819 | } | ||
1820 | |||
1821 | static void ceph_do_invalidate_pages(struct inode *inode) | ||
1822 | { | ||
1823 | struct ceph_inode_info *ci = ceph_inode(inode); | ||
1794 | struct ceph_fs_client *fsc = ceph_inode_to_client(inode); | 1824 | struct ceph_fs_client *fsc = ceph_inode_to_client(inode); |
1795 | u32 orig_gen; | 1825 | u32 orig_gen; |
1796 | int check = 0; | 1826 | int check = 0; |
@@ -1842,44 +1872,6 @@ static void ceph_invalidate_work(struct work_struct *work) | |||
1842 | out: | 1872 | out: |
1843 | if (check) | 1873 | if (check) |
1844 | ceph_check_caps(ci, 0, NULL); | 1874 | ceph_check_caps(ci, 0, NULL); |
1845 | iput(inode); | ||
1846 | } | ||
1847 | |||
1848 | |||
1849 | /* | ||
1850 | * called by trunc_wq; | ||
1851 | * | ||
1852 | * We also truncate in a separate thread as well. | ||
1853 | */ | ||
1854 | static void ceph_vmtruncate_work(struct work_struct *work) | ||
1855 | { | ||
1856 | struct ceph_inode_info *ci = container_of(work, struct ceph_inode_info, | ||
1857 | i_vmtruncate_work); | ||
1858 | struct inode *inode = &ci->vfs_inode; | ||
1859 | |||
1860 | dout("vmtruncate_work %p\n", inode); | ||
1861 | __ceph_do_pending_vmtruncate(inode); | ||
1862 | iput(inode); | ||
1863 | } | ||
1864 | |||
1865 | /* | ||
1866 | * Queue an async vmtruncate. If we fail to queue work, we will handle | ||
1867 | * the truncation the next time we call __ceph_do_pending_vmtruncate. | ||
1868 | */ | ||
1869 | void ceph_queue_vmtruncate(struct inode *inode) | ||
1870 | { | ||
1871 | struct ceph_inode_info *ci = ceph_inode(inode); | ||
1872 | |||
1873 | ihold(inode); | ||
1874 | |||
1875 | if (queue_work(ceph_sb_to_client(inode->i_sb)->trunc_wq, | ||
1876 | &ci->i_vmtruncate_work)) { | ||
1877 | dout("ceph_queue_vmtruncate %p\n", inode); | ||
1878 | } else { | ||
1879 | dout("ceph_queue_vmtruncate %p failed, pending=%d\n", | ||
1880 | inode, ci->i_truncate_pending); | ||
1881 | iput(inode); | ||
1882 | } | ||
1883 | } | 1875 | } |
1884 | 1876 | ||
1885 | /* | 1877 | /* |
@@ -1943,6 +1935,25 @@ retry: | |||
1943 | wake_up_all(&ci->i_cap_wq); | 1935 | wake_up_all(&ci->i_cap_wq); |
1944 | } | 1936 | } |
1945 | 1937 | ||
1938 | static void ceph_inode_work(struct work_struct *work) | ||
1939 | { | ||
1940 | struct ceph_inode_info *ci = container_of(work, struct ceph_inode_info, | ||
1941 | i_work); | ||
1942 | struct inode *inode = &ci->vfs_inode; | ||
1943 | |||
1944 | if (test_and_clear_bit(CEPH_I_WORK_WRITEBACK, &ci->i_work_mask)) { | ||
1945 | dout("writeback %p\n", inode); | ||
1946 | filemap_fdatawrite(&inode->i_data); | ||
1947 | } | ||
1948 | if (test_and_clear_bit(CEPH_I_WORK_INVALIDATE_PAGES, &ci->i_work_mask)) | ||
1949 | ceph_do_invalidate_pages(inode); | ||
1950 | |||
1951 | if (test_and_clear_bit(CEPH_I_WORK_VMTRUNCATE, &ci->i_work_mask)) | ||
1952 | __ceph_do_pending_vmtruncate(inode); | ||
1953 | |||
1954 | iput(inode); | ||
1955 | } | ||
1956 | |||
1946 | /* | 1957 | /* |
1947 | * symlinks | 1958 | * symlinks |
1948 | */ | 1959 | */ |
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 959b1bf7c327..c8a9b89b922d 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c | |||
@@ -690,11 +690,12 @@ void ceph_mdsc_release_request(struct kref *kref) | |||
690 | ceph_msg_put(req->r_reply); | 690 | ceph_msg_put(req->r_reply); |
691 | if (req->r_inode) { | 691 | if (req->r_inode) { |
692 | ceph_put_cap_refs(ceph_inode(req->r_inode), CEPH_CAP_PIN); | 692 | ceph_put_cap_refs(ceph_inode(req->r_inode), CEPH_CAP_PIN); |
693 | iput(req->r_inode); | 693 | /* avoid calling iput_final() in mds dispatch threads */ |
694 | ceph_async_iput(req->r_inode); | ||
694 | } | 695 | } |
695 | if (req->r_parent) | 696 | if (req->r_parent) |
696 | ceph_put_cap_refs(ceph_inode(req->r_parent), CEPH_CAP_PIN); | 697 | ceph_put_cap_refs(ceph_inode(req->r_parent), CEPH_CAP_PIN); |
697 | iput(req->r_target_inode); | 698 | ceph_async_iput(req->r_target_inode); |
698 | if (req->r_dentry) | 699 | if (req->r_dentry) |
699 | dput(req->r_dentry); | 700 | dput(req->r_dentry); |
700 | if (req->r_old_dentry) | 701 | if (req->r_old_dentry) |
@@ -708,7 +709,7 @@ void ceph_mdsc_release_request(struct kref *kref) | |||
708 | */ | 709 | */ |
709 | ceph_put_cap_refs(ceph_inode(req->r_old_dentry_dir), | 710 | ceph_put_cap_refs(ceph_inode(req->r_old_dentry_dir), |
710 | CEPH_CAP_PIN); | 711 | CEPH_CAP_PIN); |
711 | iput(req->r_old_dentry_dir); | 712 | ceph_async_iput(req->r_old_dentry_dir); |
712 | } | 713 | } |
713 | kfree(req->r_path1); | 714 | kfree(req->r_path1); |
714 | kfree(req->r_path2); | 715 | kfree(req->r_path2); |
@@ -818,7 +819,8 @@ static void __unregister_request(struct ceph_mds_client *mdsc, | |||
818 | } | 819 | } |
819 | 820 | ||
820 | if (req->r_unsafe_dir) { | 821 | if (req->r_unsafe_dir) { |
821 | iput(req->r_unsafe_dir); | 822 | /* avoid calling iput_final() in mds dispatch threads */ |
823 | ceph_async_iput(req->r_unsafe_dir); | ||
822 | req->r_unsafe_dir = NULL; | 824 | req->r_unsafe_dir = NULL; |
823 | } | 825 | } |
824 | 826 | ||
@@ -983,7 +985,7 @@ static int __choose_mds(struct ceph_mds_client *mdsc, | |||
983 | cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node); | 985 | cap = rb_entry(rb_first(&ci->i_caps), struct ceph_cap, ci_node); |
984 | if (!cap) { | 986 | if (!cap) { |
985 | spin_unlock(&ci->i_ceph_lock); | 987 | spin_unlock(&ci->i_ceph_lock); |
986 | iput(inode); | 988 | ceph_async_iput(inode); |
987 | goto random; | 989 | goto random; |
988 | } | 990 | } |
989 | mds = cap->session->s_mds; | 991 | mds = cap->session->s_mds; |
@@ -992,7 +994,9 @@ static int __choose_mds(struct ceph_mds_client *mdsc, | |||
992 | cap == ci->i_auth_cap ? "auth " : "", cap); | 994 | cap == ci->i_auth_cap ? "auth " : "", cap); |
993 | spin_unlock(&ci->i_ceph_lock); | 995 | spin_unlock(&ci->i_ceph_lock); |
994 | out: | 996 | out: |
995 | iput(inode); | 997 | /* avoid calling iput_final() while holding mdsc->mutex or |
998 | * in mds dispatch threads */ | ||
999 | ceph_async_iput(inode); | ||
996 | return mds; | 1000 | return mds; |
997 | 1001 | ||
998 | random: | 1002 | random: |
@@ -1302,7 +1306,9 @@ int ceph_iterate_session_caps(struct ceph_mds_session *session, | |||
1302 | spin_unlock(&session->s_cap_lock); | 1306 | spin_unlock(&session->s_cap_lock); |
1303 | 1307 | ||
1304 | if (last_inode) { | 1308 | if (last_inode) { |
1305 | iput(last_inode); | 1309 | /* avoid calling iput_final() while holding |
1310 | * s_mutex or in mds dispatch threads */ | ||
1311 | ceph_async_iput(last_inode); | ||
1306 | last_inode = NULL; | 1312 | last_inode = NULL; |
1307 | } | 1313 | } |
1308 | if (old_cap) { | 1314 | if (old_cap) { |
@@ -1335,7 +1341,7 @@ out: | |||
1335 | session->s_cap_iterator = NULL; | 1341 | session->s_cap_iterator = NULL; |
1336 | spin_unlock(&session->s_cap_lock); | 1342 | spin_unlock(&session->s_cap_lock); |
1337 | 1343 | ||
1338 | iput(last_inode); | 1344 | ceph_async_iput(last_inode); |
1339 | if (old_cap) | 1345 | if (old_cap) |
1340 | ceph_put_cap(session->s_mdsc, old_cap); | 1346 | ceph_put_cap(session->s_mdsc, old_cap); |
1341 | 1347 | ||
@@ -1471,7 +1477,8 @@ static void remove_session_caps(struct ceph_mds_session *session) | |||
1471 | spin_unlock(&session->s_cap_lock); | 1477 | spin_unlock(&session->s_cap_lock); |
1472 | 1478 | ||
1473 | inode = ceph_find_inode(sb, vino); | 1479 | inode = ceph_find_inode(sb, vino); |
1474 | iput(inode); | 1480 | /* avoid calling iput_final() while holding s_mutex */ |
1481 | ceph_async_iput(inode); | ||
1475 | 1482 | ||
1476 | spin_lock(&session->s_cap_lock); | 1483 | spin_lock(&session->s_cap_lock); |
1477 | } | 1484 | } |
@@ -2114,9 +2121,10 @@ retry: | |||
2114 | if (inode && ceph_snap(inode) == CEPH_SNAPDIR) { | 2121 | if (inode && ceph_snap(inode) == CEPH_SNAPDIR) { |
2115 | dout("build_path path+%d: %p SNAPDIR\n", | 2122 | dout("build_path path+%d: %p SNAPDIR\n", |
2116 | pos, temp); | 2123 | pos, temp); |
2117 | } else if (stop_on_nosnap && inode && | 2124 | } else if (stop_on_nosnap && inode && dentry != temp && |
2118 | ceph_snap(inode) == CEPH_NOSNAP) { | 2125 | ceph_snap(inode) == CEPH_NOSNAP) { |
2119 | spin_unlock(&temp->d_lock); | 2126 | spin_unlock(&temp->d_lock); |
2127 | pos++; /* get rid of any prepended '/' */ | ||
2120 | break; | 2128 | break; |
2121 | } else { | 2129 | } else { |
2122 | pos -= temp->d_name.len; | 2130 | pos -= temp->d_name.len; |
@@ -3912,8 +3920,9 @@ release: | |||
3912 | ceph_con_send(&session->s_con, msg); | 3920 | ceph_con_send(&session->s_con, msg); |
3913 | 3921 | ||
3914 | out: | 3922 | out: |
3915 | iput(inode); | ||
3916 | mutex_unlock(&session->s_mutex); | 3923 | mutex_unlock(&session->s_mutex); |
3924 | /* avoid calling iput_final() in mds dispatch threads */ | ||
3925 | ceph_async_iput(inode); | ||
3917 | return; | 3926 | return; |
3918 | 3927 | ||
3919 | bad: | 3928 | bad: |
diff --git a/fs/ceph/quota.c b/fs/ceph/quota.c index c4522212872c..d629fc857450 100644 --- a/fs/ceph/quota.c +++ b/fs/ceph/quota.c | |||
@@ -74,7 +74,8 @@ void ceph_handle_quota(struct ceph_mds_client *mdsc, | |||
74 | le64_to_cpu(h->max_files)); | 74 | le64_to_cpu(h->max_files)); |
75 | spin_unlock(&ci->i_ceph_lock); | 75 | spin_unlock(&ci->i_ceph_lock); |
76 | 76 | ||
77 | iput(inode); | 77 | /* avoid calling iput_final() in dispatch thread */ |
78 | ceph_async_iput(inode); | ||
78 | } | 79 | } |
79 | 80 | ||
80 | static struct ceph_quotarealm_inode * | 81 | static struct ceph_quotarealm_inode * |
@@ -235,7 +236,8 @@ restart: | |||
235 | 236 | ||
236 | ci = ceph_inode(in); | 237 | ci = ceph_inode(in); |
237 | has_quota = __ceph_has_any_quota(ci); | 238 | has_quota = __ceph_has_any_quota(ci); |
238 | iput(in); | 239 | /* avoid calling iput_final() while holding mdsc->snap_rwsem */ |
240 | ceph_async_iput(in); | ||
239 | 241 | ||
240 | next = realm->parent; | 242 | next = realm->parent; |
241 | if (has_quota || !next) | 243 | if (has_quota || !next) |
@@ -372,7 +374,8 @@ restart: | |||
372 | pr_warn("Invalid quota check op (%d)\n", op); | 374 | pr_warn("Invalid quota check op (%d)\n", op); |
373 | exceeded = true; /* Just break the loop */ | 375 | exceeded = true; /* Just break the loop */ |
374 | } | 376 | } |
375 | iput(in); | 377 | /* avoid calling iput_final() while holding mdsc->snap_rwsem */ |
378 | ceph_async_iput(in); | ||
376 | 379 | ||
377 | next = realm->parent; | 380 | next = realm->parent; |
378 | if (exceeded || !next) | 381 | if (exceeded || !next) |
diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c index b26e12cd8ec3..72c6c022f02b 100644 --- a/fs/ceph/snap.c +++ b/fs/ceph/snap.c | |||
@@ -648,13 +648,15 @@ static void queue_realm_cap_snaps(struct ceph_snap_realm *realm) | |||
648 | if (!inode) | 648 | if (!inode) |
649 | continue; | 649 | continue; |
650 | spin_unlock(&realm->inodes_with_caps_lock); | 650 | spin_unlock(&realm->inodes_with_caps_lock); |
651 | iput(lastinode); | 651 | /* avoid calling iput_final() while holding |
652 | * mdsc->snap_rwsem or in mds dispatch threads */ | ||
653 | ceph_async_iput(lastinode); | ||
652 | lastinode = inode; | 654 | lastinode = inode; |
653 | ceph_queue_cap_snap(ci); | 655 | ceph_queue_cap_snap(ci); |
654 | spin_lock(&realm->inodes_with_caps_lock); | 656 | spin_lock(&realm->inodes_with_caps_lock); |
655 | } | 657 | } |
656 | spin_unlock(&realm->inodes_with_caps_lock); | 658 | spin_unlock(&realm->inodes_with_caps_lock); |
657 | iput(lastinode); | 659 | ceph_async_iput(lastinode); |
658 | 660 | ||
659 | dout("queue_realm_cap_snaps %p %llx done\n", realm, realm->ino); | 661 | dout("queue_realm_cap_snaps %p %llx done\n", realm, realm->ino); |
660 | } | 662 | } |
@@ -806,7 +808,9 @@ static void flush_snaps(struct ceph_mds_client *mdsc) | |||
806 | ihold(inode); | 808 | ihold(inode); |
807 | spin_unlock(&mdsc->snap_flush_lock); | 809 | spin_unlock(&mdsc->snap_flush_lock); |
808 | ceph_flush_snaps(ci, &session); | 810 | ceph_flush_snaps(ci, &session); |
809 | iput(inode); | 811 | /* avoid calling iput_final() while holding |
812 | * session->s_mutex or in mds dispatch threads */ | ||
813 | ceph_async_iput(inode); | ||
810 | spin_lock(&mdsc->snap_flush_lock); | 814 | spin_lock(&mdsc->snap_flush_lock); |
811 | } | 815 | } |
812 | spin_unlock(&mdsc->snap_flush_lock); | 816 | spin_unlock(&mdsc->snap_flush_lock); |
@@ -950,12 +954,14 @@ void ceph_handle_snap(struct ceph_mds_client *mdsc, | |||
950 | ceph_get_snap_realm(mdsc, realm); | 954 | ceph_get_snap_realm(mdsc, realm); |
951 | ceph_put_snap_realm(mdsc, oldrealm); | 955 | ceph_put_snap_realm(mdsc, oldrealm); |
952 | 956 | ||
953 | iput(inode); | 957 | /* avoid calling iput_final() while holding |
958 | * mdsc->snap_rwsem or mds in dispatch threads */ | ||
959 | ceph_async_iput(inode); | ||
954 | continue; | 960 | continue; |
955 | 961 | ||
956 | skip_inode: | 962 | skip_inode: |
957 | spin_unlock(&ci->i_ceph_lock); | 963 | spin_unlock(&ci->i_ceph_lock); |
958 | iput(inode); | 964 | ceph_async_iput(inode); |
959 | } | 965 | } |
960 | 966 | ||
961 | /* we may have taken some of the old realm's children. */ | 967 | /* we may have taken some of the old realm's children. */ |
diff --git a/fs/ceph/super.c b/fs/ceph/super.c index c864b44c8341..d57fa60dcd43 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | 2 | ||
2 | #include <linux/ceph/ceph_debug.h> | 3 | #include <linux/ceph/ceph_debug.h> |
3 | 4 | ||
@@ -671,18 +672,12 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt, | |||
671 | * The number of concurrent works can be high but they don't need | 672 | * The number of concurrent works can be high but they don't need |
672 | * to be processed in parallel, limit concurrency. | 673 | * to be processed in parallel, limit concurrency. |
673 | */ | 674 | */ |
674 | fsc->wb_wq = alloc_workqueue("ceph-writeback", 0, 1); | 675 | fsc->inode_wq = alloc_workqueue("ceph-inode", WQ_UNBOUND, 0); |
675 | if (!fsc->wb_wq) | 676 | if (!fsc->inode_wq) |
676 | goto fail_client; | 677 | goto fail_client; |
677 | fsc->pg_inv_wq = alloc_workqueue("ceph-pg-invalid", 0, 1); | ||
678 | if (!fsc->pg_inv_wq) | ||
679 | goto fail_wb_wq; | ||
680 | fsc->trunc_wq = alloc_workqueue("ceph-trunc", 0, 1); | ||
681 | if (!fsc->trunc_wq) | ||
682 | goto fail_pg_inv_wq; | ||
683 | fsc->cap_wq = alloc_workqueue("ceph-cap", 0, 1); | 678 | fsc->cap_wq = alloc_workqueue("ceph-cap", 0, 1); |
684 | if (!fsc->cap_wq) | 679 | if (!fsc->cap_wq) |
685 | goto fail_trunc_wq; | 680 | goto fail_inode_wq; |
686 | 681 | ||
687 | /* set up mempools */ | 682 | /* set up mempools */ |
688 | err = -ENOMEM; | 683 | err = -ENOMEM; |
@@ -696,12 +691,8 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt, | |||
696 | 691 | ||
697 | fail_cap_wq: | 692 | fail_cap_wq: |
698 | destroy_workqueue(fsc->cap_wq); | 693 | destroy_workqueue(fsc->cap_wq); |
699 | fail_trunc_wq: | 694 | fail_inode_wq: |
700 | destroy_workqueue(fsc->trunc_wq); | 695 | destroy_workqueue(fsc->inode_wq); |
701 | fail_pg_inv_wq: | ||
702 | destroy_workqueue(fsc->pg_inv_wq); | ||
703 | fail_wb_wq: | ||
704 | destroy_workqueue(fsc->wb_wq); | ||
705 | fail_client: | 696 | fail_client: |
706 | ceph_destroy_client(fsc->client); | 697 | ceph_destroy_client(fsc->client); |
707 | fail: | 698 | fail: |
@@ -714,9 +705,7 @@ fail: | |||
714 | 705 | ||
715 | static void flush_fs_workqueues(struct ceph_fs_client *fsc) | 706 | static void flush_fs_workqueues(struct ceph_fs_client *fsc) |
716 | { | 707 | { |
717 | flush_workqueue(fsc->wb_wq); | 708 | flush_workqueue(fsc->inode_wq); |
718 | flush_workqueue(fsc->pg_inv_wq); | ||
719 | flush_workqueue(fsc->trunc_wq); | ||
720 | flush_workqueue(fsc->cap_wq); | 709 | flush_workqueue(fsc->cap_wq); |
721 | } | 710 | } |
722 | 711 | ||
@@ -724,9 +713,7 @@ static void destroy_fs_client(struct ceph_fs_client *fsc) | |||
724 | { | 713 | { |
725 | dout("destroy_fs_client %p\n", fsc); | 714 | dout("destroy_fs_client %p\n", fsc); |
726 | 715 | ||
727 | destroy_workqueue(fsc->wb_wq); | 716 | destroy_workqueue(fsc->inode_wq); |
728 | destroy_workqueue(fsc->pg_inv_wq); | ||
729 | destroy_workqueue(fsc->trunc_wq); | ||
730 | destroy_workqueue(fsc->cap_wq); | 717 | destroy_workqueue(fsc->cap_wq); |
731 | 718 | ||
732 | mempool_destroy(fsc->wb_pagevec_pool); | 719 | mempool_destroy(fsc->wb_pagevec_pool); |
diff --git a/fs/ceph/super.h b/fs/ceph/super.h index 6edab9a750f8..5f27e1f7f2d6 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h | |||
@@ -109,9 +109,7 @@ struct ceph_fs_client { | |||
109 | mempool_t *wb_pagevec_pool; | 109 | mempool_t *wb_pagevec_pool; |
110 | atomic_long_t writeback_count; | 110 | atomic_long_t writeback_count; |
111 | 111 | ||
112 | struct workqueue_struct *wb_wq; | 112 | struct workqueue_struct *inode_wq; |
113 | struct workqueue_struct *pg_inv_wq; | ||
114 | struct workqueue_struct *trunc_wq; | ||
115 | struct workqueue_struct *cap_wq; | 113 | struct workqueue_struct *cap_wq; |
116 | 114 | ||
117 | #ifdef CONFIG_DEBUG_FS | 115 | #ifdef CONFIG_DEBUG_FS |
@@ -387,10 +385,8 @@ struct ceph_inode_info { | |||
387 | struct list_head i_snap_realm_item; | 385 | struct list_head i_snap_realm_item; |
388 | struct list_head i_snap_flush_item; | 386 | struct list_head i_snap_flush_item; |
389 | 387 | ||
390 | struct work_struct i_wb_work; /* writeback work */ | 388 | struct work_struct i_work; |
391 | struct work_struct i_pg_inv_work; /* page invalidation work */ | 389 | unsigned long i_work_mask; |
392 | |||
393 | struct work_struct i_vmtruncate_work; | ||
394 | 390 | ||
395 | #ifdef CONFIG_CEPH_FSCACHE | 391 | #ifdef CONFIG_CEPH_FSCACHE |
396 | struct fscache_cookie *fscache; | 392 | struct fscache_cookie *fscache; |
@@ -513,6 +509,13 @@ static inline struct inode *ceph_find_inode(struct super_block *sb, | |||
513 | 509 | ||
514 | 510 | ||
515 | /* | 511 | /* |
512 | * Masks of ceph inode work. | ||
513 | */ | ||
514 | #define CEPH_I_WORK_WRITEBACK 0 /* writeback */ | ||
515 | #define CEPH_I_WORK_INVALIDATE_PAGES 1 /* invalidate pages */ | ||
516 | #define CEPH_I_WORK_VMTRUNCATE 2 /* vmtruncate */ | ||
517 | |||
518 | /* | ||
516 | * We set the ERROR_WRITE bit when we start seeing write errors on an inode | 519 | * We set the ERROR_WRITE bit when we start seeing write errors on an inode |
517 | * and then clear it when they start succeeding. Note that we do a lockless | 520 | * and then clear it when they start succeeding. Note that we do a lockless |
518 | * check first, and only take the lock if it looks like it needs to be changed. | 521 | * check first, and only take the lock if it looks like it needs to be changed. |
@@ -896,9 +899,9 @@ extern int ceph_inode_holds_cap(struct inode *inode, int mask); | |||
896 | extern bool ceph_inode_set_size(struct inode *inode, loff_t size); | 899 | extern bool ceph_inode_set_size(struct inode *inode, loff_t size); |
897 | extern void __ceph_do_pending_vmtruncate(struct inode *inode); | 900 | extern void __ceph_do_pending_vmtruncate(struct inode *inode); |
898 | extern void ceph_queue_vmtruncate(struct inode *inode); | 901 | extern void ceph_queue_vmtruncate(struct inode *inode); |
899 | |||
900 | extern void ceph_queue_invalidate(struct inode *inode); | 902 | extern void ceph_queue_invalidate(struct inode *inode); |
901 | extern void ceph_queue_writeback(struct inode *inode); | 903 | extern void ceph_queue_writeback(struct inode *inode); |
904 | extern void ceph_async_iput(struct inode *inode); | ||
902 | 905 | ||
903 | extern int __ceph_do_getattr(struct inode *inode, struct page *locked_page, | 906 | extern int __ceph_do_getattr(struct inode *inode, struct page *locked_page, |
904 | int mask, bool force); | 907 | int mask, bool force); |
diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig index 76724efc831c..aae2b8b2adf5 100644 --- a/fs/cifs/Kconfig +++ b/fs/cifs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config CIFS | 2 | config CIFS |
2 | tristate "SMB3 and CIFS support (advanced network filesystem)" | 3 | tristate "SMB3 and CIFS support (advanced network filesystem)" |
3 | depends on INET | 4 | depends on INET |
diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c index 3d19595eb352..689162e2e175 100644 --- a/fs/cifs/asn1.c +++ b/fs/cifs/asn1.c | |||
@@ -1,20 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * The ASB.1/BER parsing code is derived from ip_nat_snmp_basic.c which was in | 3 | * The ASB.1/BER parsing code is derived from ip_nat_snmp_basic.c which was in |
3 | * turn derived from the gxsnmp package by Gregory McLean & Jochen Friedrich | 4 | * turn derived from the gxsnmp package by Gregory McLean & Jochen Friedrich |
4 | * | 5 | * |
5 | * Copyright (c) 2000 RP Internet (www.rpi.net.au). | 6 | * Copyright (c) 2000 RP Internet (www.rpi.net.au). |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 7 | */ |
19 | 8 | ||
20 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c index 45e74da40f3a..ec933fb0b36e 100644 --- a/fs/cifs/cifs_debug.c +++ b/fs/cifs/cifs_debug.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/cifs_debug.c | 3 | * fs/cifs_debug.c |
3 | * | 4 | * |
4 | * Copyright (C) International Business Machines Corp., 2000,2005 | 5 | * Copyright (C) International Business Machines Corp., 2000,2005 |
5 | * | 6 | * |
6 | * Modified by Steve French (sfrench@us.ibm.com) | 7 | * Modified by Steve French (sfrench@us.ibm.com) |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
16 | * the GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 8 | */ |
22 | #include <linux/fs.h> | 9 | #include <linux/fs.h> |
23 | #include <linux/string.h> | 10 | #include <linux/string.h> |
diff --git a/fs/cifs/cifs_debug.h b/fs/cifs/cifs_debug.h index 631dc1bb21c1..3d392620a2f4 100644 --- a/fs/cifs/cifs_debug.h +++ b/fs/cifs/cifs_debug.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (c) International Business Machines Corp., 2000,2002 | 4 | * Copyright (c) International Business Machines Corp., 2000,2002 |
4 | * Modified by Steve French (sfrench@us.ibm.com) | 5 | * Modified by Steve French (sfrench@us.ibm.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
14 | * the GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | * | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef _H_CIFS_DEBUG | 8 | #ifndef _H_CIFS_DEBUG |
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c index 5d83c924cc47..41957b82d796 100644 --- a/fs/cifs/cifs_dfs_ref.c +++ b/fs/cifs/cifs_dfs_ref.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Contains the CIFS DFS referral mounting routines used for handling | 3 | * Contains the CIFS DFS referral mounting routines used for handling |
3 | * traversal via DFS junction point | 4 | * traversal via DFS junction point |
@@ -6,10 +7,6 @@ | |||
6 | * Copyright (C) International Business Machines Corp., 2008 | 7 | * Copyright (C) International Business Machines Corp., 2008 |
7 | * Author(s): Igor Mammedov (niallain@gmail.com) | 8 | * Author(s): Igor Mammedov (niallain@gmail.com) |
8 | * Steve French (sfrench@us.ibm.com) | 9 | * Steve French (sfrench@us.ibm.com) |
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version | ||
12 | * 2 of the License, or (at your option) any later version. | ||
13 | */ | 10 | */ |
14 | 11 | ||
15 | #include <linux/dcache.h> | 12 | #include <linux/dcache.h> |
diff --git a/fs/cifs/cifs_unicode.c b/fs/cifs/cifs_unicode.c index a2b2355e7f01..498777d859eb 100644 --- a/fs/cifs/cifs_unicode.c +++ b/fs/cifs/cifs_unicode.c | |||
@@ -1,22 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/cifs/cifs_unicode.c | 3 | * fs/cifs/cifs_unicode.c |
3 | * | 4 | * |
4 | * Copyright (c) International Business Machines Corp., 2000,2009 | 5 | * Copyright (c) International Business Machines Corp., 2000,2009 |
5 | * Modified by Steve French (sfrench@us.ibm.com) | 6 | * Modified by Steve French (sfrench@us.ibm.com) |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
15 | * the GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 7 | */ |
21 | #include <linux/fs.h> | 8 | #include <linux/fs.h> |
22 | #include <linux/slab.h> | 9 | #include <linux/slab.h> |
diff --git a/fs/cifs/cifs_unicode.h b/fs/cifs/cifs_unicode.h index 8360b74530a9..80b3d845419f 100644 --- a/fs/cifs/cifs_unicode.h +++ b/fs/cifs/cifs_unicode.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * cifs_unicode: Unicode kernel case support | 3 | * cifs_unicode: Unicode kernel case support |
3 | * | 4 | * |
@@ -7,28 +8,12 @@ | |||
7 | * | 8 | * |
8 | * Copyright (c) International Business Machines Corp., 2000,2009 | 9 | * Copyright (c) International Business Machines Corp., 2000,2009 |
9 | * | 10 | * |
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
18 | * the GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
23 | * | ||
24 | * | ||
25 | * Notes: | 11 | * Notes: |
26 | * These APIs are based on the C library functions. The semantics | 12 | * These APIs are based on the C library functions. The semantics |
27 | * should match the C functions but with expanded size operands. | 13 | * should match the C functions but with expanded size operands. |
28 | * | 14 | * |
29 | * The upper/lower functions are based on a table created by mkupr. | 15 | * The upper/lower functions are based on a table created by mkupr. |
30 | * This is a compressed table of upper and lower case conversion. | 16 | * This is a compressed table of upper and lower case conversion. |
31 | * | ||
32 | */ | 17 | */ |
33 | #ifndef _CIFS_UNICODE_H | 18 | #ifndef _CIFS_UNICODE_H |
34 | #define _CIFS_UNICODE_H | 19 | #define _CIFS_UNICODE_H |
diff --git a/fs/cifs/cifs_uniupr.h b/fs/cifs/cifs_uniupr.h index 0ac7c5a8633a..7b272fcdf0d3 100644 --- a/fs/cifs/cifs_uniupr.h +++ b/fs/cifs/cifs_uniupr.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (c) International Business Machines Corp., 2000,2002 | 3 | * Copyright (c) International Business Machines Corp., 2000,2002 |
3 | * | 4 | * |
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | * | ||
18 | * uniupr.h - Unicode compressed case ranges | 5 | * uniupr.h - Unicode compressed case ranges |
19 | * | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef UNIUPR_NOUPPER | 8 | #ifndef UNIUPR_NOUPPER |
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index f5fcd6360056..65d9771e49f9 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -303,6 +303,7 @@ cifs_alloc_inode(struct super_block *sb) | |||
303 | cifs_inode->uniqueid = 0; | 303 | cifs_inode->uniqueid = 0; |
304 | cifs_inode->createtime = 0; | 304 | cifs_inode->createtime = 0; |
305 | cifs_inode->epoch = 0; | 305 | cifs_inode->epoch = 0; |
306 | spin_lock_init(&cifs_inode->open_file_lock); | ||
306 | generate_random_uuid(cifs_inode->lease_key); | 307 | generate_random_uuid(cifs_inode->lease_key); |
307 | 308 | ||
308 | /* | 309 | /* |
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 334ff5f9c3f3..4777b3c4a92c 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -1377,6 +1377,7 @@ struct cifsInodeInfo { | |||
1377 | struct rw_semaphore lock_sem; /* protect the fields above */ | 1377 | struct rw_semaphore lock_sem; /* protect the fields above */ |
1378 | /* BB add in lists for dirty pages i.e. write caching info for oplock */ | 1378 | /* BB add in lists for dirty pages i.e. write caching info for oplock */ |
1379 | struct list_head openFileList; | 1379 | struct list_head openFileList; |
1380 | spinlock_t open_file_lock; /* protects openFileList */ | ||
1380 | __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ | 1381 | __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ |
1381 | unsigned int oplock; /* oplock/lease level we have */ | 1382 | unsigned int oplock; /* oplock/lease level we have */ |
1382 | unsigned int epoch; /* used to track lease state changes */ | 1383 | unsigned int epoch; /* used to track lease state changes */ |
@@ -1780,10 +1781,14 @@ require use of the stronger protocol */ | |||
1780 | * tcp_ses_lock protects: | 1781 | * tcp_ses_lock protects: |
1781 | * list operations on tcp and SMB session lists | 1782 | * list operations on tcp and SMB session lists |
1782 | * tcon->open_file_lock protects the list of open files hanging off the tcon | 1783 | * tcon->open_file_lock protects the list of open files hanging off the tcon |
1784 | * inode->open_file_lock protects the openFileList hanging off the inode | ||
1783 | * cfile->file_info_lock protects counters and fields in cifs file struct | 1785 | * cfile->file_info_lock protects counters and fields in cifs file struct |
1784 | * f_owner.lock protects certain per file struct operations | 1786 | * f_owner.lock protects certain per file struct operations |
1785 | * mapping->page_lock protects certain per page operations | 1787 | * mapping->page_lock protects certain per page operations |
1786 | * | 1788 | * |
1789 | * Note that the cifs_tcon.open_file_lock should be taken before | ||
1790 | * not after the cifsInodeInfo.open_file_lock | ||
1791 | * | ||
1787 | * Semaphores | 1792 | * Semaphores |
1788 | * ---------- | 1793 | * ---------- |
1789 | * sesSem operations on smb session | 1794 | * sesSem operations on smb session |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 8c4121da624e..8dd6637a3cbb 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -476,6 +476,7 @@ cifs_reconnect(struct TCP_Server_Info *server) | |||
476 | spin_lock(&GlobalMid_Lock); | 476 | spin_lock(&GlobalMid_Lock); |
477 | server->nr_targets = 1; | 477 | server->nr_targets = 1; |
478 | #ifdef CONFIG_CIFS_DFS_UPCALL | 478 | #ifdef CONFIG_CIFS_DFS_UPCALL |
479 | spin_unlock(&GlobalMid_Lock); | ||
479 | cifs_sb = find_super_by_tcp(server); | 480 | cifs_sb = find_super_by_tcp(server); |
480 | if (IS_ERR(cifs_sb)) { | 481 | if (IS_ERR(cifs_sb)) { |
481 | rc = PTR_ERR(cifs_sb); | 482 | rc = PTR_ERR(cifs_sb); |
@@ -493,6 +494,7 @@ cifs_reconnect(struct TCP_Server_Info *server) | |||
493 | } | 494 | } |
494 | cifs_dbg(FYI, "%s: will retry %d target(s)\n", __func__, | 495 | cifs_dbg(FYI, "%s: will retry %d target(s)\n", __func__, |
495 | server->nr_targets); | 496 | server->nr_targets); |
497 | spin_lock(&GlobalMid_Lock); | ||
496 | #endif | 498 | #endif |
497 | if (server->tcpStatus == CifsExiting) { | 499 | if (server->tcpStatus == CifsExiting) { |
498 | /* the demux thread will exit normally | 500 | /* the demux thread will exit normally |
diff --git a/fs/cifs/dfs_cache.c b/fs/cifs/dfs_cache.c index 85dc89d3a203..e3e1c13df439 100644 --- a/fs/cifs/dfs_cache.c +++ b/fs/cifs/dfs_cache.c | |||
@@ -132,7 +132,7 @@ static inline void flush_cache_ent(struct dfs_cache_entry *ce) | |||
132 | return; | 132 | return; |
133 | 133 | ||
134 | hlist_del_init_rcu(&ce->ce_hlist); | 134 | hlist_del_init_rcu(&ce->ce_hlist); |
135 | kfree(ce->ce_path); | 135 | kfree_const(ce->ce_path); |
136 | free_tgts(ce); | 136 | free_tgts(ce); |
137 | dfs_cache_count--; | 137 | dfs_cache_count--; |
138 | call_rcu(&ce->ce_rcu, free_cache_entry); | 138 | call_rcu(&ce->ce_rcu, free_cache_entry); |
@@ -422,7 +422,7 @@ alloc_cache_entry(const char *path, const struct dfs_info3_param *refs, | |||
422 | 422 | ||
423 | rc = copy_ref_data(refs, numrefs, ce, NULL); | 423 | rc = copy_ref_data(refs, numrefs, ce, NULL); |
424 | if (rc) { | 424 | if (rc) { |
425 | kfree(ce->ce_path); | 425 | kfree_const(ce->ce_path); |
426 | kmem_cache_free(dfs_cache_slab, ce); | 426 | kmem_cache_free(dfs_cache_slab, ce); |
427 | ce = ERR_PTR(rc); | 427 | ce = ERR_PTR(rc); |
428 | } | 428 | } |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index ce9a5be11df5..97090693d182 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -338,10 +338,12 @@ cifs_new_fileinfo(struct cifs_fid *fid, struct file *file, | |||
338 | atomic_inc(&tcon->num_local_opens); | 338 | atomic_inc(&tcon->num_local_opens); |
339 | 339 | ||
340 | /* if readable file instance put first in list*/ | 340 | /* if readable file instance put first in list*/ |
341 | spin_lock(&cinode->open_file_lock); | ||
341 | if (file->f_mode & FMODE_READ) | 342 | if (file->f_mode & FMODE_READ) |
342 | list_add(&cfile->flist, &cinode->openFileList); | 343 | list_add(&cfile->flist, &cinode->openFileList); |
343 | else | 344 | else |
344 | list_add_tail(&cfile->flist, &cinode->openFileList); | 345 | list_add_tail(&cfile->flist, &cinode->openFileList); |
346 | spin_unlock(&cinode->open_file_lock); | ||
345 | spin_unlock(&tcon->open_file_lock); | 347 | spin_unlock(&tcon->open_file_lock); |
346 | 348 | ||
347 | if (fid->purge_cache) | 349 | if (fid->purge_cache) |
@@ -413,7 +415,9 @@ void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, bool wait_oplock_handler) | |||
413 | cifs_add_pending_open_locked(&fid, cifs_file->tlink, &open); | 415 | cifs_add_pending_open_locked(&fid, cifs_file->tlink, &open); |
414 | 416 | ||
415 | /* remove it from the lists */ | 417 | /* remove it from the lists */ |
418 | spin_lock(&cifsi->open_file_lock); | ||
416 | list_del(&cifs_file->flist); | 419 | list_del(&cifs_file->flist); |
420 | spin_unlock(&cifsi->open_file_lock); | ||
417 | list_del(&cifs_file->tlist); | 421 | list_del(&cifs_file->tlist); |
418 | atomic_dec(&tcon->num_local_opens); | 422 | atomic_dec(&tcon->num_local_opens); |
419 | 423 | ||
@@ -1950,9 +1954,9 @@ refind_writable: | |||
1950 | return 0; | 1954 | return 0; |
1951 | } | 1955 | } |
1952 | 1956 | ||
1953 | spin_lock(&tcon->open_file_lock); | 1957 | spin_lock(&cifs_inode->open_file_lock); |
1954 | list_move_tail(&inv_file->flist, &cifs_inode->openFileList); | 1958 | list_move_tail(&inv_file->flist, &cifs_inode->openFileList); |
1955 | spin_unlock(&tcon->open_file_lock); | 1959 | spin_unlock(&cifs_inode->open_file_lock); |
1956 | cifsFileInfo_put(inv_file); | 1960 | cifsFileInfo_put(inv_file); |
1957 | ++refind; | 1961 | ++refind; |
1958 | inv_file = NULL; | 1962 | inv_file = NULL; |
@@ -3216,7 +3220,9 @@ cifs_read_allocate_pages(struct cifs_readdata *rdata, unsigned int nr_pages) | |||
3216 | } | 3220 | } |
3217 | 3221 | ||
3218 | if (rc) { | 3222 | if (rc) { |
3219 | for (i = 0; i < nr_pages; i++) { | 3223 | unsigned int nr_page_failed = i; |
3224 | |||
3225 | for (i = 0; i < nr_page_failed; i++) { | ||
3220 | put_page(rdata->pages[i]); | 3226 | put_page(rdata->pages[i]); |
3221 | rdata->pages[i] = NULL; | 3227 | rdata->pages[i] = NULL; |
3222 | } | 3228 | } |
diff --git a/fs/cifs/netmisc.c b/fs/cifs/netmisc.c index fdd908e4a26b..ed92958e842d 100644 --- a/fs/cifs/netmisc.c +++ b/fs/cifs/netmisc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/cifs/netmisc.c | 3 | * fs/cifs/netmisc.c |
3 | * | 4 | * |
@@ -6,20 +7,6 @@ | |||
6 | * | 7 | * |
7 | * Error mapping routines from Samba libsmb/errormap.c | 8 | * Error mapping routines from Samba libsmb/errormap.c |
8 | * Copyright (C) Andrew Tridgell 2001 | 9 | * Copyright (C) Andrew Tridgell 2001 |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
18 | * the GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
23 | */ | 10 | */ |
24 | 11 | ||
25 | #include <linux/net.h> | 12 | #include <linux/net.h> |
diff --git a/fs/cifs/nterr.c b/fs/cifs/nterr.c index b6023c646123..358a766375b4 100644 --- a/fs/cifs/nterr.c +++ b/fs/cifs/nterr.c | |||
@@ -1,22 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Unix SMB/Netbios implementation. | 3 | * Unix SMB/Netbios implementation. |
3 | * Version 1.9. | 4 | * Version 1.9. |
4 | * RPC Pipe client / server routines | 5 | * RPC Pipe client / server routines |
5 | * Copyright (C) Luke Kenneth Casson Leighton 1997-2001. | 6 | * Copyright (C) Luke Kenneth Casson Leighton 1997-2001. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
20 | */ | 7 | */ |
21 | 8 | ||
22 | /* NT error codes - see nterr.h */ | 9 | /* NT error codes - see nterr.h */ |
diff --git a/fs/cifs/nterr.h b/fs/cifs/nterr.h index 7a0eae5ae7c9..edd4741cab0a 100644 --- a/fs/cifs/nterr.h +++ b/fs/cifs/nterr.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | Unix SMB/Netbios implementation. | 3 | Unix SMB/Netbios implementation. |
3 | Version 1.9. | 4 | Version 1.9. |
@@ -7,19 +8,6 @@ | |||
7 | Copyright (C) Luke Kenneth Casson Leighton 1996-2000 | 8 | Copyright (C) Luke Kenneth Casson Leighton 1996-2000 |
8 | Copyright (C) Paul Ashton 1998-2000 | 9 | Copyright (C) Paul Ashton 1998-2000 |
9 | 10 | ||
10 | This program is free software; you can redistribute it and/or modify | ||
11 | it under the terms of the GNU General Public License as published by | ||
12 | the Free Software Foundation; either version 2 of the License, or | ||
13 | (at your option) any later version. | ||
14 | |||
15 | This program is distributed in the hope that it will be useful, | ||
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | GNU General Public License for more details. | ||
19 | |||
20 | You should have received a copy of the GNU General Public License | ||
21 | along with this program; if not, write to the Free Software | ||
22 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
23 | */ | 11 | */ |
24 | 12 | ||
25 | 13 | ||
diff --git a/fs/cifs/smb1ops.c b/fs/cifs/smb1ops.c index c4e75afa3258..9e430ae9314f 100644 --- a/fs/cifs/smb1ops.c +++ b/fs/cifs/smb1ops.c | |||
@@ -1,20 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * SMB1 (CIFS) version specific operations | 3 | * SMB1 (CIFS) version specific operations |
3 | * | 4 | * |
4 | * Copyright (c) 2012, Jeff Layton <jlayton@redhat.com> | 5 | * Copyright (c) 2012, Jeff Layton <jlayton@redhat.com> |
5 | * | ||
6 | * This library is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License v2 as published | ||
8 | * by the Free Software Foundation. | ||
9 | * | ||
10 | * This library is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU Lesser General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU Lesser General Public License | ||
16 | * along with this library; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 6 | */ |
19 | 7 | ||
20 | #include <linux/pagemap.h> | 8 | #include <linux/pagemap.h> |
diff --git a/fs/cifs/smb2maperror.c b/fs/cifs/smb2maperror.c index e32c264e3adb..82ade16c9501 100644 --- a/fs/cifs/smb2maperror.c +++ b/fs/cifs/smb2maperror.c | |||
@@ -457,7 +457,7 @@ static const struct status_to_posix_error smb2_error_map_table[] = { | |||
457 | {STATUS_FILE_INVALID, -EIO, "STATUS_FILE_INVALID"}, | 457 | {STATUS_FILE_INVALID, -EIO, "STATUS_FILE_INVALID"}, |
458 | {STATUS_ALLOTTED_SPACE_EXCEEDED, -EIO, | 458 | {STATUS_ALLOTTED_SPACE_EXCEEDED, -EIO, |
459 | "STATUS_ALLOTTED_SPACE_EXCEEDED"}, | 459 | "STATUS_ALLOTTED_SPACE_EXCEEDED"}, |
460 | {STATUS_INSUFFICIENT_RESOURCES, -EREMOTEIO, | 460 | {STATUS_INSUFFICIENT_RESOURCES, -EAGAIN, |
461 | "STATUS_INSUFFICIENT_RESOURCES"}, | 461 | "STATUS_INSUFFICIENT_RESOURCES"}, |
462 | {STATUS_DFS_EXIT_PATH_FOUND, -EIO, "STATUS_DFS_EXIT_PATH_FOUND"}, | 462 | {STATUS_DFS_EXIT_PATH_FOUND, -EIO, "STATUS_DFS_EXIT_PATH_FOUND"}, |
463 | {STATUS_DEVICE_DATA_ERROR, -EIO, "STATUS_DEVICE_DATA_ERROR"}, | 463 | {STATUS_DEVICE_DATA_ERROR, -EIO, "STATUS_DEVICE_DATA_ERROR"}, |
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c index e921e6511728..3fdc6a41b304 100644 --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c | |||
@@ -3,19 +3,6 @@ | |||
3 | * SMB2 version specific operations | 3 | * SMB2 version specific operations |
4 | * | 4 | * |
5 | * Copyright (c) 2012, Jeff Layton <jlayton@redhat.com> | 5 | * Copyright (c) 2012, Jeff Layton <jlayton@redhat.com> |
6 | * | ||
7 | * This library is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License v2 as published | ||
9 | * by the Free Software Foundation. | ||
10 | * | ||
11 | * This library is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
14 | * the GNU Lesser General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU Lesser General Public License | ||
17 | * along with this library; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | 6 | */ |
20 | 7 | ||
21 | #include <linux/pagemap.h> | 8 | #include <linux/pagemap.h> |
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index 710ceb875161..75311a8a68bf 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c | |||
@@ -1054,7 +1054,8 @@ int smb3_validate_negotiate(const unsigned int xid, struct cifs_tcon *tcon) | |||
1054 | * not supported error. Client should accept it. | 1054 | * not supported error. Client should accept it. |
1055 | */ | 1055 | */ |
1056 | cifs_dbg(VFS, "Server does not support validate negotiate\n"); | 1056 | cifs_dbg(VFS, "Server does not support validate negotiate\n"); |
1057 | return 0; | 1057 | rc = 0; |
1058 | goto out_free_inbuf; | ||
1058 | } else if (rc != 0) { | 1059 | } else if (rc != 0) { |
1059 | cifs_dbg(VFS, "validate protocol negotiate failed: %d\n", rc); | 1060 | cifs_dbg(VFS, "validate protocol negotiate failed: %d\n", rc); |
1060 | rc = -EIO; | 1061 | rc = -EIO; |
@@ -2619,10 +2620,12 @@ SMB2_ioctl_init(struct cifs_tcon *tcon, struct smb_rqst *rqst, | |||
2619 | void | 2620 | void |
2620 | SMB2_ioctl_free(struct smb_rqst *rqst) | 2621 | SMB2_ioctl_free(struct smb_rqst *rqst) |
2621 | { | 2622 | { |
2623 | int i; | ||
2622 | if (rqst && rqst->rq_iov) { | 2624 | if (rqst && rqst->rq_iov) { |
2623 | cifs_small_buf_release(rqst->rq_iov[0].iov_base); /* request */ | 2625 | cifs_small_buf_release(rqst->rq_iov[0].iov_base); /* request */ |
2624 | if (rqst->rq_iov[1].iov_len) | 2626 | for (i = 1; i < rqst->rq_nvec; i++) |
2625 | kfree(rqst->rq_iov[1].iov_base); | 2627 | if (rqst->rq_iov[i].iov_base != smb2_padding) |
2628 | kfree(rqst->rq_iov[i].iov_base); | ||
2626 | } | 2629 | } |
2627 | } | 2630 | } |
2628 | 2631 | ||
@@ -3111,9 +3114,14 @@ void smb2_reconnect_server(struct work_struct *work) | |||
3111 | tcon_exist = true; | 3114 | tcon_exist = true; |
3112 | } | 3115 | } |
3113 | } | 3116 | } |
3117 | /* | ||
3118 | * IPC has the same lifetime as its session and uses its | ||
3119 | * refcount. | ||
3120 | */ | ||
3114 | if (ses->tcon_ipc && ses->tcon_ipc->need_reconnect) { | 3121 | if (ses->tcon_ipc && ses->tcon_ipc->need_reconnect) { |
3115 | list_add_tail(&ses->tcon_ipc->rlist, &tmp_list); | 3122 | list_add_tail(&ses->tcon_ipc->rlist, &tmp_list); |
3116 | tcon_exist = true; | 3123 | tcon_exist = true; |
3124 | ses->ses_count++; | ||
3117 | } | 3125 | } |
3118 | } | 3126 | } |
3119 | /* | 3127 | /* |
@@ -3132,7 +3140,10 @@ void smb2_reconnect_server(struct work_struct *work) | |||
3132 | else | 3140 | else |
3133 | resched = true; | 3141 | resched = true; |
3134 | list_del_init(&tcon->rlist); | 3142 | list_del_init(&tcon->rlist); |
3135 | cifs_put_tcon(tcon); | 3143 | if (tcon->ipc) |
3144 | cifs_put_smb_ses(tcon->ses); | ||
3145 | else | ||
3146 | cifs_put_tcon(tcon); | ||
3136 | } | 3147 | } |
3137 | 3148 | ||
3138 | cifs_dbg(FYI, "Reconnecting tcons finished\n"); | 3149 | cifs_dbg(FYI, "Reconnecting tcons finished\n"); |
diff --git a/fs/cifs/smbdirect.c b/fs/cifs/smbdirect.c index caac37b1de8c..cd07e5301d42 100644 --- a/fs/cifs/smbdirect.c +++ b/fs/cifs/smbdirect.c | |||
@@ -1,17 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2017, Microsoft Corporation. | 3 | * Copyright (C) 2017, Microsoft Corporation. |
3 | * | 4 | * |
4 | * Author(s): Long Li <longli@microsoft.com> | 5 | * Author(s): Long Li <longli@microsoft.com> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
14 | * the GNU General Public License for more details. | ||
15 | */ | 6 | */ |
16 | #include <linux/module.h> | 7 | #include <linux/module.h> |
17 | #include <linux/highmem.h> | 8 | #include <linux/highmem.h> |
diff --git a/fs/cifs/smbdirect.h b/fs/cifs/smbdirect.h index f6241b8bce5f..6ff880a1e186 100644 --- a/fs/cifs/smbdirect.h +++ b/fs/cifs/smbdirect.h | |||
@@ -1,17 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2017, Microsoft Corporation. | 3 | * Copyright (C) 2017, Microsoft Corporation. |
3 | * | 4 | * |
4 | * Author(s): Long Li <longli@microsoft.com> | 5 | * Author(s): Long Li <longli@microsoft.com> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
14 | * the GNU General Public License for more details. | ||
15 | */ | 6 | */ |
16 | #ifndef _SMBDIRECT_H | 7 | #ifndef _SMBDIRECT_H |
17 | #define _SMBDIRECT_H | 8 | #define _SMBDIRECT_H |
diff --git a/fs/cifs/smbencrypt.c b/fs/cifs/smbencrypt.c index a0b80ac651a6..2b6d87bfdf8e 100644 --- a/fs/cifs/smbencrypt.c +++ b/fs/cifs/smbencrypt.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | Unix SMB/Netbios implementation. | 3 | Unix SMB/Netbios implementation. |
3 | Version 1.9. | 4 | Version 1.9. |
@@ -8,19 +9,6 @@ | |||
8 | Copyright (C) Andrew Bartlett <abartlet@samba.org> 2002-2003 | 9 | Copyright (C) Andrew Bartlett <abartlet@samba.org> 2002-2003 |
9 | Modified by Steve French (sfrench@us.ibm.com) 2002-2003 | 10 | Modified by Steve French (sfrench@us.ibm.com) 2002-2003 |
10 | 11 | ||
11 | This program is free software; you can redistribute it and/or modify | ||
12 | it under the terms of the GNU General Public License as published by | ||
13 | the Free Software Foundation; either version 2 of the License, or | ||
14 | (at your option) any later version. | ||
15 | |||
16 | This program is distributed in the hope that it will be useful, | ||
17 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | GNU General Public License for more details. | ||
20 | |||
21 | You should have received a copy of the GNU General Public License | ||
22 | along with this program; if not, write to the Free Software | ||
23 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
24 | */ | 12 | */ |
25 | 13 | ||
26 | #include <linux/crypto.h> | 14 | #include <linux/crypto.h> |
diff --git a/fs/cifs/winucase.c b/fs/cifs/winucase.c index 1506d4fddb2c..1a23a1d2ebf9 100644 --- a/fs/cifs/winucase.c +++ b/fs/cifs/winucase.c | |||
@@ -1,22 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/cifs/winucase.c | 3 | * fs/cifs/winucase.c |
3 | * | 4 | * |
4 | * Copyright (c) Jeffrey Layton <jlayton@redhat.com>, 2013 | 5 | * Copyright (c) Jeffrey Layton <jlayton@redhat.com>, 2013 |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
14 | * the GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | * | ||
20 | * The const tables in this file were converted from the following info | 7 | * The const tables in this file were converted from the following info |
21 | * provided by Microsoft: | 8 | * provided by Microsoft: |
22 | * | 9 | * |
diff --git a/fs/coda/Kconfig b/fs/coda/Kconfig index c0e5a7fad06d..ae6759f9594a 100644 --- a/fs/coda/Kconfig +++ b/fs/coda/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config CODA_FS | 2 | config CODA_FS |
2 | tristate "Coda file system support (advanced network fs)" | 3 | tristate "Coda file system support (advanced network fs)" |
3 | depends on INET | 4 | depends on INET |
diff --git a/fs/coda/Makefile b/fs/coda/Makefile index 1bab69a0d347..1ce66819da2a 100644 --- a/fs/coda/Makefile +++ b/fs/coda/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux Coda filesystem routines. | 3 | # Makefile for the Linux Coda filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/coda/psdev.c b/fs/coda/psdev.c index f2bb7985d21c..0ceef32e6fae 100644 --- a/fs/coda/psdev.c +++ b/fs/coda/psdev.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * An implementation of a loadable kernel mode driver providing | 3 | * An implementation of a loadable kernel mode driver providing |
3 | * multiple kernel/user space bidirectional communications links. | 4 | * multiple kernel/user space bidirectional communications links. |
4 | * | 5 | * |
5 | * Author: Alan Cox <alan@lxorguk.ukuu.org.uk> | 6 | * Author: Alan Cox <alan@lxorguk.ukuu.org.uk> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the License, or (at your option) any later version. | ||
11 | * | 7 | * |
12 | * Adapted to become the Linux 2.0 Coda pseudo device | 8 | * Adapted to become the Linux 2.0 Coda pseudo device |
13 | * Peter Braam <braam@maths.ox.ac.uk> | 9 | * Peter Braam <braam@maths.ox.ac.uk> |
diff --git a/fs/compat.c b/fs/compat.c index 4a0aaaf53217..436d228cf71c 100644 --- a/fs/compat.c +++ b/fs/compat.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/compat.c | 3 | * linux/fs/compat.c |
3 | * | 4 | * |
@@ -9,10 +10,6 @@ | |||
9 | * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be) | 10 | * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be) |
10 | * Copyright (C) 2001,2002 Andi Kleen, SuSE Labs | 11 | * Copyright (C) 2001,2002 Andi Kleen, SuSE Labs |
11 | * Copyright (C) 2003 Pavel Machek (pavel@ucw.cz) | 12 | * Copyright (C) 2003 Pavel Machek (pavel@ucw.cz) |
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License version 2 as | ||
15 | * published by the Free Software Foundation. | ||
16 | */ | 13 | */ |
17 | 14 | ||
18 | #include <linux/compat.h> | 15 | #include <linux/compat.h> |
diff --git a/fs/compat_binfmt_elf.c b/fs/compat_binfmt_elf.c index 15f6e96b3bd9..b7f9ffa1d5f1 100644 --- a/fs/compat_binfmt_elf.c +++ b/fs/compat_binfmt_elf.c | |||
@@ -1,12 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * 32-bit compatibility support for ELF format executables and core dumps. | 3 | * 32-bit compatibility support for ELF format executables and core dumps. |
3 | * | 4 | * |
4 | * Copyright (C) 2007 Red Hat, Inc. All rights reserved. | 5 | * Copyright (C) 2007 Red Hat, Inc. All rights reserved. |
5 | * | 6 | * |
6 | * This copyrighted material is made available to anyone wishing to use, | ||
7 | * modify, copy, or redistribute it subject to the terms and conditions | ||
8 | * of the GNU General Public License v.2. | ||
9 | * | ||
10 | * Red Hat Author: Roland McGrath. | 7 | * Red Hat Author: Roland McGrath. |
11 | * | 8 | * |
12 | * This file is used in a 64-bit kernel that wants to support 32-bit ELF. | 9 | * This file is used in a 64-bit kernel that wants to support 32-bit ELF. |
diff --git a/fs/configfs/Kconfig b/fs/configfs/Kconfig index 9febcdefdfdc..272b64456999 100644 --- a/fs/configfs/Kconfig +++ b/fs/configfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config CONFIGFS_FS | 2 | config CONFIGFS_FS |
2 | tristate "Userspace-driven configuration filesystem" | 3 | tristate "Userspace-driven configuration filesystem" |
3 | select SYSFS | 4 | select SYSFS |
diff --git a/fs/configfs/Makefile b/fs/configfs/Makefile index 00ffb278e98c..0200498ede27 100644 --- a/fs/configfs/Makefile +++ b/fs/configfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the configfs virtual filesystem | 3 | # Makefile for the configfs virtual filesystem |
3 | # | 4 | # |
diff --git a/fs/configfs/configfs_internal.h b/fs/configfs/configfs_internal.h index ccc31fa6f1a7..f752d83a9c44 100644 --- a/fs/configfs/configfs_internal.h +++ b/fs/configfs/configfs_internal.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset:8; -*- | 2 | /* -*- mode: c; c-basic-offset:8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * configfs_internal.h - Internal stuff for configfs | 5 | * configfs_internal.h - Internal stuff for configfs |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on sysfs: | 7 | * Based on sysfs: |
22 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel | 8 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel |
23 | * | 9 | * |
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 5e7932d668ab..d2ca5287762d 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * dir.c - Operations for configfs directories. | 5 | * dir.c - Operations for configfs directories. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on sysfs: | 7 | * Based on sysfs: |
22 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel | 8 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel |
23 | * | 9 | * |
@@ -58,15 +44,13 @@ static void configfs_d_iput(struct dentry * dentry, | |||
58 | if (sd) { | 44 | if (sd) { |
59 | /* Coordinate with configfs_readdir */ | 45 | /* Coordinate with configfs_readdir */ |
60 | spin_lock(&configfs_dirent_lock); | 46 | spin_lock(&configfs_dirent_lock); |
61 | /* Coordinate with configfs_attach_attr where will increase | 47 | /* |
62 | * sd->s_count and update sd->s_dentry to new allocated one. | 48 | * Set sd->s_dentry to null only when this dentry is the one |
63 | * Only set sd->dentry to null when this dentry is the only | 49 | * that is going to be killed. Otherwise configfs_d_iput may |
64 | * sd owner. | 50 | * run just after configfs_attach_attr and set sd->s_dentry to |
65 | * If not do so, configfs_d_iput may run just after | 51 | * NULL even it's still in use. |
66 | * configfs_attach_attr and set sd->s_dentry to null | ||
67 | * even it's still in use. | ||
68 | */ | 52 | */ |
69 | if (atomic_read(&sd->s_count) <= 2) | 53 | if (sd->s_dentry == dentry) |
70 | sd->s_dentry = NULL; | 54 | sd->s_dentry = NULL; |
71 | 55 | ||
72 | spin_unlock(&configfs_dirent_lock); | 56 | spin_unlock(&configfs_dirent_lock); |
diff --git a/fs/configfs/file.c b/fs/configfs/file.c index 62580dba3552..61e4db4390a1 100644 --- a/fs/configfs/file.c +++ b/fs/configfs/file.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * file.c - operations for regular (text) files. | 5 | * file.c - operations for regular (text) files. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on sysfs: | 7 | * Based on sysfs: |
22 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel | 8 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel |
23 | * | 9 | * |
diff --git a/fs/configfs/inode.c b/fs/configfs/inode.c index 28ef9e528853..ab0284321912 100644 --- a/fs/configfs/inode.c +++ b/fs/configfs/inode.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * inode.c - basic inode and dentry operations. | 5 | * inode.c - basic inode and dentry operations. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on sysfs: | 7 | * Based on sysfs: |
22 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel | 8 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel |
23 | * | 9 | * |
diff --git a/fs/configfs/item.c b/fs/configfs/item.c index 99d491cd01f9..6e0f1fcb8a5b 100644 --- a/fs/configfs/item.c +++ b/fs/configfs/item.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * item.c - library routines for handling generic config items | 5 | * item.c - library routines for handling generic config items |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on kobject: | 7 | * Based on kobject: |
22 | * kobject is Copyright (c) 2002-2003 Patrick Mochel | 8 | * kobject is Copyright (c) 2002-2003 Patrick Mochel |
23 | * | 9 | * |
diff --git a/fs/configfs/mount.c b/fs/configfs/mount.c index cfd91320e869..791304fdde9d 100644 --- a/fs/configfs/mount.c +++ b/fs/configfs/mount.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * mount.c - operations for initializing and mounting configfs. | 5 | * mount.c - operations for initializing and mounting configfs. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on sysfs: | 7 | * Based on sysfs: |
22 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel | 8 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel |
23 | * | 9 | * |
diff --git a/fs/configfs/symlink.c b/fs/configfs/symlink.c index a5c54af861f7..91eac6c55e07 100644 --- a/fs/configfs/symlink.c +++ b/fs/configfs/symlink.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * symlink.c - operations for configfs symlinks. | 5 | * symlink.c - operations for configfs symlinks. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | * Based on sysfs: | 7 | * Based on sysfs: |
22 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel | 8 | * sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel |
23 | * | 9 | * |
diff --git a/fs/cramfs/Kconfig b/fs/cramfs/Kconfig index 5933f995309a..c8bebb70a971 100644 --- a/fs/cramfs/Kconfig +++ b/fs/cramfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config CRAMFS | 2 | config CRAMFS |
2 | tristate "Compressed ROM file system support (cramfs)" | 3 | tristate "Compressed ROM file system support (cramfs)" |
3 | select ZLIB_INFLATE | 4 | select ZLIB_INFLATE |
diff --git a/fs/cramfs/Makefile b/fs/cramfs/Makefile index 92ebb464a725..8c3ed2982419 100644 --- a/fs/cramfs/Makefile +++ b/fs/cramfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux cramfs routines. | 3 | # Makefile for the linux cramfs routines. |
3 | # | 4 | # |
diff --git a/fs/crypto/Kconfig b/fs/crypto/Kconfig index f0de238000c0..24ed99e2eca0 100644 --- a/fs/crypto/Kconfig +++ b/fs/crypto/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config FS_ENCRYPTION | 2 | config FS_ENCRYPTION |
2 | bool "FS Encryption (Per-file encryption)" | 3 | bool "FS Encryption (Per-file encryption)" |
3 | select CRYPTO | 4 | select CRYPTO |
diff --git a/fs/crypto/Makefile b/fs/crypto/Makefile index cb496989a6b6..4f0df5e682e4 100644 --- a/fs/crypto/Makefile +++ b/fs/crypto/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | obj-$(CONFIG_FS_ENCRYPTION) += fscrypto.o | 2 | obj-$(CONFIG_FS_ENCRYPTION) += fscrypto.o |
2 | 3 | ||
3 | fscrypto-y := crypto.o fname.o hooks.o keyinfo.o policy.o | 4 | fscrypto-y := crypto.o fname.o hooks.o keyinfo.o policy.o |
diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c index 68e2ca4c4af6..335a362ee446 100644 --- a/fs/crypto/crypto.c +++ b/fs/crypto/crypto.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This contains encryption functions for per-file encryption. | 3 | * This contains encryption functions for per-file encryption. |
3 | * | 4 | * |
diff --git a/fs/crypto/hooks.c b/fs/crypto/hooks.c index 2dc22549d724..bd525f7573a4 100644 --- a/fs/crypto/hooks.c +++ b/fs/crypto/hooks.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/crypto/hooks.c | 3 | * fs/crypto/hooks.c |
3 | * | 4 | * |
@@ -1,17 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/dax.c - Direct Access filesystem code | 3 | * fs/dax.c - Direct Access filesystem code |
3 | * Copyright (c) 2013-2014 Intel Corporation | 4 | * Copyright (c) 2013-2014 Intel Corporation |
4 | * Author: Matthew Wilcox <matthew.r.wilcox@intel.com> | 5 | * Author: Matthew Wilcox <matthew.r.wilcox@intel.com> |
5 | * Author: Ross Zwisler <ross.zwisler@linux.intel.com> | 6 | * Author: Ross Zwisler <ross.zwisler@linux.intel.com> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms and conditions of the GNU General Public License, | ||
9 | * version 2, as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | */ | 7 | */ |
16 | 8 | ||
17 | #include <linux/atomic.h> | 9 | #include <linux/atomic.h> |
diff --git a/fs/dcache.c b/fs/dcache.c index 8136bda27a1f..c435398f2c81 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/dcache.c | 3 | * fs/dcache.c |
3 | * | 4 | * |
diff --git a/fs/dcookies.c b/fs/dcookies.c index 57bc96435feb..6eeb61100a09 100644 --- a/fs/dcookies.c +++ b/fs/dcookies.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * dcookies.c | 3 | * dcookies.c |
3 | * | 4 | * |
diff --git a/fs/debugfs/Makefile b/fs/debugfs/Makefile index 840c45696668..9c0fe38cfb5e 100644 --- a/fs/debugfs/Makefile +++ b/fs/debugfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | debugfs-objs := inode.o file.o | 2 | debugfs-objs := inode.o file.o |
2 | 3 | ||
3 | obj-$(CONFIG_DEBUG_FS) += debugfs.o | 4 | obj-$(CONFIG_DEBUG_FS) += debugfs.o |
diff --git a/fs/devpts/Makefile b/fs/devpts/Makefile index 236696efcbac..66064c8fcb3e 100644 --- a/fs/devpts/Makefile +++ b/fs/devpts/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux /dev/pts virtual filesystem. | 3 | # Makefile for the Linux /dev/pts virtual filesystem. |
3 | # | 4 | # |
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c index 553a3f3300ae..2c14ae044dce 100644 --- a/fs/devpts/inode.c +++ b/fs/devpts/inode.c | |||
@@ -1,13 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- linux-c -*- --------------------------------------------------------- * | 2 | /* -*- linux-c -*- --------------------------------------------------------- * |
2 | * | 3 | * |
3 | * linux/fs/devpts/inode.c | 4 | * linux/fs/devpts/inode.c |
4 | * | 5 | * |
5 | * Copyright 1998-2004 H. Peter Anvin -- All Rights Reserved | 6 | * Copyright 1998-2004 H. Peter Anvin -- All Rights Reserved |
6 | * | 7 | * |
7 | * This file is part of the Linux kernel and is made available under | ||
8 | * the terms of the GNU General Public License, version 2, or at your | ||
9 | * option, any later version, incorporated herein by reference. | ||
10 | * | ||
11 | * ------------------------------------------------------------------------- */ | 8 | * ------------------------------------------------------------------------- */ |
12 | 9 | ||
13 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/direct-io.c b/fs/direct-io.c index fbe885d68035..ac7fb19b6ade 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/direct-io.c | 3 | * fs/direct-io.c |
3 | * | 4 | * |
diff --git a/fs/dlm/Kconfig b/fs/dlm/Kconfig index e4242c3f8486..f82a4952769d 100644 --- a/fs/dlm/Kconfig +++ b/fs/dlm/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | menuconfig DLM | 2 | menuconfig DLM |
2 | tristate "Distributed Lock Manager (DLM)" | 3 | tristate "Distributed Lock Manager (DLM)" |
3 | depends on INET | 4 | depends on INET |
diff --git a/fs/dlm/ast.c b/fs/dlm/ast.c index 47ee66d70109..283c7b94edda 100644 --- a/fs/dlm/ast.c +++ b/fs/dlm/ast.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2010 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2010 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/ast.h b/fs/dlm/ast.h index 757b551c6820..181ad7d20c4d 100644 --- a/fs/dlm/ast.h +++ b/fs/dlm/ast.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2010 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2010 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/config.c b/fs/dlm/config.c index 1270551d24e3..3b21082e1b55 100644 --- a/fs/dlm/config.c +++ b/fs/dlm/config.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/config.h b/fs/dlm/config.h index 6041eec886ab..2b471aae4e61 100644 --- a/fs/dlm/config.h +++ b/fs/dlm/config.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/debug_fs.c b/fs/dlm/debug_fs.c index fa08448e35dd..0e941d42e3e9 100644 --- a/fs/dlm/debug_fs.c +++ b/fs/dlm/debug_fs.c | |||
@@ -1,11 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2009 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2009 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/dir.c b/fs/dlm/dir.c index d975851a7e1e..10c36ae1a8f9 100644 --- a/fs/dlm/dir.c +++ b/fs/dlm/dir.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/dir.h b/fs/dlm/dir.h index 417506344456..03844d086be2 100644 --- a/fs/dlm/dir.h +++ b/fs/dlm/dir.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h index 748e8d59e611..da1173a0b274 100644 --- a/fs/dlm/dlm_internal.h +++ b/fs/dlm/dlm_internal.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index a928ba008d7d..18d81599522f 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
@@ -1,11 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2010 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2010 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/lock.h b/fs/dlm/lock.h index ed8ebd3a8593..456c6ec3ef6f 100644 --- a/fs/dlm/lock.h +++ b/fs/dlm/lock.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c index db43b98c4d64..4c2c85a223ac 100644 --- a/fs/dlm/lockspace.c +++ b/fs/dlm/lockspace.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/lockspace.h b/fs/dlm/lockspace.h index f879f87901f8..a78d853b9342 100644 --- a/fs/dlm/lockspace.h +++ b/fs/dlm/lockspace.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index c98ad9777ad9..114ebfe30929 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/lowcomms.h b/fs/dlm/lowcomms.h index 67462e54fc2f..687b2894e469 100644 --- a/fs/dlm/lowcomms.h +++ b/fs/dlm/lowcomms.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/lvb_table.h b/fs/dlm/lvb_table.h index cc3e92f3feef..09052d967174 100644 --- a/fs/dlm/lvb_table.h +++ b/fs/dlm/lvb_table.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/main.c b/fs/dlm/main.c index 8e1b618891be..39579927ed84 100644 --- a/fs/dlm/main.c +++ b/fs/dlm/main.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/member.c b/fs/dlm/member.c index 0bc43b35d2c5..7ad83deb4505 100644 --- a/fs/dlm/member.c +++ b/fs/dlm/member.c | |||
@@ -1,11 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2011 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2011 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/member.h b/fs/dlm/member.h index 3deb70661c69..433b2fac9f4a 100644 --- a/fs/dlm/member.h +++ b/fs/dlm/member.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2011 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2011 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/memory.c b/fs/dlm/memory.c index 37be29f21d04..5918f4d39586 100644 --- a/fs/dlm/memory.c +++ b/fs/dlm/memory.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/memory.h b/fs/dlm/memory.h index 177c11cbb0a6..4f218ea4b187 100644 --- a/fs/dlm/memory.h +++ b/fs/dlm/memory.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c index f3396c622aec..921322d133e3 100644 --- a/fs/dlm/midcomms.c +++ b/fs/dlm/midcomms.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/midcomms.h b/fs/dlm/midcomms.h index 95852a5f111d..2e122e81c8d0 100644 --- a/fs/dlm/midcomms.h +++ b/fs/dlm/midcomms.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/netlink.c b/fs/dlm/netlink.c index d8e27defa89f..e7f550327d5d 100644 --- a/fs/dlm/netlink.c +++ b/fs/dlm/netlink.c | |||
@@ -1,9 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2007 Red Hat, Inc. All rights reserved. | 3 | * Copyright (C) 2007 Red Hat, Inc. All rights reserved. |
3 | * | ||
4 | * This copyrighted material is made available to anyone wishing to use, | ||
5 | * modify, copy, or redistribute it subject to the terms and conditions | ||
6 | * of the GNU General Public License v.2. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #include <net/genetlink.h> | 6 | #include <net/genetlink.h> |
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index c7d5a2ea3d03..c38b2b8ffd1d 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c | |||
@@ -1,9 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. | 3 | * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. |
3 | * | ||
4 | * This copyrighted material is made available to anyone wishing to use, | ||
5 | * modify, copy, or redistribute it subject to the terms and conditions | ||
6 | * of the GNU General Public License version 2. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/dlm/rcom.c b/fs/dlm/rcom.c index 70c625999d36..e3d9f72c640d 100644 --- a/fs/dlm/rcom.c +++ b/fs/dlm/rcom.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/rcom.h b/fs/dlm/rcom.h index 206723ab744d..454d3c4814ab 100644 --- a/fs/dlm/rcom.h +++ b/fs/dlm/rcom.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/recover.c b/fs/dlm/recover.c index ce2aa54ca2e2..8928e99dfd47 100644 --- a/fs/dlm/recover.c +++ b/fs/dlm/recover.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/recover.h b/fs/dlm/recover.h index d8c8738c70eb..235e0d25cd48 100644 --- a/fs/dlm/recover.h +++ b/fs/dlm/recover.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/recoverd.c b/fs/dlm/recoverd.c index 6f4e1d42d733..85e245392715 100644 --- a/fs/dlm/recoverd.c +++ b/fs/dlm/recoverd.c | |||
@@ -1,12 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/recoverd.h b/fs/dlm/recoverd.h index 8856079733fa..d1944dc5f9e6 100644 --- a/fs/dlm/recoverd.h +++ b/fs/dlm/recoverd.h | |||
@@ -1,12 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
5 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. | 6 | ** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. |
6 | ** | 7 | ** |
7 | ** This copyrighted material is made available to anyone wishing to use, | ||
8 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
9 | ** of the GNU General Public License v.2. | ||
10 | ** | 8 | ** |
11 | ******************************************************************************* | 9 | ******************************************************************************* |
12 | ******************************************************************************/ | 10 | ******************************************************************************/ |
diff --git a/fs/dlm/requestqueue.c b/fs/dlm/requestqueue.c index 1695f1b0dd45..e89e0ff8bfa3 100644 --- a/fs/dlm/requestqueue.c +++ b/fs/dlm/requestqueue.c | |||
@@ -1,11 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/requestqueue.h b/fs/dlm/requestqueue.h index 10ce449b77da..4e403469a845 100644 --- a/fs/dlm/requestqueue.h +++ b/fs/dlm/requestqueue.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/user.c b/fs/dlm/user.c index 3c84c62dadb7..5264bac75115 100644 --- a/fs/dlm/user.c +++ b/fs/dlm/user.c | |||
@@ -1,9 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2006-2010 Red Hat, Inc. All rights reserved. | 3 | * Copyright (C) 2006-2010 Red Hat, Inc. All rights reserved. |
3 | * | ||
4 | * This copyrighted material is made available to anyone wishing to use, | ||
5 | * modify, copy, or redistribute it subject to the terms and conditions | ||
6 | * of the GNU General Public License v.2. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #include <linux/miscdevice.h> | 6 | #include <linux/miscdevice.h> |
diff --git a/fs/dlm/user.h b/fs/dlm/user.h index 00499ab8835f..6b9bce6b96e0 100644 --- a/fs/dlm/user.h +++ b/fs/dlm/user.h | |||
@@ -1,9 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2006-2010 Red Hat, Inc. All rights reserved. | 3 | * Copyright (C) 2006-2010 Red Hat, Inc. All rights reserved. |
3 | * | ||
4 | * This copyrighted material is made available to anyone wishing to use, | ||
5 | * modify, copy, or redistribute it subject to the terms and conditions | ||
6 | * of the GNU General Public License v.2. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #ifndef __USER_DOT_H__ | 6 | #ifndef __USER_DOT_H__ |
diff --git a/fs/dlm/util.c b/fs/dlm/util.c index e36520af7cc0..cfd0d00b19ae 100644 --- a/fs/dlm/util.c +++ b/fs/dlm/util.c | |||
@@ -1,11 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/dlm/util.h b/fs/dlm/util.h index 2b25915161c0..cc719ca9397e 100644 --- a/fs/dlm/util.h +++ b/fs/dlm/util.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /****************************************************************************** | 2 | /****************************************************************************** |
2 | ******************************************************************************* | 3 | ******************************************************************************* |
3 | ** | 4 | ** |
4 | ** Copyright (C) 2005 Red Hat, Inc. All rights reserved. | 5 | ** Copyright (C) 2005 Red Hat, Inc. All rights reserved. |
5 | ** | 6 | ** |
6 | ** This copyrighted material is made available to anyone wishing to use, | ||
7 | ** modify, copy, or redistribute it subject to the terms and conditions | ||
8 | ** of the GNU General Public License v.2. | ||
9 | ** | 7 | ** |
10 | ******************************************************************************* | 8 | ******************************************************************************* |
11 | ******************************************************************************/ | 9 | ******************************************************************************/ |
diff --git a/fs/ecryptfs/Kconfig b/fs/ecryptfs/Kconfig index 434aa313f077..522c35d5292b 100644 --- a/fs/ecryptfs/Kconfig +++ b/fs/ecryptfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config ECRYPT_FS | 2 | config ECRYPT_FS |
2 | tristate "eCrypt filesystem layer support" | 3 | tristate "eCrypt filesystem layer support" |
3 | depends on KEYS && CRYPTO && (ENCRYPTED_KEYS || ENCRYPTED_KEYS=n) | 4 | depends on KEYS && CRYPTO && (ENCRYPTED_KEYS || ENCRYPTED_KEYS=n) |
diff --git a/fs/ecryptfs/Makefile b/fs/ecryptfs/Makefile index 49678a69947d..4f2cc5b2542d 100644 --- a/fs/ecryptfs/Makefile +++ b/fs/ecryptfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux eCryptfs | 3 | # Makefile for the Linux eCryptfs |
3 | # | 4 | # |
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 491cf5baa8c2..91d65f337d87 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Copyright (C) 2004-2007 International Business Machines Corp. | 7 | * Copyright (C) 2004-2007 International Business Machines Corp. |
7 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 8 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
8 | * Michael C. Thompson <mcthomps@us.ibm.com> | 9 | * Michael C. Thompson <mcthomps@us.ibm.com> |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, but | ||
16 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
23 | * 02111-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <crypto/hash.h> | 12 | #include <crypto/hash.h> |
diff --git a/fs/ecryptfs/debug.c b/fs/ecryptfs/debug.c index 3d2bdf546ec6..d131d070826f 100644 --- a/fs/ecryptfs/debug.c +++ b/fs/ecryptfs/debug.c | |||
@@ -1,24 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * Functions only useful for debugging. | 4 | * Functions only useful for debugging. |
4 | * | 5 | * |
5 | * Copyright (C) 2006 International Business Machines Corp. | 6 | * Copyright (C) 2006 International Business Machines Corp. |
6 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 7 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as | ||
10 | * published by the Free Software Foundation; either version 2 of the | ||
11 | * License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, but | ||
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
21 | * 02111-1307, USA. | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #include "ecryptfs_kernel.h" | 10 | #include "ecryptfs_kernel.h" |
diff --git a/fs/ecryptfs/dentry.c b/fs/ecryptfs/dentry.c index 63cd2c147221..44606f079efb 100644 --- a/fs/ecryptfs/dentry.c +++ b/fs/ecryptfs/dentry.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
@@ -5,21 +6,6 @@ | |||
5 | * Copyright (C) 2001-2003 Stony Brook University | 6 | * Copyright (C) 2001-2003 Stony Brook University |
6 | * Copyright (C) 2004-2006 International Business Machines Corp. | 7 | * Copyright (C) 2004-2006 International Business Machines Corp. |
7 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 8 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, but | ||
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
22 | * 02111-1307, USA. | ||
23 | */ | 9 | */ |
24 | 10 | ||
25 | #include <linux/dcache.h> | 11 | #include <linux/dcache.h> |
diff --git a/fs/ecryptfs/ecryptfs_kernel.h b/fs/ecryptfs/ecryptfs_kernel.h index e74cb2a0b299..1c1a56be7ea2 100644 --- a/fs/ecryptfs/ecryptfs_kernel.h +++ b/fs/ecryptfs/ecryptfs_kernel.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * Kernel declarations. | 4 | * Kernel declarations. |
@@ -8,21 +9,6 @@ | |||
8 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 9 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
9 | * Trevor S. Highland <trevor.highland@gmail.com> | 10 | * Trevor S. Highland <trevor.highland@gmail.com> |
10 | * Tyler Hicks <tyhicks@ou.edu> | 11 | * Tyler Hicks <tyhicks@ou.edu> |
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License as | ||
14 | * published by the Free Software Foundation; either version 2 of the | ||
15 | * License, or (at your option) any later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, but | ||
18 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
20 | * General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License | ||
23 | * along with this program; if not, write to the Free Software | ||
24 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
25 | * 02111-1307, USA. | ||
26 | */ | 12 | */ |
27 | 13 | ||
28 | #ifndef ECRYPTFS_KERNEL_H | 14 | #ifndef ECRYPTFS_KERNEL_H |
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index b76a9853325e..feecb57defa7 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Copyright (C) 2004-2007 International Business Machines Corp. | 7 | * Copyright (C) 2004-2007 International Business Machines Corp. |
7 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> | 8 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> |
8 | * Michael C. Thompson <mcthomps@us.ibm.com> | 9 | * Michael C. Thompson <mcthomps@us.ibm.com> |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, but | ||
16 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
23 | * 02111-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/file.h> | 12 | #include <linux/file.h> |
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 5c36ceecb5c1..1e994d780f37 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Copyright (C) 2004-2007 International Business Machines Corp. | 7 | * Copyright (C) 2004-2007 International Business Machines Corp. |
7 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 8 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
8 | * Michael C. Thompsion <mcthomps@us.ibm.com> | 9 | * Michael C. Thompsion <mcthomps@us.ibm.com> |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, but | ||
16 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
23 | * 02111-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/file.h> | 12 | #include <linux/file.h> |
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index 90fbac5d485b..9536e592e25a 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * In-kernel key management code. Includes functions to parse and | 4 | * In-kernel key management code. Includes functions to parse and |
@@ -8,21 +9,6 @@ | |||
8 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> | 9 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> |
9 | * Michael C. Thompson <mcthomps@us.ibm.com> | 10 | * Michael C. Thompson <mcthomps@us.ibm.com> |
10 | * Trevor S. Highland <trevor.highland@gmail.com> | 11 | * Trevor S. Highland <trevor.highland@gmail.com> |
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License as | ||
14 | * published by the Free Software Foundation; either version 2 of the | ||
15 | * License, or (at your option) any later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, but | ||
18 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
20 | * General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License | ||
23 | * along with this program; if not, write to the Free Software | ||
24 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
25 | * 02111-1307, USA. | ||
26 | */ | 12 | */ |
27 | 13 | ||
28 | #include <crypto/hash.h> | 14 | #include <crypto/hash.h> |
diff --git a/fs/ecryptfs/kthread.c b/fs/ecryptfs/kthread.c index e00d45af84ea..a7c903cb01a0 100644 --- a/fs/ecryptfs/kthread.c +++ b/fs/ecryptfs/kthread.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
4 | * Copyright (C) 2008 International Business Machines Corp. | 5 | * Copyright (C) 2008 International Business Machines Corp. |
5 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 6 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as | ||
9 | * published by the Free Software Foundation; either version 2 of the | ||
10 | * License, or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, but | ||
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
20 | * 02111-1307, USA. | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/kthread.h> | 9 | #include <linux/kthread.h> |
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index 025d66a705db..b8a7ce379ffe 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
@@ -7,21 +8,6 @@ | |||
7 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 8 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
8 | * Michael C. Thompson <mcthomps@us.ibm.com> | 9 | * Michael C. Thompson <mcthomps@us.ibm.com> |
9 | * Tyler Hicks <tyhicks@ou.edu> | 10 | * Tyler Hicks <tyhicks@ou.edu> |
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, but | ||
17 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public License | ||
22 | * along with this program; if not, write to the Free Software | ||
23 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
24 | * 02111-1307, USA. | ||
25 | */ | 11 | */ |
26 | 12 | ||
27 | #include <linux/dcache.h> | 13 | #include <linux/dcache.h> |
diff --git a/fs/ecryptfs/messaging.c b/fs/ecryptfs/messaging.c index 9fdd5bcf4564..d668e60b85b5 100644 --- a/fs/ecryptfs/messaging.c +++ b/fs/ecryptfs/messaging.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
4 | * Copyright (C) 2004-2008 International Business Machines Corp. | 5 | * Copyright (C) 2004-2008 International Business Machines Corp. |
5 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> | 6 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> |
6 | * Tyler Hicks <tyhicks@ou.edu> | 7 | * Tyler Hicks <tyhicks@ou.edu> |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License version | ||
10 | * 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, but | ||
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
20 | * 02111-1307, USA. | ||
21 | */ | 8 | */ |
22 | #include <linux/sched.h> | 9 | #include <linux/sched.h> |
23 | #include <linux/slab.h> | 10 | #include <linux/slab.h> |
diff --git a/fs/ecryptfs/miscdev.c b/fs/ecryptfs/miscdev.c index 2d1158e5f950..742ece22c1d4 100644 --- a/fs/ecryptfs/miscdev.c +++ b/fs/ecryptfs/miscdev.c | |||
@@ -1,22 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
4 | * Copyright (C) 2008 International Business Machines Corp. | 5 | * Copyright (C) 2008 International Business Machines Corp. |
5 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> | 6 | * Author(s): Michael A. Halcrow <mhalcrow@us.ibm.com> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License version | ||
9 | * 2 as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but | ||
12 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
19 | * 02111-1307, USA. | ||
20 | */ | 7 | */ |
21 | 8 | ||
22 | #include <linux/fs.h> | 9 | #include <linux/fs.h> |
diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c index cdf358b209d9..cffa0c1ec829 100644 --- a/fs/ecryptfs/mmap.c +++ b/fs/ecryptfs/mmap.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * This is where eCryptfs coordinates the symmetric encryption and | 4 | * This is where eCryptfs coordinates the symmetric encryption and |
@@ -8,21 +9,6 @@ | |||
8 | * Copyright (C) 2001-2003 Stony Brook University | 9 | * Copyright (C) 2001-2003 Stony Brook University |
9 | * Copyright (C) 2004-2007 International Business Machines Corp. | 10 | * Copyright (C) 2004-2007 International Business Machines Corp. |
10 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 11 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License as | ||
14 | * published by the Free Software Foundation; either version 2 of the | ||
15 | * License, or (at your option) any later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, but | ||
18 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
20 | * General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License | ||
23 | * along with this program; if not, write to the Free Software | ||
24 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
25 | * 02111-1307, USA. | ||
26 | */ | 12 | */ |
27 | 13 | ||
28 | #include <linux/pagemap.h> | 14 | #include <linux/pagemap.h> |
diff --git a/fs/ecryptfs/read_write.c b/fs/ecryptfs/read_write.c index c596e7c03424..0438997ac9d8 100644 --- a/fs/ecryptfs/read_write.c +++ b/fs/ecryptfs/read_write.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
4 | * Copyright (C) 2007 International Business Machines Corp. | 5 | * Copyright (C) 2007 International Business Machines Corp. |
5 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 6 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as | ||
9 | * published by the Free Software Foundation; either version 2 of the | ||
10 | * License, or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, but | ||
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
20 | * 02111-1307, USA. | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/fs.h> | 9 | #include <linux/fs.h> |
diff --git a/fs/ecryptfs/super.c b/fs/ecryptfs/super.c index c3e511f2b6c0..6b1853f1c06a 100644 --- a/fs/ecryptfs/super.c +++ b/fs/ecryptfs/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * eCryptfs: Linux filesystem encryption layer | 3 | * eCryptfs: Linux filesystem encryption layer |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Copyright (C) 2004-2006 International Business Machines Corp. | 7 | * Copyright (C) 2004-2006 International Business Machines Corp. |
7 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> | 8 | * Author(s): Michael A. Halcrow <mahalcro@us.ibm.com> |
8 | * Michael C. Thompson <mcthomps@us.ibm.com> | 9 | * Michael C. Thompson <mcthomps@us.ibm.com> |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public License as | ||
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, but | ||
16 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
23 | * 02111-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/efivarfs/Kconfig b/fs/efivarfs/Kconfig index c2499ef174a2..edec8a19c894 100644 --- a/fs/efivarfs/Kconfig +++ b/fs/efivarfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config EFIVAR_FS | 2 | config EFIVAR_FS |
2 | tristate "EFI Variable filesystem" | 3 | tristate "EFI Variable filesystem" |
3 | depends on EFI | 4 | depends on EFI |
diff --git a/fs/efivarfs/Makefile b/fs/efivarfs/Makefile index 955d478177d5..0b1c5e63eb71 100644 --- a/fs/efivarfs/Makefile +++ b/fs/efivarfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the efivarfs filesystem | 3 | # Makefile for the efivarfs filesystem |
3 | # | 4 | # |
diff --git a/fs/efivarfs/file.c b/fs/efivarfs/file.c index 8e568428c88b..ee3bc0c96b9d 100644 --- a/fs/efivarfs/file.c +++ b/fs/efivarfs/file.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2012 Red Hat, Inc. | 3 | * Copyright (C) 2012 Red Hat, Inc. |
3 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> | 4 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/efi.h> | 7 | #include <linux/efi.h> |
diff --git a/fs/efivarfs/inode.c b/fs/efivarfs/inode.c index 8c6ab6c95727..96c0c86f3fff 100644 --- a/fs/efivarfs/inode.c +++ b/fs/efivarfs/inode.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2012 Red Hat, Inc. | 3 | * Copyright (C) 2012 Red Hat, Inc. |
3 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> | 4 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/efi.h> | 7 | #include <linux/efi.h> |
diff --git a/fs/efivarfs/internal.h b/fs/efivarfs/internal.h index b4505188e799..30ae44cb7453 100644 --- a/fs/efivarfs/internal.h +++ b/fs/efivarfs/internal.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2012 Red Hat, Inc. | 3 | * Copyright (C) 2012 Red Hat, Inc. |
3 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> | 4 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | #ifndef EFIVAR_FS_INTERNAL_H | 6 | #ifndef EFIVAR_FS_INTERNAL_H |
10 | #define EFIVAR_FS_INTERNAL_H | 7 | #define EFIVAR_FS_INTERNAL_H |
diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c index 5b68e4294faa..5bc3c4a4c563 100644 --- a/fs/efivarfs/super.c +++ b/fs/efivarfs/super.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2012 Red Hat, Inc. | 3 | * Copyright (C) 2012 Red Hat, Inc. |
3 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> | 4 | * Copyright (C) 2012 Jeremy Kerr <jeremy.kerr@canonical.com> |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/ctype.h> | 7 | #include <linux/ctype.h> |
diff --git a/fs/efs/Kconfig b/fs/efs/Kconfig index d020e3c30fea..2df1bac8b375 100644 --- a/fs/efs/Kconfig +++ b/fs/efs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config EFS_FS | 2 | config EFS_FS |
2 | tristate "EFS file system support (read only)" | 3 | tristate "EFS file system support (read only)" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/efs/Makefile b/fs/efs/Makefile index 963543d46f0d..85e5b88f9471 100644 --- a/fs/efs/Makefile +++ b/fs/efs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux efs-filesystem routines. | 3 | # Makefile for the linux efs-filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/efs/inode.c b/fs/efs/inode.c index cdf0872382af..89e73a6f0d36 100644 --- a/fs/efs/inode.c +++ b/fs/efs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * inode.c | 3 | * inode.c |
3 | * | 4 | * |
diff --git a/fs/eventfd.c b/fs/eventfd.c index 93b1fa7bb298..8aa0ea8c55e8 100644 --- a/fs/eventfd.c +++ b/fs/eventfd.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/eventfd.c | 3 | * fs/eventfd.c |
3 | * | 4 | * |
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 4a0e98d87fcc..4c74c768ae43 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c | |||
@@ -1,14 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/eventpoll.c (Efficient event retrieval implementation) | 3 | * fs/eventpoll.c (Efficient event retrieval implementation) |
3 | * Copyright (C) 2001,...,2009 Davide Libenzi | 4 | * Copyright (C) 2001,...,2009 Davide Libenzi |
4 | * | 5 | * |
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * Davide Libenzi <davidel@xmailserver.org> | 6 | * Davide Libenzi <davidel@xmailserver.org> |
11 | * | ||
12 | */ | 7 | */ |
13 | 8 | ||
14 | #include <linux/init.h> | 9 | #include <linux/init.h> |
@@ -2330,7 +2325,7 @@ SYSCALL_DEFINE6(epoll_pwait, int, epfd, struct epoll_event __user *, events, | |||
2330 | 2325 | ||
2331 | error = do_epoll_wait(epfd, events, maxevents, timeout); | 2326 | error = do_epoll_wait(epfd, events, maxevents, timeout); |
2332 | 2327 | ||
2333 | restore_user_sigmask(sigmask, &sigsaved); | 2328 | restore_user_sigmask(sigmask, &sigsaved, error == -EINTR); |
2334 | 2329 | ||
2335 | return error; | 2330 | return error; |
2336 | } | 2331 | } |
@@ -2355,7 +2350,7 @@ COMPAT_SYSCALL_DEFINE6(epoll_pwait, int, epfd, | |||
2355 | 2350 | ||
2356 | err = do_epoll_wait(epfd, events, maxevents, timeout); | 2351 | err = do_epoll_wait(epfd, events, maxevents, timeout); |
2357 | 2352 | ||
2358 | restore_user_sigmask(sigmask, &sigsaved); | 2353 | restore_user_sigmask(sigmask, &sigsaved, err == -EINTR); |
2359 | 2354 | ||
2360 | return err; | 2355 | return err; |
2361 | } | 2356 | } |
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/exec.c | 3 | * linux/fs/exec.c |
3 | * | 4 | * |
diff --git a/fs/exportfs/Makefile b/fs/exportfs/Makefile index d7c5d4ddb34b..a04a8af83efd 100644 --- a/fs/exportfs/Makefile +++ b/fs/exportfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the filesystem export support routines. | 3 | # Makefile for the filesystem export support routines. |
3 | 4 | ||
diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c index c69927bed4ef..f0e549783caf 100644 --- a/fs/exportfs/expfs.c +++ b/fs/exportfs/expfs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Neil Brown 2002 | 3 | * Copyright (C) Neil Brown 2002 |
3 | * Copyright (C) Christoph Hellwig 2007 | 4 | * Copyright (C) Christoph Hellwig 2007 |
diff --git a/fs/ext2/Kconfig b/fs/ext2/Kconfig index 894e4c53d1d2..54eec9185627 100644 --- a/fs/ext2/Kconfig +++ b/fs/ext2/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config EXT2_FS | 2 | config EXT2_FS |
2 | tristate "Second extended fs support" | 3 | tristate "Second extended fs support" |
3 | help | 4 | help |
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 3988633789cb..1d7ab73b1014 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/ext2/super.c | 3 | * linux/fs/ext2/super.c |
3 | * | 4 | * |
diff --git a/fs/ext4/Kconfig b/fs/ext4/Kconfig index 06f77ca7f36e..cbb5ca830e57 100644 --- a/fs/ext4/Kconfig +++ b/fs/ext4/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # Ext3 configs are here for backward compatibility with old configs which may | 2 | # Ext3 configs are here for backward compatibility with old configs which may |
2 | # have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable | 3 | # have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable |
3 | # kernels after the removal of ext3 driver. | 4 | # kernels after the removal of ext3 driver. |
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c index 884a6e776809..c7843b149a1e 100644 --- a/fs/ext4/dir.c +++ b/fs/ext4/dir.c | |||
@@ -671,7 +671,7 @@ static int ext4_d_compare(const struct dentry *dentry, unsigned int len, | |||
671 | if (!IS_CASEFOLDED(dentry->d_parent->d_inode)) { | 671 | if (!IS_CASEFOLDED(dentry->d_parent->d_inode)) { |
672 | if (len != name->len) | 672 | if (len != name->len) |
673 | return -1; | 673 | return -1; |
674 | return !memcmp(str, name, len); | 674 | return memcmp(str, name->name, len); |
675 | } | 675 | } |
676 | 676 | ||
677 | return ext4_ci_compare(dentry->d_parent->d_inode, name, &qstr); | 677 | return ext4_ci_compare(dentry->d_parent->d_inode, name, &qstr); |
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index f2c62e2a0c98..d40ed940001e 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -518,10 +518,14 @@ __read_extent_tree_block(const char *function, unsigned int line, | |||
518 | } | 518 | } |
519 | if (buffer_verified(bh) && !(flags & EXT4_EX_FORCE_CACHE)) | 519 | if (buffer_verified(bh) && !(flags & EXT4_EX_FORCE_CACHE)) |
520 | return bh; | 520 | return bh; |
521 | err = __ext4_ext_check(function, line, inode, | 521 | if (!ext4_has_feature_journal(inode->i_sb) || |
522 | ext_block_hdr(bh), depth, pblk); | 522 | (inode->i_ino != |
523 | if (err) | 523 | le32_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_journal_inum))) { |
524 | goto errout; | 524 | err = __ext4_ext_check(function, line, inode, |
525 | ext_block_hdr(bh), depth, pblk); | ||
526 | if (err) | ||
527 | goto errout; | ||
528 | } | ||
525 | set_buffer_verified(bh); | 529 | set_buffer_verified(bh); |
526 | /* | 530 | /* |
527 | * If this is a leaf block, cache all of its entries | 531 | * If this is a leaf block, cache all of its entries |
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 82298c63ea6d..c7f77c643008 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -5625,25 +5625,22 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr) | |||
5625 | up_write(&EXT4_I(inode)->i_data_sem); | 5625 | up_write(&EXT4_I(inode)->i_data_sem); |
5626 | ext4_journal_stop(handle); | 5626 | ext4_journal_stop(handle); |
5627 | if (error) { | 5627 | if (error) { |
5628 | if (orphan) | 5628 | if (orphan && inode->i_nlink) |
5629 | ext4_orphan_del(NULL, inode); | 5629 | ext4_orphan_del(NULL, inode); |
5630 | goto err_out; | 5630 | goto err_out; |
5631 | } | 5631 | } |
5632 | } | 5632 | } |
5633 | if (!shrink) | 5633 | if (!shrink) { |
5634 | pagecache_isize_extended(inode, oldsize, inode->i_size); | 5634 | pagecache_isize_extended(inode, oldsize, inode->i_size); |
5635 | 5635 | } else { | |
5636 | /* | 5636 | /* |
5637 | * Blocks are going to be removed from the inode. Wait | 5637 | * Blocks are going to be removed from the inode. Wait |
5638 | * for dio in flight. Temporarily disable | 5638 | * for dio in flight. |
5639 | * dioread_nolock to prevent livelock. | 5639 | */ |
5640 | */ | 5640 | inode_dio_wait(inode); |
5641 | if (orphan) { | ||
5642 | if (!ext4_should_journal_data(inode)) { | ||
5643 | inode_dio_wait(inode); | ||
5644 | } else | ||
5645 | ext4_wait_for_tail_page_commit(inode); | ||
5646 | } | 5641 | } |
5642 | if (orphan && ext4_should_journal_data(inode)) | ||
5643 | ext4_wait_for_tail_page_commit(inode); | ||
5647 | down_write(&EXT4_I(inode)->i_mmap_sem); | 5644 | down_write(&EXT4_I(inode)->i_mmap_sem); |
5648 | 5645 | ||
5649 | rc = ext4_break_layouts(inode); | 5646 | rc = ext4_break_layouts(inode); |
diff --git a/fs/f2fs/Kconfig b/fs/f2fs/Kconfig index e57cc754d543..110a38ca5d53 100644 --- a/fs/f2fs/Kconfig +++ b/fs/f2fs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config F2FS_FS | 2 | config F2FS_FS |
2 | tristate "F2FS filesystem support" | 3 | tristate "F2FS filesystem support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/fat/Kconfig b/fs/fat/Kconfig index 3ff1772f612e..718163d0c621 100644 --- a/fs/fat/Kconfig +++ b/fs/fat/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config FAT_FS | 2 | config FAT_FS |
2 | tristate | 3 | tristate |
3 | select NLS | 4 | select NLS |
diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 9d01db37183f..1bda2ab6745b 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/fat/dir.c | 3 | * linux/fs/fat/dir.c |
3 | * | 4 | * |
diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c index 495edeafd60a..265983635f2b 100644 --- a/fs/fat/fatent.c +++ b/fs/fat/fatent.c | |||
@@ -1,6 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2004, OGAWA Hirofumi | 3 | * Copyright (C) 2004, OGAWA Hirofumi |
3 | * Released under GPL v2. | ||
4 | */ | 4 | */ |
5 | 5 | ||
6 | #include <linux/blkdev.h> | 6 | #include <linux/blkdev.h> |
diff --git a/fs/fat/file.c b/fs/fat/file.c index 0e3ed79fcc3f..4614c0ba5f1c 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/fat/file.c | 3 | * linux/fs/fat/file.c |
3 | * | 4 | * |
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index ba93d1373306..05689198f5af 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/fat/inode.c | 3 | * linux/fs/fat/inode.c |
3 | * | 4 | * |
diff --git a/fs/fat/misc.c b/fs/fat/misc.c index 4fc950bb6433..1e08bd54c5fb 100644 --- a/fs/fat/misc.c +++ b/fs/fat/misc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/fat/misc.c | 3 | * linux/fs/fat/misc.c |
3 | * | 4 | * |
diff --git a/fs/fat/namei_msdos.c b/fs/fat/namei_msdos.c index f2cd365a4e86..9d062886fbc1 100644 --- a/fs/fat/namei_msdos.c +++ b/fs/fat/namei_msdos.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/msdos/namei.c | 3 | * linux/fs/msdos/namei.c |
3 | * | 4 | * |
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c index 996c8c25e9c6..0cdd0fb9f742 100644 --- a/fs/fat/namei_vfat.c +++ b/fs/fat/namei_vfat.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/vfat/namei.c | 3 | * linux/fs/vfat/namei.c |
3 | * | 4 | * |
diff --git a/fs/fat/nfs.c b/fs/fat/nfs.c index eb192656fba2..af191371c352 100644 --- a/fs/fat/nfs.c +++ b/fs/fat/nfs.c | |||
@@ -1,14 +1,5 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* fs/fat/nfs.c | 2 | /* fs/fat/nfs.c |
2 | * | ||
3 | * This software is licensed under the terms of the GNU General Public | ||
4 | * License version 2, as published by the Free Software Foundation, and | ||
5 | * may be copied, distributed, and modified under those terms. | ||
6 | * | ||
7 | * This program is distributed in the hope that it will be useful, | ||
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
10 | * GNU General Public License for more details. | ||
11 | * | ||
12 | */ | 3 | */ |
13 | 4 | ||
14 | #include <linux/exportfs.h> | 5 | #include <linux/exportfs.h> |
diff --git a/fs/file_table.c b/fs/file_table.c index 3f9c1b452c1d..b07b53f24ff5 100644 --- a/fs/file_table.c +++ b/fs/file_table.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/file_table.c | 3 | * linux/fs/file_table.c |
3 | * | 4 | * |
diff --git a/fs/freevxfs/Kconfig b/fs/freevxfs/Kconfig index ce49df1020dd..c05c71d57291 100644 --- a/fs/freevxfs/Kconfig +++ b/fs/freevxfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config VXFS_FS | 2 | config VXFS_FS |
2 | tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" | 3 | tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/freevxfs/Makefile b/fs/freevxfs/Makefile index 87ad097440d6..e6ee59291521 100644 --- a/fs/freevxfs/Makefile +++ b/fs/freevxfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # VxFS Makefile | 3 | # VxFS Makefile |
3 | # | 4 | # |
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index b16645b417d9..e41cbe8e81b9 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/fs-writeback.c | 3 | * fs/fs-writeback.c |
3 | * | 4 | * |
diff --git a/fs/fs_context.c b/fs/fs_context.c index a47ccd5a4a78..103643c68e3f 100644 --- a/fs/fs_context.c +++ b/fs/fs_context.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Provide a way to create a superblock configuration context within the kernel | 2 | /* Provide a way to create a superblock configuration context within the kernel |
2 | * that allows a superblock to be set up prior to mounting. | 3 | * that allows a superblock to be set up prior to mounting. |
3 | * | 4 | * |
4 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. | 5 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. |
5 | * Written by David Howells (dhowells@redhat.com) | 6 | * Written by David Howells (dhowells@redhat.com) |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public Licence | ||
9 | * as published by the Free Software Foundation; either version | ||
10 | * 2 of the Licence, or (at your option) any later version. | ||
11 | */ | 7 | */ |
12 | 8 | ||
13 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 9 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/fs_parser.c b/fs/fs_parser.c index 570d71043acf..0d388faa25d1 100644 --- a/fs/fs_parser.c +++ b/fs/fs_parser.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Filesystem parameter parser. | 2 | /* Filesystem parameter parser. |
2 | * | 3 | * |
3 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2018 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/export.h> | 8 | #include <linux/export.h> |
diff --git a/fs/fs_struct.c b/fs/fs_struct.c index be0250788b73..ca639ed967b7 100644 --- a/fs/fs_struct.c +++ b/fs/fs_struct.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | #include <linux/export.h> | 2 | #include <linux/export.h> |
2 | #include <linux/sched/signal.h> | 3 | #include <linux/sched/signal.h> |
3 | #include <linux/sched/task.h> | 4 | #include <linux/sched/task.h> |
diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig index 3f6dfa989881..506c5e643f0d 100644 --- a/fs/fscache/Kconfig +++ b/fs/fscache/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | 2 | ||
2 | config FSCACHE | 3 | config FSCACHE |
3 | tristate "General filesystem local caching manager" | 4 | tristate "General filesystem local caching manager" |
diff --git a/fs/fscache/cache.c b/fs/fscache/cache.c index cdcb376ef8df..f78793f3d21e 100644 --- a/fs/fscache/cache.c +++ b/fs/fscache/cache.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache cache handling | 2 | /* FS-Cache cache handling |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL CACHE | 8 | #define FSCACHE_DEBUG_LEVEL CACHE |
diff --git a/fs/fscache/cookie.c b/fs/fscache/cookie.c index c550512ce335..0ce39658a620 100644 --- a/fs/fscache/cookie.c +++ b/fs/fscache/cookie.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* netfs cookie management | 2 | /* netfs cookie management |
2 | * | 3 | * |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * See Documentation/filesystems/caching/netfs-api.txt for more information on | 7 | * See Documentation/filesystems/caching/netfs-api.txt for more information on |
12 | * the netfs API. | 8 | * the netfs API. |
13 | */ | 9 | */ |
diff --git a/fs/fscache/fsdef.c b/fs/fscache/fsdef.c index aa46e48d8c75..09ed8795ad86 100644 --- a/fs/fscache/fsdef.c +++ b/fs/fscache/fsdef.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Filesystem index definition | 2 | /* Filesystem index definition |
2 | * | 3 | * |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL CACHE | 8 | #define FSCACHE_DEBUG_LEVEL CACHE |
diff --git a/fs/fscache/histogram.c b/fs/fscache/histogram.c index 9a13e9e15b69..4e5beeaaf454 100644 --- a/fs/fscache/histogram.c +++ b/fs/fscache/histogram.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache latency histogram | 2 | /* FS-Cache latency histogram |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL THREAD | 8 | #define FSCACHE_DEBUG_LEVEL THREAD |
diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h index d6209022e965..9616af3768e1 100644 --- a/fs/fscache/internal.h +++ b/fs/fscache/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* Internal definitions for FS-Cache | 2 | /* Internal definitions for FS-Cache |
2 | * | 3 | * |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | /* | 8 | /* |
diff --git a/fs/fscache/main.c b/fs/fscache/main.c index 30ad89db1efc..59c2494efda3 100644 --- a/fs/fscache/main.c +++ b/fs/fscache/main.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* General filesystem local caching manager | 2 | /* General filesystem local caching manager |
2 | * | 3 | * |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL CACHE | 8 | #define FSCACHE_DEBUG_LEVEL CACHE |
diff --git a/fs/fscache/netfs.c b/fs/fscache/netfs.c index c2f605483cc5..cce92216fa28 100644 --- a/fs/fscache/netfs.c +++ b/fs/fscache/netfs.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache netfs (client) registration | 2 | /* FS-Cache netfs (client) registration |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL COOKIE | 8 | #define FSCACHE_DEBUG_LEVEL COOKIE |
diff --git a/fs/fscache/object-list.c b/fs/fscache/object-list.c index 43e6e28c164f..72ebfe578f40 100644 --- a/fs/fscache/object-list.c +++ b/fs/fscache/object-list.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Global fscache object list maintainer and viewer | 2 | /* Global fscache object list maintainer and viewer |
2 | * | 3 | * |
3 | * Copyright (C) 2009 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2009 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL COOKIE | 8 | #define FSCACHE_DEBUG_LEVEL COOKIE |
diff --git a/fs/fscache/object.c b/fs/fscache/object.c index 6d9cb1719de5..cfeba839a0f2 100644 --- a/fs/fscache/object.c +++ b/fs/fscache/object.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache object state machine handler | 2 | /* FS-Cache object state machine handler |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * See Documentation/filesystems/caching/object.txt for a description of the | 7 | * See Documentation/filesystems/caching/object.txt for a description of the |
12 | * object state machine and the in-kernel representations. | 8 | * object state machine and the in-kernel representations. |
13 | */ | 9 | */ |
diff --git a/fs/fscache/operation.c b/fs/fscache/operation.c index 8d265790374c..1a22a55f75a0 100644 --- a/fs/fscache/operation.c +++ b/fs/fscache/operation.c | |||
@@ -1,13 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache worker operation management routines | 2 | /* FS-Cache worker operation management routines |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * See Documentation/filesystems/caching/operations.txt | 7 | * See Documentation/filesystems/caching/operations.txt |
12 | */ | 8 | */ |
13 | 9 | ||
diff --git a/fs/fscache/page.c b/fs/fscache/page.c index 111349f67d98..26af6fdf1538 100644 --- a/fs/fscache/page.c +++ b/fs/fscache/page.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Cache page management and data I/O routines | 2 | /* Cache page management and data I/O routines |
2 | * | 3 | * |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL PAGE | 8 | #define FSCACHE_DEBUG_LEVEL PAGE |
diff --git a/fs/fscache/proc.c b/fs/fscache/proc.c index 49a8c90414bc..5523446e2952 100644 --- a/fs/fscache/proc.c +++ b/fs/fscache/proc.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache statistics viewing interface | 2 | /* FS-Cache statistics viewing interface |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL OPERATION | 8 | #define FSCACHE_DEBUG_LEVEL OPERATION |
diff --git a/fs/fscache/stats.c b/fs/fscache/stats.c index 00564a1dfd76..a5aa93ece8c5 100644 --- a/fs/fscache/stats.c +++ b/fs/fscache/stats.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* FS-Cache statistics | 2 | /* FS-Cache statistics |
2 | * | 3 | * |
3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #define FSCACHE_DEBUG_LEVEL THREAD | 8 | #define FSCACHE_DEBUG_LEVEL THREAD |
diff --git a/fs/fsopen.c b/fs/fsopen.c index c2891e933ef1..a8bf83ce8d4e 100644 --- a/fs/fsopen.c +++ b/fs/fsopen.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* Filesystem access-by-fd. | 2 | /* Filesystem access-by-fd. |
2 | * | 3 | * |
3 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/fs_context.h> | 8 | #include <linux/fs_context.h> |
diff --git a/fs/fuse/Kconfig b/fs/fuse/Kconfig index 76f09ce7e5b2..24fc5a5c1b97 100644 --- a/fs/fuse/Kconfig +++ b/fs/fuse/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config FUSE_FS | 2 | config FUSE_FS |
2 | tristate "FUSE (Filesystem in Userspace) support" | 3 | tristate "FUSE (Filesystem in Userspace) support" |
3 | select FS_POSIX_ACL | 4 | select FS_POSIX_ACL |
diff --git a/fs/fuse/Makefile b/fs/fuse/Makefile index f7b807bc1027..9485019c2a14 100644 --- a/fs/fuse/Makefile +++ b/fs/fuse/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the FUSE filesystem. | 3 | # Makefile for the FUSE filesystem. |
3 | # | 4 | # |
diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c index 4b41df1d4642..bab7a0db81dd 100644 --- a/fs/fuse/cuse.c +++ b/fs/fuse/cuse.c | |||
@@ -1,11 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * CUSE: Character device in Userspace | 3 | * CUSE: Character device in Userspace |
3 | * | 4 | * |
4 | * Copyright (C) 2008-2009 SUSE Linux Products GmbH | 5 | * Copyright (C) 2008-2009 SUSE Linux Products GmbH |
5 | * Copyright (C) 2008-2009 Tejun Heo <tj@kernel.org> | 6 | * Copyright (C) 2008-2009 Tejun Heo <tj@kernel.org> |
6 | * | 7 | * |
7 | * This file is released under the GPLv2. | ||
8 | * | ||
9 | * CUSE enables character devices to be implemented from userland much | 8 | * CUSE enables character devices to be implemented from userland much |
10 | * like FUSE allows filesystems. On initialization /dev/cuse is | 9 | * like FUSE allows filesystems. On initialization /dev/cuse is |
11 | * created. By opening the file and replying to the CUSE_INIT request | 10 | * created. By opening the file and replying to the CUSE_INIT request |
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 24ea19cfe07e..ea8237513dfa 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c | |||
@@ -1317,16 +1317,6 @@ static ssize_t fuse_dev_do_read(struct fuse_dev *fud, struct file *file, | |||
1317 | unsigned reqsize; | 1317 | unsigned reqsize; |
1318 | unsigned int hash; | 1318 | unsigned int hash; |
1319 | 1319 | ||
1320 | /* | ||
1321 | * Require sane minimum read buffer - that has capacity for fixed part | ||
1322 | * of any request header + negotated max_write room for data. If the | ||
1323 | * requirement is not satisfied return EINVAL to the filesystem server | ||
1324 | * to indicate that it is not following FUSE server/client contract. | ||
1325 | * Don't dequeue / abort any request. | ||
1326 | */ | ||
1327 | if (nbytes < max_t(size_t, FUSE_MIN_READ_BUFFER, 4096 + fc->max_write)) | ||
1328 | return -EINVAL; | ||
1329 | |||
1330 | restart: | 1320 | restart: |
1331 | spin_lock(&fiq->waitq.lock); | 1321 | spin_lock(&fiq->waitq.lock); |
1332 | err = -EAGAIN; | 1322 | err = -EAGAIN; |
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 3959f08279e6..b8f9c83835d5 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -1377,10 +1377,17 @@ ssize_t fuse_direct_io(struct fuse_io_priv *io, struct iov_iter *iter, | |||
1377 | if (err && !nbytes) | 1377 | if (err && !nbytes) |
1378 | break; | 1378 | break; |
1379 | 1379 | ||
1380 | if (write) | 1380 | if (write) { |
1381 | if (!capable(CAP_FSETID)) { | ||
1382 | struct fuse_write_in *inarg; | ||
1383 | |||
1384 | inarg = &req->misc.write.in; | ||
1385 | inarg->write_flags |= FUSE_WRITE_KILL_PRIV; | ||
1386 | } | ||
1381 | nres = fuse_send_write(req, io, pos, nbytes, owner); | 1387 | nres = fuse_send_write(req, io, pos, nbytes, owner); |
1382 | else | 1388 | } else { |
1383 | nres = fuse_send_read(req, io, pos, nbytes, owner); | 1389 | nres = fuse_send_read(req, io, pos, nbytes, owner); |
1390 | } | ||
1384 | 1391 | ||
1385 | if (!io->async) | 1392 | if (!io->async) |
1386 | fuse_release_user_pages(req, io->should_dirty); | 1393 | fuse_release_user_pages(req, io->should_dirty); |
@@ -3014,6 +3021,16 @@ fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter) | |||
3014 | return ret; | 3021 | return ret; |
3015 | } | 3022 | } |
3016 | 3023 | ||
3024 | static int fuse_writeback_range(struct inode *inode, loff_t start, loff_t end) | ||
3025 | { | ||
3026 | int err = filemap_write_and_wait_range(inode->i_mapping, start, end); | ||
3027 | |||
3028 | if (!err) | ||
3029 | fuse_sync_writes(inode); | ||
3030 | |||
3031 | return err; | ||
3032 | } | ||
3033 | |||
3017 | static long fuse_file_fallocate(struct file *file, int mode, loff_t offset, | 3034 | static long fuse_file_fallocate(struct file *file, int mode, loff_t offset, |
3018 | loff_t length) | 3035 | loff_t length) |
3019 | { | 3036 | { |
@@ -3042,12 +3059,10 @@ static long fuse_file_fallocate(struct file *file, int mode, loff_t offset, | |||
3042 | inode_lock(inode); | 3059 | inode_lock(inode); |
3043 | if (mode & FALLOC_FL_PUNCH_HOLE) { | 3060 | if (mode & FALLOC_FL_PUNCH_HOLE) { |
3044 | loff_t endbyte = offset + length - 1; | 3061 | loff_t endbyte = offset + length - 1; |
3045 | err = filemap_write_and_wait_range(inode->i_mapping, | 3062 | |
3046 | offset, endbyte); | 3063 | err = fuse_writeback_range(inode, offset, endbyte); |
3047 | if (err) | 3064 | if (err) |
3048 | goto out; | 3065 | goto out; |
3049 | |||
3050 | fuse_sync_writes(inode); | ||
3051 | } | 3066 | } |
3052 | } | 3067 | } |
3053 | 3068 | ||
@@ -3055,7 +3070,7 @@ static long fuse_file_fallocate(struct file *file, int mode, loff_t offset, | |||
3055 | offset + length > i_size_read(inode)) { | 3070 | offset + length > i_size_read(inode)) { |
3056 | err = inode_newsize_ok(inode, offset + length); | 3071 | err = inode_newsize_ok(inode, offset + length); |
3057 | if (err) | 3072 | if (err) |
3058 | return err; | 3073 | goto out; |
3059 | } | 3074 | } |
3060 | 3075 | ||
3061 | if (!(mode & FALLOC_FL_KEEP_SIZE)) | 3076 | if (!(mode & FALLOC_FL_KEEP_SIZE)) |
@@ -3103,6 +3118,7 @@ static ssize_t fuse_copy_file_range(struct file *file_in, loff_t pos_in, | |||
3103 | { | 3118 | { |
3104 | struct fuse_file *ff_in = file_in->private_data; | 3119 | struct fuse_file *ff_in = file_in->private_data; |
3105 | struct fuse_file *ff_out = file_out->private_data; | 3120 | struct fuse_file *ff_out = file_out->private_data; |
3121 | struct inode *inode_in = file_inode(file_in); | ||
3106 | struct inode *inode_out = file_inode(file_out); | 3122 | struct inode *inode_out = file_inode(file_out); |
3107 | struct fuse_inode *fi_out = get_fuse_inode(inode_out); | 3123 | struct fuse_inode *fi_out = get_fuse_inode(inode_out); |
3108 | struct fuse_conn *fc = ff_in->fc; | 3124 | struct fuse_conn *fc = ff_in->fc; |
@@ -3126,15 +3142,20 @@ static ssize_t fuse_copy_file_range(struct file *file_in, loff_t pos_in, | |||
3126 | if (fc->no_copy_file_range) | 3142 | if (fc->no_copy_file_range) |
3127 | return -EOPNOTSUPP; | 3143 | return -EOPNOTSUPP; |
3128 | 3144 | ||
3145 | if (fc->writeback_cache) { | ||
3146 | inode_lock(inode_in); | ||
3147 | err = fuse_writeback_range(inode_in, pos_in, pos_in + len); | ||
3148 | inode_unlock(inode_in); | ||
3149 | if (err) | ||
3150 | return err; | ||
3151 | } | ||
3152 | |||
3129 | inode_lock(inode_out); | 3153 | inode_lock(inode_out); |
3130 | 3154 | ||
3131 | if (fc->writeback_cache) { | 3155 | if (fc->writeback_cache) { |
3132 | err = filemap_write_and_wait_range(inode_out->i_mapping, | 3156 | err = fuse_writeback_range(inode_out, pos_out, pos_out + len); |
3133 | pos_out, pos_out + len); | ||
3134 | if (err) | 3157 | if (err) |
3135 | goto out; | 3158 | goto out; |
3136 | |||
3137 | fuse_sync_writes(inode_out); | ||
3138 | } | 3159 | } |
3139 | 3160 | ||
3140 | if (is_unstable) | 3161 | if (is_unstable) |
diff --git a/fs/gfs2/Kconfig b/fs/gfs2/Kconfig index 6a1e499543f5..03c966840422 100644 --- a/fs/gfs2/Kconfig +++ b/fs/gfs2/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config GFS2_FS | 2 | config GFS2_FS |
2 | tristate "GFS2 file system support" | 3 | tristate "GFS2 file system support" |
3 | select FS_POSIX_ACL | 4 | select FS_POSIX_ACL |
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c index af5f87a493d9..09e6be8aa036 100644 --- a/fs/gfs2/acl.c +++ b/fs/gfs2/acl.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
diff --git a/fs/gfs2/acl.h b/fs/gfs2/acl.h index f674fdd22337..61353a1501c5 100644 --- a/fs/gfs2/acl.h +++ b/fs/gfs2/acl.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __ACL_DOT_H__ | 7 | #ifndef __ACL_DOT_H__ |
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 6210d4429d84..abeac61cfed3 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c index f42718dd292f..93ea1d529aa3 100644 --- a/fs/gfs2/bmap.c +++ b/fs/gfs2/bmap.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/spinlock.h> | 7 | #include <linux/spinlock.h> |
@@ -994,9 +991,12 @@ static void gfs2_write_unlock(struct inode *inode) | |||
994 | static int gfs2_iomap_page_prepare(struct inode *inode, loff_t pos, | 991 | static int gfs2_iomap_page_prepare(struct inode *inode, loff_t pos, |
995 | unsigned len, struct iomap *iomap) | 992 | unsigned len, struct iomap *iomap) |
996 | { | 993 | { |
994 | unsigned int blockmask = i_blocksize(inode) - 1; | ||
997 | struct gfs2_sbd *sdp = GFS2_SB(inode); | 995 | struct gfs2_sbd *sdp = GFS2_SB(inode); |
996 | unsigned int blocks; | ||
998 | 997 | ||
999 | return gfs2_trans_begin(sdp, RES_DINODE + (len >> inode->i_blkbits), 0); | 998 | blocks = ((pos & blockmask) + len + blockmask) >> inode->i_blkbits; |
999 | return gfs2_trans_begin(sdp, RES_DINODE + blocks, 0); | ||
1000 | } | 1000 | } |
1001 | 1001 | ||
1002 | static void gfs2_iomap_page_done(struct inode *inode, loff_t pos, | 1002 | static void gfs2_iomap_page_done(struct inode *inode, loff_t pos, |
diff --git a/fs/gfs2/bmap.h b/fs/gfs2/bmap.h index 19a1fd772c61..b88fd45ab79f 100644 --- a/fs/gfs2/bmap.h +++ b/fs/gfs2/bmap.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __BMAP_DOT_H__ | 7 | #ifndef __BMAP_DOT_H__ |
diff --git a/fs/gfs2/dentry.c b/fs/gfs2/dentry.c index 5173b98ca036..a7bb76e9a82b 100644 --- a/fs/gfs2/dentry.c +++ b/fs/gfs2/dentry.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/spinlock.h> | 7 | #include <linux/spinlock.h> |
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index db9a05244a35..88e4f955c518 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | /* | 7 | /* |
diff --git a/fs/gfs2/dir.h b/fs/gfs2/dir.h index e1b309c24dab..0ac2dc8564df 100644 --- a/fs/gfs2/dir.h +++ b/fs/gfs2/dir.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __DIR_DOT_H__ | 7 | #ifndef __DIR_DOT_H__ |
diff --git a/fs/gfs2/export.c b/fs/gfs2/export.c index a332f3cd925e..3f717285ee48 100644 --- a/fs/gfs2/export.c +++ b/fs/gfs2/export.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/spinlock.h> | 7 | #include <linux/spinlock.h> |
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 58a768e59712..d174b1f8fd08 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/slab.h> | 7 | #include <linux/slab.h> |
diff --git a/fs/gfs2/gfs2.h b/fs/gfs2/gfs2.h index ef606e3a5cf4..ed78e5f20f41 100644 --- a/fs/gfs2/gfs2.h +++ b/fs/gfs2/gfs2.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __GFS2_DOT_H__ | 7 | #ifndef __GFS2_DOT_H__ |
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 15c605cfcfc8..f1ebcb42cbf5 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
@@ -140,7 +137,7 @@ void gfs2_glock_free(struct gfs2_glock *gl) | |||
140 | { | 137 | { |
141 | struct gfs2_sbd *sdp = gl->gl_name.ln_sbd; | 138 | struct gfs2_sbd *sdp = gl->gl_name.ln_sbd; |
142 | 139 | ||
143 | BUG_ON(test_bit(GLF_REVOKES, &gl->gl_flags)); | 140 | BUG_ON(atomic_read(&gl->gl_revokes)); |
144 | rhashtable_remove_fast(&gl_hash_table, &gl->gl_node, ht_parms); | 141 | rhashtable_remove_fast(&gl_hash_table, &gl->gl_node, ht_parms); |
145 | smp_mb(); | 142 | smp_mb(); |
146 | wake_up_glock(gl); | 143 | wake_up_glock(gl); |
@@ -1801,7 +1798,7 @@ void gfs2_dump_glock(struct seq_file *seq, struct gfs2_glock *gl) | |||
1801 | state2str(gl->gl_target), | 1798 | state2str(gl->gl_target), |
1802 | state2str(gl->gl_demote_state), dtime, | 1799 | state2str(gl->gl_demote_state), dtime, |
1803 | atomic_read(&gl->gl_ail_count), | 1800 | atomic_read(&gl->gl_ail_count), |
1804 | test_bit(GLF_REVOKES, &gl->gl_flags) ? 1 : 0, | 1801 | atomic_read(&gl->gl_revokes), |
1805 | (int)gl->gl_lockref.count, gl->gl_hold_time); | 1802 | (int)gl->gl_lockref.count, gl->gl_hold_time); |
1806 | 1803 | ||
1807 | list_for_each_entry(gh, &gl->gl_holders, gh_list) | 1804 | list_for_each_entry(gh, &gl->gl_holders, gh_list) |
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h index 936b3295839c..149d7f6af085 100644 --- a/fs/gfs2/glock.h +++ b/fs/gfs2/glock.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __GLOCK_DOT_H__ | 7 | #ifndef __GLOCK_DOT_H__ |
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index 24ada3ccc525..cf4c767005b1 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/spinlock.h> | 7 | #include <linux/spinlock.h> |
diff --git a/fs/gfs2/glops.h b/fs/gfs2/glops.h index 8ed1857c1a8d..2dd192e85618 100644 --- a/fs/gfs2/glops.h +++ b/fs/gfs2/glops.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __GLOPS_DOT_H__ | 7 | #ifndef __GLOPS_DOT_H__ |
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index b15755068593..c9af93ac6c73 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __INCORE_DOT_H__ | 7 | #ifndef __INCORE_DOT_H__ |
@@ -345,7 +342,6 @@ enum { | |||
345 | GLF_OBJECT = 14, /* Used only for tracing */ | 342 | GLF_OBJECT = 14, /* Used only for tracing */ |
346 | GLF_BLOCKING = 15, | 343 | GLF_BLOCKING = 15, |
347 | GLF_INODE_CREATING = 16, /* Inode creation occurring */ | 344 | GLF_INODE_CREATING = 16, /* Inode creation occurring */ |
348 | GLF_REVOKES = 17, /* Glock has revokes in queue */ | ||
349 | }; | 345 | }; |
350 | 346 | ||
351 | struct gfs2_glock { | 347 | struct gfs2_glock { |
@@ -375,6 +371,7 @@ struct gfs2_glock { | |||
375 | struct list_head gl_lru; | 371 | struct list_head gl_lru; |
376 | struct list_head gl_ail_list; | 372 | struct list_head gl_ail_list; |
377 | atomic_t gl_ail_count; | 373 | atomic_t gl_ail_count; |
374 | atomic_t gl_revokes; | ||
378 | struct delayed_work gl_work; | 375 | struct delayed_work gl_work; |
379 | union { | 376 | union { |
380 | /* For inode and iopen glocks only */ | 377 | /* For inode and iopen glocks only */ |
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 998051c4aea7..b296c59832a7 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/slab.h> | 7 | #include <linux/slab.h> |
diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h index 18d4af7417fa..580adbf0b5e1 100644 --- a/fs/gfs2/inode.h +++ b/fs/gfs2/inode.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __INODE_DOT_H__ | 7 | #ifndef __INODE_DOT_H__ |
diff --git a/fs/gfs2/lock_dlm.c b/fs/gfs2/lock_dlm.c index 31df26ed7854..4361804646d8 100644 --- a/fs/gfs2/lock_dlm.c +++ b/fs/gfs2/lock_dlm.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright 2004-2011 Red Hat, Inc. | 4 | * Copyright 2004-2011 Red Hat, Inc. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
@@ -31,9 +28,10 @@ | |||
31 | * @delta is the difference between the current rtt sample and the | 28 | * @delta is the difference between the current rtt sample and the |
32 | * running average srtt. We add 1/8 of that to the srtt in order to | 29 | * running average srtt. We add 1/8 of that to the srtt in order to |
33 | * update the current srtt estimate. The variance estimate is a bit | 30 | * update the current srtt estimate. The variance estimate is a bit |
34 | * more complicated. We subtract the abs value of the @delta from | 31 | * more complicated. We subtract the current variance estimate from |
35 | * the current variance estimate and add 1/4 of that to the running | 32 | * the abs value of the @delta and add 1/4 of that to the running |
36 | * total. | 33 | * total. That's equivalent to 3/4 of the current variance |
34 | * estimate plus 1/4 of the abs of @delta. | ||
37 | * | 35 | * |
38 | * Note that the index points at the array entry containing the smoothed | 36 | * Note that the index points at the array entry containing the smoothed |
39 | * mean value, and the variance is always in the following entry | 37 | * mean value, and the variance is always in the following entry |
@@ -49,7 +47,7 @@ static inline void gfs2_update_stats(struct gfs2_lkstats *s, unsigned index, | |||
49 | s64 delta = sample - s->stats[index]; | 47 | s64 delta = sample - s->stats[index]; |
50 | s->stats[index] += (delta >> 3); | 48 | s->stats[index] += (delta >> 3); |
51 | index++; | 49 | index++; |
52 | s->stats[index] += ((abs(delta) - s->stats[index]) >> 2); | 50 | s->stats[index] += (s64)(abs(delta) - s->stats[index]) >> 2; |
53 | } | 51 | } |
54 | 52 | ||
55 | /** | 53 | /** |
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index a2e1df488df0..c4c9700c366e 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
@@ -606,10 +603,8 @@ void gfs2_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd) | |||
606 | gfs2_remove_from_ail(bd); /* drops ref on bh */ | 603 | gfs2_remove_from_ail(bd); /* drops ref on bh */ |
607 | bd->bd_bh = NULL; | 604 | bd->bd_bh = NULL; |
608 | sdp->sd_log_num_revoke++; | 605 | sdp->sd_log_num_revoke++; |
609 | if (!test_bit(GLF_REVOKES, &gl->gl_flags)) { | 606 | if (atomic_inc_return(&gl->gl_revokes) == 1) |
610 | set_bit(GLF_REVOKES, &gl->gl_flags); | ||
611 | gfs2_glock_hold(gl); | 607 | gfs2_glock_hold(gl); |
612 | } | ||
613 | set_bit(GLF_LFLUSH, &gl->gl_flags); | 608 | set_bit(GLF_LFLUSH, &gl->gl_flags); |
614 | list_add(&bd->bd_list, &sdp->sd_log_revokes); | 609 | list_add(&bd->bd_list, &sdp->sd_log_revokes); |
615 | } | 610 | } |
diff --git a/fs/gfs2/log.h b/fs/gfs2/log.h index 7a34a3234266..2315fca47a2b 100644 --- a/fs/gfs2/log.h +++ b/fs/gfs2/log.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __LOG_DOT_H__ | 7 | #ifndef __LOG_DOT_H__ |
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 33ab662c9aac..1921cda034fd 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
@@ -860,34 +857,19 @@ static void revoke_lo_before_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr) | |||
860 | static void revoke_lo_after_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr) | 857 | static void revoke_lo_after_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr) |
861 | { | 858 | { |
862 | struct list_head *head = &sdp->sd_log_revokes; | 859 | struct list_head *head = &sdp->sd_log_revokes; |
863 | struct gfs2_bufdata *bd, *tmp; | 860 | struct gfs2_bufdata *bd; |
864 | 861 | struct gfs2_glock *gl; | |
865 | /* | ||
866 | * Glocks can be referenced repeatedly on the revoke list, but the list | ||
867 | * only holds one reference. All glocks on the list will have the | ||
868 | * GLF_REVOKES flag set initially. | ||
869 | */ | ||
870 | |||
871 | list_for_each_entry_safe(bd, tmp, head, bd_list) { | ||
872 | struct gfs2_glock *gl = bd->bd_gl; | ||
873 | 862 | ||
874 | if (test_bit(GLF_REVOKES, &gl->gl_flags)) { | 863 | while (!list_empty(head)) { |
875 | /* Keep each glock on the list exactly once. */ | 864 | bd = list_entry(head->next, struct gfs2_bufdata, bd_list); |
876 | clear_bit(GLF_REVOKES, &gl->gl_flags); | 865 | list_del_init(&bd->bd_list); |
877 | continue; | 866 | gl = bd->bd_gl; |
867 | if (atomic_dec_return(&gl->gl_revokes) == 0) { | ||
868 | clear_bit(GLF_LFLUSH, &gl->gl_flags); | ||
869 | gfs2_glock_queue_put(gl); | ||
878 | } | 870 | } |
879 | list_del(&bd->bd_list); | ||
880 | kmem_cache_free(gfs2_bufdata_cachep, bd); | ||
881 | } | ||
882 | list_for_each_entry_safe(bd, tmp, head, bd_list) { | ||
883 | struct gfs2_glock *gl = bd->bd_gl; | ||
884 | |||
885 | list_del(&bd->bd_list); | ||
886 | kmem_cache_free(gfs2_bufdata_cachep, bd); | 871 | kmem_cache_free(gfs2_bufdata_cachep, bd); |
887 | clear_bit(GLF_LFLUSH, &gl->gl_flags); | ||
888 | gfs2_glock_queue_put(gl); | ||
889 | } | 872 | } |
890 | /* the list is empty now */ | ||
891 | } | 873 | } |
892 | 874 | ||
893 | static void revoke_lo_before_scan(struct gfs2_jdesc *jd, | 875 | static void revoke_lo_before_scan(struct gfs2_jdesc *jd, |
diff --git a/fs/gfs2/lops.h b/fs/gfs2/lops.h index f195ffb435ac..9c059957a733 100644 --- a/fs/gfs2/lops.h +++ b/fs/gfs2/lops.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __LOPS_DOT_H__ | 7 | #ifndef __LOPS_DOT_H__ |
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c index c700738de1f7..a1a295b739fb 100644 --- a/fs/gfs2/main.c +++ b/fs/gfs2/main.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
@@ -59,6 +56,7 @@ static void gfs2_init_glock_once(void *foo) | |||
59 | INIT_LIST_HEAD(&gl->gl_lru); | 56 | INIT_LIST_HEAD(&gl->gl_lru); |
60 | INIT_LIST_HEAD(&gl->gl_ail_list); | 57 | INIT_LIST_HEAD(&gl->gl_ail_list); |
61 | atomic_set(&gl->gl_ail_count, 0); | 58 | atomic_set(&gl->gl_ail_count, 0); |
59 | atomic_set(&gl->gl_revokes, 0); | ||
62 | } | 60 | } |
63 | 61 | ||
64 | static void gfs2_init_gl_aspace_once(void *foo) | 62 | static void gfs2_init_gl_aspace_once(void *foo) |
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c index ff86e1d4f8ff..456763e18def 100644 --- a/fs/gfs2/meta_io.c +++ b/fs/gfs2/meta_io.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
diff --git a/fs/gfs2/meta_io.h b/fs/gfs2/meta_io.h index ffdf6aa3509d..eafb74e861c6 100644 --- a/fs/gfs2/meta_io.h +++ b/fs/gfs2/meta_io.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __DIO_DOT_H__ | 7 | #ifndef __DIO_DOT_H__ |
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 46f6615eaf12..08823bb3b2d0 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index 2ae5a109eea7..8189b581236d 100644 --- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | /* | 7 | /* |
diff --git a/fs/gfs2/quota.h b/fs/gfs2/quota.h index 836f29480be6..765627d9a91e 100644 --- a/fs/gfs2/quota.h +++ b/fs/gfs2/quota.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __QUOTA_DOT_H__ | 7 | #ifndef __QUOTA_DOT_H__ |
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c index 389b3ef77e20..2299a3fa1911 100644 --- a/fs/gfs2/recovery.c +++ b/fs/gfs2/recovery.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/module.h> | 7 | #include <linux/module.h> |
diff --git a/fs/gfs2/recovery.h b/fs/gfs2/recovery.h index 1831a1974c8c..0d30f8e804f4 100644 --- a/fs/gfs2/recovery.h +++ b/fs/gfs2/recovery.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __RECOVERY_DOT_H__ | 7 | #ifndef __RECOVERY_DOT_H__ |
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 15d6e32de55f..36f20a89d0c2 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/gfs2/rgrp.h b/fs/gfs2/rgrp.h index 499079a9dbbe..6a3adf0ee0b7 100644 --- a/fs/gfs2/rgrp.h +++ b/fs/gfs2/rgrp.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __RGRP_DOT_H__ | 7 | #ifndef __RGRP_DOT_H__ |
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index fbf6b1fd330b..b70cea5c8c59 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
@@ -1477,7 +1474,7 @@ static void gfs2_final_release_pages(struct gfs2_inode *ip) | |||
1477 | truncate_inode_pages(gfs2_glock2aspace(ip->i_gl), 0); | 1474 | truncate_inode_pages(gfs2_glock2aspace(ip->i_gl), 0); |
1478 | truncate_inode_pages(&inode->i_data, 0); | 1475 | truncate_inode_pages(&inode->i_data, 0); |
1479 | 1476 | ||
1480 | if (!test_bit(GLF_REVOKES, &gl->gl_flags)) { | 1477 | if (atomic_read(&gl->gl_revokes) == 0) { |
1481 | clear_bit(GLF_LFLUSH, &gl->gl_flags); | 1478 | clear_bit(GLF_LFLUSH, &gl->gl_flags); |
1482 | clear_bit(GLF_DIRTY, &gl->gl_flags); | 1479 | clear_bit(GLF_DIRTY, &gl->gl_flags); |
1483 | } | 1480 | } |
diff --git a/fs/gfs2/super.h b/fs/gfs2/super.h index 73c97dccae21..c5f42f0c503b 100644 --- a/fs/gfs2/super.h +++ b/fs/gfs2/super.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __SUPER_DOT_H__ | 7 | #ifndef __SUPER_DOT_H__ |
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c index 08e4996adc23..159aedf63c2a 100644 --- a/fs/gfs2/sys.c +++ b/fs/gfs2/sys.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/gfs2/sys.h b/fs/gfs2/sys.h index 79182d6ad6ac..f8dacf20e1a4 100644 --- a/fs/gfs2/sys.h +++ b/fs/gfs2/sys.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __SYS_DOT_H__ | 7 | #ifndef __SYS_DOT_H__ |
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c index d328da7cde36..6f67ef7aa412 100644 --- a/fs/gfs2/trans.c +++ b/fs/gfs2/trans.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/gfs2/trans.h b/fs/gfs2/trans.h index 1e39f056ccb7..6071334de035 100644 --- a/fs/gfs2/trans.h +++ b/fs/gfs2/trans.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __TRANS_DOT_H__ | 7 | #ifndef __TRANS_DOT_H__ |
diff --git a/fs/gfs2/util.c b/fs/gfs2/util.c index 0a814ccac41d..a7e55234211f 100644 --- a/fs/gfs2/util.c +++ b/fs/gfs2/util.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/gfs2/util.h b/fs/gfs2/util.h index 9278fecba632..4b68b2c1fe56 100644 --- a/fs/gfs2/util.h +++ b/fs/gfs2/util.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __UTIL_DOT_H__ | 7 | #ifndef __UTIL_DOT_H__ |
diff --git a/fs/gfs2/xattr.c b/fs/gfs2/xattr.c index 675e704830df..bbe593d16bea 100644 --- a/fs/gfs2/xattr.c +++ b/fs/gfs2/xattr.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/slab.h> | 7 | #include <linux/slab.h> |
diff --git a/fs/gfs2/xattr.h b/fs/gfs2/xattr.h index 2d887c88eb49..2aed9d7d483d 100644 --- a/fs/gfs2/xattr.h +++ b/fs/gfs2/xattr.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. | 4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
4 | * | ||
5 | * This copyrighted material is made available to anyone wishing to use, | ||
6 | * modify, copy, or redistribute it subject to the terms and conditions | ||
7 | * of the GNU General Public License version 2. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #ifndef __EATTR_DOT_H__ | 7 | #ifndef __EATTR_DOT_H__ |
diff --git a/fs/hfs/Kconfig b/fs/hfs/Kconfig index 998e3a6decf3..44f6e89bcb75 100644 --- a/fs/hfs/Kconfig +++ b/fs/hfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config HFS_FS | 2 | config HFS_FS |
2 | tristate "Apple Macintosh file system support" | 3 | tristate "Apple Macintosh file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/hfs/Makefile b/fs/hfs/Makefile index c41f5a85f42d..b65459bf3dc4 100644 --- a/fs/hfs/Makefile +++ b/fs/hfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux hfs filesystem routines. | 3 | # Makefile for the Linux hfs filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/hfsplus/Kconfig b/fs/hfsplus/Kconfig index a63371815aab..7d4229aecec0 100644 --- a/fs/hfsplus/Kconfig +++ b/fs/hfsplus/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config HFSPLUS_FS | 2 | config HFSPLUS_FS |
2 | tristate "Apple Extended HFS file system support" | 3 | tristate "Apple Extended HFS file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c index 0cc5feff76cd..2b9e5743105e 100644 --- a/fs/hfsplus/super.c +++ b/fs/hfsplus/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/hfsplus/super.c | 3 | * linux/fs/hfsplus/super.c |
3 | * | 4 | * |
diff --git a/fs/hpfs/Kconfig b/fs/hpfs/Kconfig index 56bd15c5bf6c..56aa0336254a 100644 --- a/fs/hpfs/Kconfig +++ b/fs/hpfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config HPFS_FS | 2 | config HPFS_FS |
2 | tristate "OS/2 HPFS file system support" | 3 | tristate "OS/2 HPFS file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/hpfs/Makefile b/fs/hpfs/Makefile index 57b786fb9827..153c17382c19 100644 --- a/fs/hpfs/Makefile +++ b/fs/hpfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux hpfs filesystem routines. | 3 | # Makefile for the Linux hpfs filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index ed4264bca790..9db6d84f0d62 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/hpfs/super.c | 3 | * linux/fs/hpfs/super.c |
3 | * | 4 | * |
diff --git a/fs/hugetlbfs/Makefile b/fs/hugetlbfs/Makefile index 6adf870c63c6..d876ecfbe6bb 100644 --- a/fs/hugetlbfs/Makefile +++ b/fs/hugetlbfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux ramfs routines. | 3 | # Makefile for the linux ramfs routines. |
3 | # | 4 | # |
diff --git a/fs/inode.c b/fs/inode.c index e9d18b2c3f91..2bf21e2c90fc 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * (C) 1997 Linus Torvalds | 3 | * (C) 1997 Linus Torvalds |
3 | * (C) 1999 Andrea Arcangeli <andrea@suse.de> (dynamic inode allocation) | 4 | * (C) 1999 Andrea Arcangeli <andrea@suse.de> (dynamic inode allocation) |
@@ -361,7 +362,7 @@ EXPORT_SYMBOL(inc_nlink); | |||
361 | 362 | ||
362 | static void __address_space_init_once(struct address_space *mapping) | 363 | static void __address_space_init_once(struct address_space *mapping) |
363 | { | 364 | { |
364 | xa_init_flags(&mapping->i_pages, XA_FLAGS_LOCK_IRQ); | 365 | xa_init_flags(&mapping->i_pages, XA_FLAGS_LOCK_IRQ | XA_FLAGS_ACCOUNT); |
365 | init_rwsem(&mapping->i_mmap_rwsem); | 366 | init_rwsem(&mapping->i_mmap_rwsem); |
366 | INIT_LIST_HEAD(&mapping->private_list); | 367 | INIT_LIST_HEAD(&mapping->private_list); |
367 | spin_lock_init(&mapping->private_lock); | 368 | spin_lock_init(&mapping->private_lock); |
diff --git a/fs/internal.h b/fs/internal.h index 0010889f2e85..a48ef81be37d 100644 --- a/fs/internal.h +++ b/fs/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* fs/ internal definitions | 2 | /* fs/ internal definitions |
2 | * | 3 | * |
3 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | struct super_block; | 8 | struct super_block; |
diff --git a/fs/io_uring.c b/fs/io_uring.c index 310f8d17c53e..4ef62a45045d 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c | |||
@@ -579,6 +579,7 @@ static struct io_kiocb *io_get_req(struct io_ring_ctx *ctx, | |||
579 | state->cur_req++; | 579 | state->cur_req++; |
580 | } | 580 | } |
581 | 581 | ||
582 | req->file = NULL; | ||
582 | req->ctx = ctx; | 583 | req->ctx = ctx; |
583 | req->flags = 0; | 584 | req->flags = 0; |
584 | /* one is dropped after submission, the other at completion */ | 585 | /* one is dropped after submission, the other at completion */ |
@@ -1801,10 +1802,8 @@ static int io_req_set_file(struct io_ring_ctx *ctx, const struct sqe_submit *s, | |||
1801 | req->sequence = ctx->cached_sq_head - 1; | 1802 | req->sequence = ctx->cached_sq_head - 1; |
1802 | } | 1803 | } |
1803 | 1804 | ||
1804 | if (!io_op_needs_file(s->sqe)) { | 1805 | if (!io_op_needs_file(s->sqe)) |
1805 | req->file = NULL; | ||
1806 | return 0; | 1806 | return 0; |
1807 | } | ||
1808 | 1807 | ||
1809 | if (flags & IOSQE_FIXED_FILE) { | 1808 | if (flags & IOSQE_FIXED_FILE) { |
1810 | if (unlikely(!ctx->user_files || | 1809 | if (unlikely(!ctx->user_files || |
@@ -2201,11 +2200,12 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, | |||
2201 | } | 2200 | } |
2202 | 2201 | ||
2203 | ret = wait_event_interruptible(ctx->wait, io_cqring_events(ring) >= min_events); | 2202 | ret = wait_event_interruptible(ctx->wait, io_cqring_events(ring) >= min_events); |
2204 | if (ret == -ERESTARTSYS) | ||
2205 | ret = -EINTR; | ||
2206 | 2203 | ||
2207 | if (sig) | 2204 | if (sig) |
2208 | restore_user_sigmask(sig, &sigsaved); | 2205 | restore_user_sigmask(sig, &sigsaved, ret == -ERESTARTSYS); |
2206 | |||
2207 | if (ret == -ERESTARTSYS) | ||
2208 | ret = -EINTR; | ||
2209 | 2209 | ||
2210 | return READ_ONCE(ring->r.head) == READ_ONCE(ring->r.tail) ? ret : 0; | 2210 | return READ_ONCE(ring->r.head) == READ_ONCE(ring->r.tail) ? ret : 0; |
2211 | } | 2211 | } |
@@ -2616,7 +2616,7 @@ static int io_sqe_buffer_register(struct io_ring_ctx *ctx, void __user *arg, | |||
2616 | 2616 | ||
2617 | ret = io_copy_iov(ctx, &iov, arg, i); | 2617 | ret = io_copy_iov(ctx, &iov, arg, i); |
2618 | if (ret) | 2618 | if (ret) |
2619 | break; | 2619 | goto err; |
2620 | 2620 | ||
2621 | /* | 2621 | /* |
2622 | * Don't impose further limits on the size and buffer | 2622 | * Don't impose further limits on the size and buffer |
@@ -2777,8 +2777,10 @@ static void io_ring_ctx_free(struct io_ring_ctx *ctx) | |||
2777 | io_eventfd_unregister(ctx); | 2777 | io_eventfd_unregister(ctx); |
2778 | 2778 | ||
2779 | #if defined(CONFIG_UNIX) | 2779 | #if defined(CONFIG_UNIX) |
2780 | if (ctx->ring_sock) | 2780 | if (ctx->ring_sock) { |
2781 | ctx->ring_sock->file = NULL; /* so that iput() is called */ | ||
2781 | sock_release(ctx->ring_sock); | 2782 | sock_release(ctx->ring_sock); |
2783 | } | ||
2782 | #endif | 2784 | #endif |
2783 | 2785 | ||
2784 | io_mem_free(ctx->sq_ring); | 2786 | io_mem_free(ctx->sq_ring); |
diff --git a/fs/iomap.c b/fs/iomap.c index 23ef63fd1669..12654c2e78f8 100644 --- a/fs/iomap.c +++ b/fs/iomap.c | |||
@@ -287,7 +287,7 @@ iomap_readpage_actor(struct inode *inode, loff_t pos, loff_t length, void *data, | |||
287 | struct iomap_readpage_ctx *ctx = data; | 287 | struct iomap_readpage_ctx *ctx = data; |
288 | struct page *page = ctx->cur_page; | 288 | struct page *page = ctx->cur_page; |
289 | struct iomap_page *iop = iomap_page_create(inode, page); | 289 | struct iomap_page *iop = iomap_page_create(inode, page); |
290 | bool is_contig = false; | 290 | bool same_page = false, is_contig = false; |
291 | loff_t orig_pos = pos; | 291 | loff_t orig_pos = pos; |
292 | unsigned poff, plen; | 292 | unsigned poff, plen; |
293 | sector_t sector; | 293 | sector_t sector; |
@@ -315,10 +315,14 @@ iomap_readpage_actor(struct inode *inode, loff_t pos, loff_t length, void *data, | |||
315 | * Try to merge into a previous segment if we can. | 315 | * Try to merge into a previous segment if we can. |
316 | */ | 316 | */ |
317 | sector = iomap_sector(iomap, pos); | 317 | sector = iomap_sector(iomap, pos); |
318 | if (ctx->bio && bio_end_sector(ctx->bio) == sector) { | 318 | if (ctx->bio && bio_end_sector(ctx->bio) == sector) |
319 | if (__bio_try_merge_page(ctx->bio, page, plen, poff, true)) | ||
320 | goto done; | ||
321 | is_contig = true; | 319 | is_contig = true; |
320 | |||
321 | if (is_contig && | ||
322 | __bio_try_merge_page(ctx->bio, page, plen, poff, &same_page)) { | ||
323 | if (!same_page && iop) | ||
324 | atomic_inc(&iop->read_count); | ||
325 | goto done; | ||
322 | } | 326 | } |
323 | 327 | ||
324 | /* | 328 | /* |
diff --git a/fs/isofs/Kconfig b/fs/isofs/Kconfig index 8ab9878e3671..5e7419599f50 100644 --- a/fs/isofs/Kconfig +++ b/fs/isofs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config ISO9660_FS | 2 | config ISO9660_FS |
2 | tristate "ISO 9660 CDROM file system support" | 3 | tristate "ISO 9660 CDROM file system support" |
3 | help | 4 | help |
diff --git a/fs/isofs/compress.c b/fs/isofs/compress.c index 10205ececc27..bc12ac7e2312 100644 --- a/fs/isofs/compress.c +++ b/fs/isofs/compress.c | |||
@@ -1,13 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- linux-c -*- ------------------------------------------------------- * | 2 | /* -*- linux-c -*- ------------------------------------------------------- * |
2 | * | 3 | * |
3 | * Copyright 2001 H. Peter Anvin - All Rights Reserved | 4 | * Copyright 2001 H. Peter Anvin - All Rights Reserved |
4 | * | 5 | * |
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, | ||
8 | * USA; either version 2 of the License, or (at your option) any later | ||
9 | * version; incorporated herein by reference. | ||
10 | * | ||
11 | * ----------------------------------------------------------------------- */ | 6 | * ----------------------------------------------------------------------- */ |
12 | 7 | ||
13 | /* | 8 | /* |
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index 603b052a3c94..9e30d8703735 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/isofs/inode.c | 3 | * linux/fs/isofs/inode.c |
3 | * | 4 | * |
diff --git a/fs/isofs/zisofs.h b/fs/isofs/zisofs.h index 273795709155..70f1a218fc92 100644 --- a/fs/isofs/zisofs.h +++ b/fs/isofs/zisofs.h | |||
@@ -1,13 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* ----------------------------------------------------------------------- * | 2 | /* ----------------------------------------------------------------------- * |
2 | * | 3 | * |
3 | * Copyright 2001 H. Peter Anvin - All Rights Reserved | 4 | * Copyright 2001 H. Peter Anvin - All Rights Reserved |
4 | * | 5 | * |
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, | ||
8 | * USA; either version 2 of the License, or (at your option) any later | ||
9 | * version; incorporated herein by reference. | ||
10 | * | ||
11 | * ----------------------------------------------------------------------- */ | 6 | * ----------------------------------------------------------------------- */ |
12 | 7 | ||
13 | /* | 8 | /* |
diff --git a/fs/jbd2/Kconfig b/fs/jbd2/Kconfig index 5a9f5534d57b..4ad2c67f93f1 100644 --- a/fs/jbd2/Kconfig +++ b/fs/jbd2/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config JBD2 | 2 | config JBD2 |
2 | tristate | 3 | tristate |
3 | select CRC32 | 4 | select CRC32 |
diff --git a/fs/jbd2/Makefile b/fs/jbd2/Makefile index 802a3413872a..126b4da6c7de 100644 --- a/fs/jbd2/Makefile +++ b/fs/jbd2/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux journaling routines. | 3 | # Makefile for the linux journaling routines. |
3 | # | 4 | # |
diff --git a/fs/jffs2/Kconfig b/fs/jffs2/Kconfig index ad850c5bf2ca..7c96bc107218 100644 --- a/fs/jffs2/Kconfig +++ b/fs/jffs2/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config JFFS2_FS | 2 | config JFFS2_FS |
2 | tristate "Journalling Flash File System v2 (JFFS2) support" | 3 | tristate "Journalling Flash File System v2 (JFFS2) support" |
3 | select CRC32 | 4 | select CRC32 |
diff --git a/fs/jfs/Kconfig b/fs/jfs/Kconfig index 851de78fdabb..22a273bd4648 100644 --- a/fs/jfs/Kconfig +++ b/fs/jfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config JFS_FS | 2 | config JFS_FS |
2 | tristate "JFS filesystem support" | 3 | tristate "JFS filesystem support" |
3 | select NLS | 4 | select NLS |
diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c index ebb299003a5b..92cc0ac2d1fc 100644 --- a/fs/jfs/acl.c +++ b/fs/jfs/acl.c | |||
@@ -1,21 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2002-2004 | 3 | * Copyright (C) International Business Machines Corp., 2002-2004 |
3 | * Copyright (C) Andreas Gruenbacher, 2001 | 4 | * Copyright (C) Andreas Gruenbacher, 2001 |
4 | * Copyright (C) Linus Torvalds, 1991, 1992 | 5 | * Copyright (C) Linus Torvalds, 1991, 1992 |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
14 | * the GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | 6 | */ |
20 | 7 | ||
21 | #include <linux/sched.h> | 8 | #include <linux/sched.h> |
diff --git a/fs/jfs/file.c b/fs/jfs/file.c index 36665fd37095..930d2701f206 100644 --- a/fs/jfs/file.c +++ b/fs/jfs/file.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index f2b92b292abe..9486afcdac76 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_acl.h b/fs/jfs/jfs_acl.h index 489f993b7b13..9f8f92dd6f84 100644 --- a/fs/jfs/jfs_acl.h +++ b/fs/jfs/jfs_acl.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2002 | 3 | * Copyright (C) International Business Machines Corp., 2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_ACL | 5 | #ifndef _H_JFS_ACL |
19 | #define _H_JFS_ACL | 6 | #define _H_JFS_ACL |
diff --git a/fs/jfs/jfs_btree.h b/fs/jfs/jfs_btree.h index 79c61805bd33..ce055ef50cd3 100644 --- a/fs/jfs/jfs_btree.h +++ b/fs/jfs/jfs_btree.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_BTREE | 5 | #ifndef _H_JFS_BTREE |
19 | #define _H_JFS_BTREE | 6 | #define _H_JFS_BTREE |
diff --git a/fs/jfs/jfs_debug.c b/fs/jfs/jfs_debug.c index 35a5b2a81ae0..888cdd685a1e 100644 --- a/fs/jfs/jfs_debug.c +++ b/fs/jfs/jfs_debug.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_debug.h b/fs/jfs/jfs_debug.h index 0d9e35da8462..48e2150c092e 100644 --- a/fs/jfs/jfs_debug.h +++ b/fs/jfs/jfs_debug.h | |||
@@ -1,20 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | #ifndef _H_JFS_DEBUG | 6 | #ifndef _H_JFS_DEBUG |
20 | #define _H_JFS_DEBUG | 7 | #define _H_JFS_DEBUG |
diff --git a/fs/jfs/jfs_dinode.h b/fs/jfs/jfs_dinode.h index 1682a87c00b2..5fa9fd594115 100644 --- a/fs/jfs/jfs_dinode.h +++ b/fs/jfs/jfs_dinode.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2001 | 3 | * Copyright (C) International Business Machines Corp., 2000-2001 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_DINODE | 5 | #ifndef _H_JFS_DINODE |
19 | #define _H_JFS_DINODE | 6 | #define _H_JFS_DINODE |
diff --git a/fs/jfs/jfs_discard.c b/fs/jfs/jfs_discard.c index f76ff0a46444..575cb2ba74fc 100644 --- a/fs/jfs/jfs_discard.c +++ b/fs/jfs/jfs_discard.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Tino Reichardt, 2012 | 3 | * Copyright (C) Tino Reichardt, 2012 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_discard.h b/fs/jfs/jfs_discard.h index 40d1ee6081a0..05215fa27ebb 100644 --- a/fs/jfs/jfs_discard.h +++ b/fs/jfs/jfs_discard.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Tino Reichardt, 2012 | 3 | * Copyright (C) Tino Reichardt, 2012 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_DISCARD | 5 | #ifndef _H_JFS_DISCARD |
19 | #define _H_JFS_DISCARD | 6 | #define _H_JFS_DISCARD |
diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c index 49263e220dbc..caade185e568 100644 --- a/fs/jfs/jfs_dmap.c +++ b/fs/jfs/jfs_dmap.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Tino Reichardt, 2012 | 4 | * Portions Copyright (C) Tino Reichardt, 2012 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_dmap.h b/fs/jfs/jfs_dmap.h index 562b9a7e4311..29891fad3f09 100644 --- a/fs/jfs/jfs_dmap.h +++ b/fs/jfs/jfs_dmap.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_DMAP | 5 | #ifndef _H_JFS_DMAP |
19 | #define _H_JFS_DMAP | 6 | #define _H_JFS_DMAP |
diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c index 52bae3f5c914..3acc954f7c04 100644 --- a/fs/jfs/jfs_dtree.c +++ b/fs/jfs/jfs_dtree.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | /* | 6 | /* |
diff --git a/fs/jfs/jfs_dtree.h b/fs/jfs/jfs_dtree.h index fd4169e6e698..1758289647a0 100644 --- a/fs/jfs/jfs_dtree.h +++ b/fs/jfs/jfs_dtree.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_DTREE | 5 | #ifndef _H_JFS_DTREE |
19 | #define _H_JFS_DTREE | 6 | #define _H_JFS_DTREE |
diff --git a/fs/jfs/jfs_extent.c b/fs/jfs/jfs_extent.c index 2ae7d59ab10a..f65bd6b35412 100644 --- a/fs/jfs/jfs_extent.c +++ b/fs/jfs/jfs_extent.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_extent.h b/fs/jfs/jfs_extent.h index b567e12c52d3..dd635a8a0f8c 100644 --- a/fs/jfs/jfs_extent.h +++ b/fs/jfs/jfs_extent.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2001 | 3 | * Copyright (C) International Business Machines Corp., 2000-2001 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_EXTENT | 5 | #ifndef _H_JFS_EXTENT |
19 | #define _H_JFS_EXTENT | 6 | #define _H_JFS_EXTENT |
diff --git a/fs/jfs/jfs_filsys.h b/fs/jfs/jfs_filsys.h index b67d64671bb4..1e899298f7f0 100644 --- a/fs/jfs/jfs_filsys.h +++ b/fs/jfs/jfs_filsys.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2003 | 3 | * Copyright (C) International Business Machines Corp., 2000-2003 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_FILSYS | 5 | #ifndef _H_JFS_FILSYS |
19 | #define _H_JFS_FILSYS | 6 | #define _H_JFS_FILSYS |
diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index 93e8c590ff5c..937ca07b58b1 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | /* | 6 | /* |
diff --git a/fs/jfs/jfs_imap.h b/fs/jfs/jfs_imap.h index 610a0e9d8941..dd7409febe28 100644 --- a/fs/jfs/jfs_imap.h +++ b/fs/jfs/jfs_imap.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_IMAP | 5 | #ifndef _H_JFS_IMAP |
19 | #define _H_JFS_IMAP | 6 | #define _H_JFS_IMAP |
diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h index 340eb8e4f716..a466ec41cfbb 100644 --- a/fs/jfs/jfs_incore.h +++ b/fs/jfs/jfs_incore.h | |||
@@ -1,20 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | #ifndef _H_JFS_INCORE | 6 | #ifndef _H_JFS_INCORE |
20 | #define _H_JFS_INCORE | 7 | #define _H_JFS_INCORE |
diff --git a/fs/jfs/jfs_inode.c b/fs/jfs/jfs_inode.c index 4572b7cf183d..4cef170630db 100644 --- a/fs/jfs/jfs_inode.c +++ b/fs/jfs/jfs_inode.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_inode.h b/fs/jfs/jfs_inode.h index 7b0b3a40788f..70a0d12e427e 100644 --- a/fs/jfs/jfs_inode.h +++ b/fs/jfs/jfs_inode.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2001 | 3 | * Copyright (C) International Business Machines Corp., 2000-2001 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_INODE | 5 | #ifndef _H_JFS_INODE |
19 | #define _H_JFS_INODE | 6 | #define _H_JFS_INODE |
diff --git a/fs/jfs/jfs_lock.h b/fs/jfs/jfs_lock.h index ecf04882265e..feb37dd9debf 100644 --- a/fs/jfs/jfs_lock.h +++ b/fs/jfs/jfs_lock.h | |||
@@ -1,20 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2001 | 3 | * Copyright (C) International Business Machines Corp., 2000-2001 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | #ifndef _H_JFS_LOCK | 6 | #ifndef _H_JFS_LOCK |
20 | #define _H_JFS_LOCK | 7 | #define _H_JFS_LOCK |
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c index 4c77b808020b..9330eff210e0 100644 --- a/fs/jfs/jfs_logmgr.c +++ b/fs/jfs/jfs_logmgr.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | /* | 7 | /* |
diff --git a/fs/jfs/jfs_logmgr.h b/fs/jfs/jfs_logmgr.h index 870fc22360e7..7fd125c8dd19 100644 --- a/fs/jfs/jfs_logmgr.h +++ b/fs/jfs/jfs_logmgr.h | |||
@@ -1,20 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | #ifndef _H_JFS_LOGMGR | 6 | #ifndef _H_JFS_LOGMGR |
20 | #define _H_JFS_LOGMGR | 7 | #define _H_JFS_LOGMGR |
diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c index fa2c6824c7f2..a2f5338a5ea1 100644 --- a/fs/jfs/jfs_metapage.c +++ b/fs/jfs/jfs_metapage.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2005 | 3 | * Copyright (C) International Business Machines Corp., 2000-2005 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_metapage.h b/fs/jfs/jfs_metapage.h index 8b0ee514eb84..4179f9df4deb 100644 --- a/fs/jfs/jfs_metapage.h +++ b/fs/jfs/jfs_metapage.h | |||
@@ -1,20 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | #ifndef _H_JFS_METAPAGE | 6 | #ifndef _H_JFS_METAPAGE |
20 | #define _H_JFS_METAPAGE | 7 | #define _H_JFS_METAPAGE |
diff --git a/fs/jfs/jfs_mount.c b/fs/jfs/jfs_mount.c index c9c1f16b93df..eb8b9e233d73 100644 --- a/fs/jfs/jfs_mount.c +++ b/fs/jfs/jfs_mount.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | /* | 6 | /* |
diff --git a/fs/jfs/jfs_superblock.h b/fs/jfs/jfs_superblock.h index eb03de7fa925..93402c42070f 100644 --- a/fs/jfs/jfs_superblock.h +++ b/fs/jfs/jfs_superblock.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2003 | 3 | * Copyright (C) International Business Machines Corp., 2000-2003 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_SUPERBLOCK | 5 | #ifndef _H_JFS_SUPERBLOCK |
19 | #define _H_JFS_SUPERBLOCK | 6 | #define _H_JFS_SUPERBLOCK |
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c index 78789c5ed36b..c8ce7f1bc594 100644 --- a/fs/jfs/jfs_txnmgr.c +++ b/fs/jfs/jfs_txnmgr.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2005 | 3 | * Copyright (C) International Business Machines Corp., 2000-2005 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | /* | 7 | /* |
diff --git a/fs/jfs/jfs_txnmgr.h b/fs/jfs/jfs_txnmgr.h index ab7288937019..ba71eb5ced56 100644 --- a/fs/jfs/jfs_txnmgr.h +++ b/fs/jfs/jfs_txnmgr.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_TXNMGR | 5 | #ifndef _H_JFS_TXNMGR |
19 | #define _H_JFS_TXNMGR | 6 | #define _H_JFS_TXNMGR |
diff --git a/fs/jfs/jfs_types.h b/fs/jfs/jfs_types.h index 8f602dcb51fa..3ff9f26bc3e6 100644 --- a/fs/jfs/jfs_types.h +++ b/fs/jfs/jfs_types.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_TYPES | 5 | #ifndef _H_JFS_TYPES |
19 | #define _H_JFS_TYPES | 6 | #define _H_JFS_TYPES |
diff --git a/fs/jfs/jfs_umount.c b/fs/jfs/jfs_umount.c index 7971f37534a3..3e8b13e6aa01 100644 --- a/fs/jfs/jfs_umount.c +++ b/fs/jfs/jfs_umount.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | /* | 6 | /* |
diff --git a/fs/jfs/jfs_unicode.c b/fs/jfs/jfs_unicode.c index 0148e2e4d97a..0c1e9027245a 100644 --- a/fs/jfs/jfs_unicode.c +++ b/fs/jfs/jfs_unicode.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_unicode.h b/fs/jfs/jfs_unicode.h index 8f0f02cb6ca6..9db62d047daa 100644 --- a/fs/jfs/jfs_unicode.h +++ b/fs/jfs/jfs_unicode.h | |||
@@ -1,20 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | #ifndef _H_JFS_UNICODE | 6 | #ifndef _H_JFS_UNICODE |
20 | #define _H_JFS_UNICODE | 7 | #define _H_JFS_UNICODE |
diff --git a/fs/jfs/jfs_uniupr.c b/fs/jfs/jfs_uniupr.c index cfe50666d312..d0b18c7befb8 100644 --- a/fs/jfs/jfs_uniupr.c +++ b/fs/jfs/jfs_uniupr.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/jfs_xattr.h b/fs/jfs/jfs_xattr.h index 561f6af46288..f0558b3348da 100644 --- a/fs/jfs/jfs_xattr.h +++ b/fs/jfs/jfs_xattr.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #ifndef H_JFS_XATTR | 6 | #ifndef H_JFS_XATTR |
diff --git a/fs/jfs/jfs_xtree.c b/fs/jfs/jfs_xtree.c index 2c200b5256a6..16ad920f6fb1 100644 --- a/fs/jfs/jfs_xtree.c +++ b/fs/jfs/jfs_xtree.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2005 | 3 | * Copyright (C) International Business Machines Corp., 2000-2005 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | /* | 5 | /* |
19 | * jfs_xtree.c: extent allocation descriptor B+-tree manager | 6 | * jfs_xtree.c: extent allocation descriptor B+-tree manager |
diff --git a/fs/jfs/jfs_xtree.h b/fs/jfs/jfs_xtree.h index 1e0987986d5f..5f51be8596b3 100644 --- a/fs/jfs/jfs_xtree.h +++ b/fs/jfs/jfs_xtree.h | |||
@@ -1,19 +1,6 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2002 | 3 | * Copyright (C) International Business Machines Corp., 2000-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | #ifndef _H_JFS_XTREE | 5 | #ifndef _H_JFS_XTREE |
19 | #define _H_JFS_XTREE | 6 | #define _H_JFS_XTREE |
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c index fa719a1553b6..7a55d14cc1af 100644 --- a/fs/jfs/namei.c +++ b/fs/jfs/namei.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/jfs/resize.c b/fs/jfs/resize.c index 7ddcb445a3d9..66acea9d878b 100644 --- a/fs/jfs/resize.c +++ b/fs/jfs/resize.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index 8f78fa374242..f4e10cb9f734 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 | 4 | * Portions Copyright (C) Christoph Hellwig, 2001-2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/jfs/symlink.c b/fs/jfs/symlink.c index 38320607993e..a040719aafc4 100644 --- a/fs/jfs/symlink.c +++ b/fs/jfs/symlink.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) Christoph Hellwig, 2001-2002 | 3 | * Copyright (C) Christoph Hellwig, 2001-2002 |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
12 | * the GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/fs.h> | 6 | #include <linux/fs.h> |
diff --git a/fs/jfs/xattr.c b/fs/jfs/xattr.c index a6797986b625..db41e7803163 100644 --- a/fs/jfs/xattr.c +++ b/fs/jfs/xattr.c | |||
@@ -1,20 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) International Business Machines Corp., 2000-2004 | 3 | * Copyright (C) International Business Machines Corp., 2000-2004 |
3 | * Copyright (C) Christoph Hellwig, 2002 | 4 | * Copyright (C) Christoph Hellwig, 2002 |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 5 | */ |
19 | 6 | ||
20 | #include <linux/capability.h> | 7 | #include <linux/capability.h> |
diff --git a/fs/kernfs/Kconfig b/fs/kernfs/Kconfig index 397b5f7a7a16..e7f09105f6e9 100644 --- a/fs/kernfs/Kconfig +++ b/fs/kernfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # KERNFS should be selected by its users | 3 | # KERNFS should be selected by its users |
3 | # | 4 | # |
diff --git a/fs/kernfs/Makefile b/fs/kernfs/Makefile index 674337c76673..4ca54ff54c98 100644 --- a/fs/kernfs/Makefile +++ b/fs/kernfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the kernfs pseudo filesystem | 3 | # Makefile for the kernfs pseudo filesystem |
3 | # | 4 | # |
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c index 016ba88f7335..a387534c9577 100644 --- a/fs/kernfs/dir.c +++ b/fs/kernfs/dir.c | |||
@@ -1,11 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/kernfs/dir.c - kernfs directory implementation | 3 | * fs/kernfs/dir.c - kernfs directory implementation |
3 | * | 4 | * |
4 | * Copyright (c) 2001-3 Patrick Mochel | 5 | * Copyright (c) 2001-3 Patrick Mochel |
5 | * Copyright (c) 2007 SUSE Linux Products GmbH | 6 | * Copyright (c) 2007 SUSE Linux Products GmbH |
6 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> | 7 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> |
7 | * | ||
8 | * This file is released under the GPLv2. | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 553ce0a92b05..e8c792b49616 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c | |||
@@ -1,11 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/kernfs/file.c - kernfs file implementation | 3 | * fs/kernfs/file.c - kernfs file implementation |
3 | * | 4 | * |
4 | * Copyright (c) 2001-3 Patrick Mochel | 5 | * Copyright (c) 2001-3 Patrick Mochel |
5 | * Copyright (c) 2007 SUSE Linux Products GmbH | 6 | * Copyright (c) 2007 SUSE Linux Products GmbH |
6 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> | 7 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> |
7 | * | ||
8 | * This file is released under the GPLv2. | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
diff --git a/fs/kernfs/inode.c b/fs/kernfs/inode.c index f89a0f13840e..f3f3984cce80 100644 --- a/fs/kernfs/inode.c +++ b/fs/kernfs/inode.c | |||
@@ -1,11 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/kernfs/inode.c - kernfs inode implementation | 3 | * fs/kernfs/inode.c - kernfs inode implementation |
3 | * | 4 | * |
4 | * Copyright (c) 2001-3 Patrick Mochel | 5 | * Copyright (c) 2001-3 Patrick Mochel |
5 | * Copyright (c) 2007 SUSE Linux Products GmbH | 6 | * Copyright (c) 2007 SUSE Linux Products GmbH |
6 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> | 7 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> |
7 | * | ||
8 | * This file is released under the GPLv2. | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #include <linux/pagemap.h> | 10 | #include <linux/pagemap.h> |
diff --git a/fs/kernfs/kernfs-internal.h b/fs/kernfs/kernfs-internal.h index 3c437990f39a..02ce570a9a3c 100644 --- a/fs/kernfs/kernfs-internal.h +++ b/fs/kernfs/kernfs-internal.h | |||
@@ -1,11 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * fs/kernfs/kernfs-internal.h - kernfs internal header file | 3 | * fs/kernfs/kernfs-internal.h - kernfs internal header file |
3 | * | 4 | * |
4 | * Copyright (c) 2001-3 Patrick Mochel | 5 | * Copyright (c) 2001-3 Patrick Mochel |
5 | * Copyright (c) 2007 SUSE Linux Products GmbH | 6 | * Copyright (c) 2007 SUSE Linux Products GmbH |
6 | * Copyright (c) 2007, 2013 Tejun Heo <teheo@suse.de> | 7 | * Copyright (c) 2007, 2013 Tejun Heo <teheo@suse.de> |
7 | * | ||
8 | * This file is released under the GPLv2. | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #ifndef __KERNFS_INTERNAL_H | 10 | #ifndef __KERNFS_INTERNAL_H |
diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c index 9a4646eecb71..6c12fac2c287 100644 --- a/fs/kernfs/mount.c +++ b/fs/kernfs/mount.c | |||
@@ -1,11 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/kernfs/mount.c - kernfs mount implementation | 3 | * fs/kernfs/mount.c - kernfs mount implementation |
3 | * | 4 | * |
4 | * Copyright (c) 2001-3 Patrick Mochel | 5 | * Copyright (c) 2001-3 Patrick Mochel |
5 | * Copyright (c) 2007 SUSE Linux Products GmbH | 6 | * Copyright (c) 2007 SUSE Linux Products GmbH |
6 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> | 7 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> |
7 | * | ||
8 | * This file is released under the GPLv2. | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
diff --git a/fs/kernfs/symlink.c b/fs/kernfs/symlink.c index eb46c3a16e2f..5432883d819f 100644 --- a/fs/kernfs/symlink.c +++ b/fs/kernfs/symlink.c | |||
@@ -1,11 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/kernfs/symlink.c - kernfs symlink implementation | 3 | * fs/kernfs/symlink.c - kernfs symlink implementation |
3 | * | 4 | * |
4 | * Copyright (c) 2001-3 Patrick Mochel | 5 | * Copyright (c) 2001-3 Patrick Mochel |
5 | * Copyright (c) 2007 SUSE Linux Products GmbH | 6 | * Copyright (c) 2007 SUSE Linux Products GmbH |
6 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> | 7 | * Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org> |
7 | * | ||
8 | * This file is released under the GPLv2. | ||
9 | */ | 8 | */ |
10 | 9 | ||
11 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
diff --git a/fs/libfs.c b/fs/libfs.c index 4b59b1816efb..7e52e77692ec 100644 --- a/fs/libfs.c +++ b/fs/libfs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/libfs.c | 3 | * fs/libfs.c |
3 | * Library for filesystems writers. | 4 | * Library for filesystems writers. |
diff --git a/fs/lockd/clntlock.c b/fs/lockd/clntlock.c index 5fb4f8910aab..a5bb3f721a9d 100644 --- a/fs/lockd/clntlock.c +++ b/fs/lockd/clntlock.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/lockd/clntlock.c | 3 | * linux/fs/lockd/clntlock.c |
3 | * | 4 | * |
diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c index d9c32d1a20c0..62f98225abb3 100644 --- a/fs/lockd/clntproc.c +++ b/fs/lockd/clntproc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/lockd/clntproc.c | 3 | * linux/fs/lockd/clntproc.c |
3 | * | 4 | * |
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 3056f3a0c270..1a639e34847d 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/lockd/svc.c | 3 | * linux/fs/lockd/svc.c |
3 | * | 4 | * |
diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c index 899360ba3b84..0e610f422406 100644 --- a/fs/lockd/svcsubs.c +++ b/fs/lockd/svcsubs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/lockd/svcsubs.c | 3 | * linux/fs/lockd/svcsubs.c |
3 | * | 4 | * |
diff --git a/fs/lockd/xdr.c b/fs/lockd/xdr.c index 9846f7e95282..7147e4aebecc 100644 --- a/fs/lockd/xdr.c +++ b/fs/lockd/xdr.c | |||
@@ -127,7 +127,7 @@ nlm_decode_lock(__be32 *p, struct nlm_lock *lock) | |||
127 | 127 | ||
128 | locks_init_lock(fl); | 128 | locks_init_lock(fl); |
129 | fl->fl_owner = current->files; | 129 | fl->fl_owner = current->files; |
130 | fl->fl_pid = current->tgid; | 130 | fl->fl_pid = (pid_t)lock->svid; |
131 | fl->fl_flags = FL_POSIX; | 131 | fl->fl_flags = FL_POSIX; |
132 | fl->fl_type = F_RDLCK; /* as good as anything else */ | 132 | fl->fl_type = F_RDLCK; /* as good as anything else */ |
133 | start = ntohl(*p++); | 133 | start = ntohl(*p++); |
@@ -269,7 +269,7 @@ nlmsvc_decode_shareargs(struct svc_rqst *rqstp, __be32 *p) | |||
269 | memset(lock, 0, sizeof(*lock)); | 269 | memset(lock, 0, sizeof(*lock)); |
270 | locks_init_lock(&lock->fl); | 270 | locks_init_lock(&lock->fl); |
271 | lock->svid = ~(u32) 0; | 271 | lock->svid = ~(u32) 0; |
272 | lock->fl.fl_pid = current->tgid; | 272 | lock->fl.fl_pid = (pid_t)lock->svid; |
273 | 273 | ||
274 | if (!(p = nlm_decode_cookie(p, &argp->cookie)) | 274 | if (!(p = nlm_decode_cookie(p, &argp->cookie)) |
275 | || !(p = xdr_decode_string_inplace(p, &lock->caller, | 275 | || !(p = xdr_decode_string_inplace(p, &lock->caller, |
diff --git a/fs/lockd/xdr4.c b/fs/lockd/xdr4.c index 70154f376695..7ed9edf9aed4 100644 --- a/fs/lockd/xdr4.c +++ b/fs/lockd/xdr4.c | |||
@@ -119,7 +119,7 @@ nlm4_decode_lock(__be32 *p, struct nlm_lock *lock) | |||
119 | 119 | ||
120 | locks_init_lock(fl); | 120 | locks_init_lock(fl); |
121 | fl->fl_owner = current->files; | 121 | fl->fl_owner = current->files; |
122 | fl->fl_pid = current->tgid; | 122 | fl->fl_pid = (pid_t)lock->svid; |
123 | fl->fl_flags = FL_POSIX; | 123 | fl->fl_flags = FL_POSIX; |
124 | fl->fl_type = F_RDLCK; /* as good as anything else */ | 124 | fl->fl_type = F_RDLCK; /* as good as anything else */ |
125 | p = xdr_decode_hyper(p, &start); | 125 | p = xdr_decode_hyper(p, &start); |
@@ -266,7 +266,7 @@ nlm4svc_decode_shareargs(struct svc_rqst *rqstp, __be32 *p) | |||
266 | memset(lock, 0, sizeof(*lock)); | 266 | memset(lock, 0, sizeof(*lock)); |
267 | locks_init_lock(&lock->fl); | 267 | locks_init_lock(&lock->fl); |
268 | lock->svid = ~(u32) 0; | 268 | lock->svid = ~(u32) 0; |
269 | lock->fl.fl_pid = current->tgid; | 269 | lock->fl.fl_pid = (pid_t)lock->svid; |
270 | 270 | ||
271 | if (!(p = nlm4_decode_cookie(p, &argp->cookie)) | 271 | if (!(p = nlm4_decode_cookie(p, &argp->cookie)) |
272 | || !(p = xdr_decode_string_inplace(p, &lock->caller, | 272 | || !(p = xdr_decode_string_inplace(p, &lock->caller, |
diff --git a/fs/locks.c b/fs/locks.c index 8af49f89ac2f..ec1e4a5df629 100644 --- a/fs/locks.c +++ b/fs/locks.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/locks.c | 3 | * linux/fs/locks.c |
3 | * | 4 | * |
diff --git a/fs/mbcache.c b/fs/mbcache.c index 081ccf0caee3..97c54d3a2227 100644 --- a/fs/mbcache.c +++ b/fs/mbcache.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | #include <linux/spinlock.h> | 2 | #include <linux/spinlock.h> |
2 | #include <linux/slab.h> | 3 | #include <linux/slab.h> |
3 | #include <linux/list.h> | 4 | #include <linux/list.h> |
diff --git a/fs/minix/Kconfig b/fs/minix/Kconfig index bcd53a79156f..de2003974ff0 100644 --- a/fs/minix/Kconfig +++ b/fs/minix/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config MINIX_FS | 2 | config MINIX_FS |
2 | tristate "Minix file system support" | 3 | tristate "Minix file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/minix/Makefile b/fs/minix/Makefile index 3063015abfd0..a2d3ab58d187 100644 --- a/fs/minix/Makefile +++ b/fs/minix/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux minix filesystem routines. | 3 | # Makefile for the Linux minix filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/minix/inode.c b/fs/minix/inode.c index 101200761f61..f96073f25432 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/minix/inode.c | 3 | * linux/fs/minix/inode.c |
3 | * | 4 | * |
diff --git a/fs/namespace.c b/fs/namespace.c index ffb13f0562b0..7660c2749c96 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
@@ -1,8 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/namespace.c | 3 | * linux/fs/namespace.c |
3 | * | 4 | * |
4 | * (C) Copyright Al Viro 2000, 2001 | 5 | * (C) Copyright Al Viro 2000, 2001 |
5 | * Released under GPL v2. | ||
6 | * | 6 | * |
7 | * Based on code from fs/super.c, copyright Linus Torvalds and others. | 7 | * Based on code from fs/super.c, copyright Linus Torvalds and others. |
8 | * Heavily rewritten. | 8 | * Heavily rewritten. |
@@ -2105,6 +2105,7 @@ static int attach_recursive_mnt(struct mount *source_mnt, | |||
2105 | /* Notice when we are propagating across user namespaces */ | 2105 | /* Notice when we are propagating across user namespaces */ |
2106 | if (child->mnt_parent->mnt_ns->user_ns != user_ns) | 2106 | if (child->mnt_parent->mnt_ns->user_ns != user_ns) |
2107 | lock_mnt_tree(child); | 2107 | lock_mnt_tree(child); |
2108 | child->mnt.mnt_flags &= ~MNT_LOCKED; | ||
2108 | commit_tree(child); | 2109 | commit_tree(child); |
2109 | } | 2110 | } |
2110 | put_mountpoint(smp); | 2111 | put_mountpoint(smp); |
@@ -3445,6 +3446,7 @@ SYSCALL_DEFINE3(fsmount, int, fs_fd, unsigned int, flags, | |||
3445 | ns->root = mnt; | 3446 | ns->root = mnt; |
3446 | ns->mounts = 1; | 3447 | ns->mounts = 1; |
3447 | list_add(&mnt->mnt_list, &ns->list); | 3448 | list_add(&mnt->mnt_list, &ns->list); |
3449 | mntget(newmount.mnt); | ||
3448 | 3450 | ||
3449 | /* Attach to an apparent O_PATH fd with a note that we need to unmount | 3451 | /* Attach to an apparent O_PATH fd with a note that we need to unmount |
3450 | * it, not just simply put it. | 3452 | * it, not just simply put it. |
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig index 69d02cf8cf37..295a7a21b774 100644 --- a/fs/nfs/Kconfig +++ b/fs/nfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config NFS_FS | 2 | config NFS_FS |
2 | tristate "NFS client support" | 3 | tristate "NFS client support" |
3 | depends on INET && FILE_LOCKING && MULTIUSER | 4 | depends on INET && FILE_LOCKING && MULTIUSER |
diff --git a/fs/nfs/blocklayout/Makefile b/fs/nfs/blocklayout/Makefile index 3ca14c36d08b..7668a1bfb5fa 100644 --- a/fs/nfs/blocklayout/Makefile +++ b/fs/nfs/blocklayout/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the pNFS block layout driver kernel module | 3 | # Makefile for the pNFS block layout driver kernel module |
3 | # | 4 | # |
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 3d04cb0b839e..d7e4f0848e28 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* client.c: NFS client sharing and management code | 2 | /* client.c: NFS client sharing and management code |
2 | * | 3 | * |
3 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | 8 | ||
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index 8b78274e3e56..0ff3facf81da 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/delegation.c | 3 | * linux/fs/nfs/delegation.c |
3 | * | 4 | * |
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 47d445bec8c9..57b6a45576ad 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/dir.c | 3 | * linux/fs/nfs/dir.c |
3 | * | 4 | * |
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index 2436bd92bc00..0cb442406168 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/direct.c | 3 | * linux/fs/nfs/direct.c |
3 | * | 4 | * |
diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 144e183250c3..95dc90570786 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/file.c | 3 | * linux/fs/nfs/file.c |
3 | * | 4 | * |
diff --git a/fs/nfs/filelayout/Makefile b/fs/nfs/filelayout/Makefile index 8516cdffb9e9..de056312d374 100644 --- a/fs/nfs/filelayout/Makefile +++ b/fs/nfs/filelayout/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the pNFS Files Layout Driver kernel module | 3 | # Makefile for the pNFS Files Layout Driver kernel module |
3 | # | 4 | # |
diff --git a/fs/nfs/flexfilelayout/Makefile b/fs/nfs/flexfilelayout/Makefile index 1d2c9f6bbcd4..49f03422b6ad 100644 --- a/fs/nfs/flexfilelayout/Makefile +++ b/fs/nfs/flexfilelayout/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the pNFS Flexfile Layout Driver kernel module | 3 | # Makefile for the pNFS Flexfile Layout Driver kernel module |
3 | # | 4 | # |
diff --git a/fs/nfs/flexfilelayout/flexfilelayout.c b/fs/nfs/flexfilelayout/flexfilelayout.c index 9920c52bd0cd..bcff3bf5ae09 100644 --- a/fs/nfs/flexfilelayout/flexfilelayout.c +++ b/fs/nfs/flexfilelayout/flexfilelayout.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Module for pnfs flexfile layout driver. | 3 | * Module for pnfs flexfile layout driver. |
3 | * | 4 | * |
diff --git a/fs/nfs/flexfilelayout/flexfilelayoutdev.c b/fs/nfs/flexfilelayout/flexfilelayoutdev.c index a809989807d6..19f856f45689 100644 --- a/fs/nfs/flexfilelayout/flexfilelayoutdev.c +++ b/fs/nfs/flexfilelayout/flexfilelayoutdev.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | #define NFSDBG_FACILITY NFSDBG_PNFS_LD | 19 | #define NFSDBG_FACILITY NFSDBG_PNFS_LD |
20 | 20 | ||
21 | static unsigned int dataserver_timeo = NFS_DEF_TCP_RETRANS; | 21 | static unsigned int dataserver_timeo = NFS_DEF_TCP_TIMEO; |
22 | static unsigned int dataserver_retrans; | 22 | static unsigned int dataserver_retrans; |
23 | 23 | ||
24 | static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); | 24 | static bool ff_layout_has_available_ds(struct pnfs_layout_segment *lseg); |
diff --git a/fs/nfs/fscache-index.c b/fs/nfs/fscache-index.c index 666415d13d52..15f271401dcc 100644 --- a/fs/nfs/fscache-index.c +++ b/fs/nfs/fscache-index.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* NFS FS-Cache index structure definition | 2 | /* NFS FS-Cache index structure definition |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c index 4dc887813c71..53507aa96b0b 100644 --- a/fs/nfs/fscache.c +++ b/fs/nfs/fscache.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* NFS filesystem cache interface | 2 | /* NFS filesystem cache interface |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/fs/nfs/fscache.h b/fs/nfs/fscache.h index 161ba2edb9d0..25a75e40d91d 100644 --- a/fs/nfs/fscache.h +++ b/fs/nfs/fscache.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* NFS filesystem cache interface definitions | 2 | /* NFS filesystem cache interface definitions |
2 | * | 3 | * |
3 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #ifndef _NFS_FSCACHE_H | 8 | #ifndef _NFS_FSCACHE_H |
diff --git a/fs/nfs/getroot.c b/fs/nfs/getroot.c index 391dafaf9182..878c4c5982d9 100644 --- a/fs/nfs/getroot.c +++ b/fs/nfs/getroot.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* getroot.c: get the root dentry for an NFS mount | 2 | /* getroot.c: get the root dentry for an NFS mount |
2 | * | 3 | * |
3 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 3bc2550cfe4e..0b4a1a974411 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/inode.c | 3 | * linux/fs/nfs/inode.c |
3 | * | 4 | * |
diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c index 15f099a24c29..9287eb666322 100644 --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/namespace.c | 3 | * linux/fs/nfs/namespace.c |
3 | * | 4 | * |
diff --git a/fs/nfs/nfs2super.c b/fs/nfs/nfs2super.c index 0a9782c9171a..467f21ee6a35 100644 --- a/fs/nfs/nfs2super.c +++ b/fs/nfs/nfs2super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2012 Netapp, Inc. All rights reserved. | 3 | * Copyright (c) 2012 Netapp, Inc. All rights reserved. |
3 | */ | 4 | */ |
diff --git a/fs/nfs/nfs3client.c b/fs/nfs/nfs3client.c index 1afdb0f7473f..fb0c425b5d45 100644 --- a/fs/nfs/nfs3client.c +++ b/fs/nfs/nfs3client.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | #include <linux/nfs_fs.h> | 2 | #include <linux/nfs_fs.h> |
2 | #include <linux/nfs_mount.h> | 3 | #include <linux/nfs_mount.h> |
3 | #include <linux/sunrpc/addr.h> | 4 | #include <linux/sunrpc/addr.h> |
diff --git a/fs/nfs/nfs3super.c b/fs/nfs/nfs3super.c index 5c4394e4656b..7c5809431e61 100644 --- a/fs/nfs/nfs3super.c +++ b/fs/nfs/nfs3super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2012 Netapp, Inc. All rights reserved. | 3 | * Copyright (c) 2012 Netapp, Inc. All rights reserved. |
3 | */ | 4 | */ |
diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c index 3ce246346f02..81b9b6d7927a 100644 --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. | 3 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. |
3 | * Written by David Howells (dhowells@redhat.com) | 4 | * Written by David Howells (dhowells@redhat.com) |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index c29cbef6b53f..6418cb6c079b 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -1256,10 +1256,20 @@ static struct nfs4_opendata *nfs4_opendata_alloc(struct dentry *dentry, | |||
1256 | atomic_inc(&sp->so_count); | 1256 | atomic_inc(&sp->so_count); |
1257 | p->o_arg.open_flags = flags; | 1257 | p->o_arg.open_flags = flags; |
1258 | p->o_arg.fmode = fmode & (FMODE_READ|FMODE_WRITE); | 1258 | p->o_arg.fmode = fmode & (FMODE_READ|FMODE_WRITE); |
1259 | p->o_arg.umask = current_umask(); | ||
1260 | p->o_arg.claim = nfs4_map_atomic_open_claim(server, claim); | 1259 | p->o_arg.claim = nfs4_map_atomic_open_claim(server, claim); |
1261 | p->o_arg.share_access = nfs4_map_atomic_open_share(server, | 1260 | p->o_arg.share_access = nfs4_map_atomic_open_share(server, |
1262 | fmode, flags); | 1261 | fmode, flags); |
1262 | if (flags & O_CREAT) { | ||
1263 | p->o_arg.umask = current_umask(); | ||
1264 | p->o_arg.label = nfs4_label_copy(p->a_label, label); | ||
1265 | if (c->sattr != NULL && c->sattr->ia_valid != 0) { | ||
1266 | p->o_arg.u.attrs = &p->attrs; | ||
1267 | memcpy(&p->attrs, c->sattr, sizeof(p->attrs)); | ||
1268 | |||
1269 | memcpy(p->o_arg.u.verifier.data, c->verf, | ||
1270 | sizeof(p->o_arg.u.verifier.data)); | ||
1271 | } | ||
1272 | } | ||
1263 | /* don't put an ACCESS op in OPEN compound if O_EXCL, because ACCESS | 1273 | /* don't put an ACCESS op in OPEN compound if O_EXCL, because ACCESS |
1264 | * will return permission denied for all bits until close */ | 1274 | * will return permission denied for all bits until close */ |
1265 | if (!(flags & O_EXCL)) { | 1275 | if (!(flags & O_EXCL)) { |
@@ -1283,7 +1293,6 @@ static struct nfs4_opendata *nfs4_opendata_alloc(struct dentry *dentry, | |||
1283 | p->o_arg.server = server; | 1293 | p->o_arg.server = server; |
1284 | p->o_arg.bitmask = nfs4_bitmask(server, label); | 1294 | p->o_arg.bitmask = nfs4_bitmask(server, label); |
1285 | p->o_arg.open_bitmap = &nfs4_fattr_bitmap[0]; | 1295 | p->o_arg.open_bitmap = &nfs4_fattr_bitmap[0]; |
1286 | p->o_arg.label = nfs4_label_copy(p->a_label, label); | ||
1287 | switch (p->o_arg.claim) { | 1296 | switch (p->o_arg.claim) { |
1288 | case NFS4_OPEN_CLAIM_NULL: | 1297 | case NFS4_OPEN_CLAIM_NULL: |
1289 | case NFS4_OPEN_CLAIM_DELEGATE_CUR: | 1298 | case NFS4_OPEN_CLAIM_DELEGATE_CUR: |
@@ -1296,13 +1305,6 @@ static struct nfs4_opendata *nfs4_opendata_alloc(struct dentry *dentry, | |||
1296 | case NFS4_OPEN_CLAIM_DELEG_PREV_FH: | 1305 | case NFS4_OPEN_CLAIM_DELEG_PREV_FH: |
1297 | p->o_arg.fh = NFS_FH(d_inode(dentry)); | 1306 | p->o_arg.fh = NFS_FH(d_inode(dentry)); |
1298 | } | 1307 | } |
1299 | if (c != NULL && c->sattr != NULL && c->sattr->ia_valid != 0) { | ||
1300 | p->o_arg.u.attrs = &p->attrs; | ||
1301 | memcpy(&p->attrs, c->sattr, sizeof(p->attrs)); | ||
1302 | |||
1303 | memcpy(p->o_arg.u.verifier.data, c->verf, | ||
1304 | sizeof(p->o_arg.u.verifier.data)); | ||
1305 | } | ||
1306 | p->c_arg.fh = &p->o_res.fh; | 1308 | p->c_arg.fh = &p->o_res.fh; |
1307 | p->c_arg.stateid = &p->o_res.stateid; | 1309 | p->c_arg.stateid = &p->o_res.stateid; |
1308 | p->c_arg.seqid = p->o_arg.seqid; | 1310 | p->c_arg.seqid = p->o_arg.seqid; |
@@ -6932,7 +6934,6 @@ struct nfs4_lock_waiter { | |||
6932 | struct task_struct *task; | 6934 | struct task_struct *task; |
6933 | struct inode *inode; | 6935 | struct inode *inode; |
6934 | struct nfs_lowner *owner; | 6936 | struct nfs_lowner *owner; |
6935 | bool notified; | ||
6936 | }; | 6937 | }; |
6937 | 6938 | ||
6938 | static int | 6939 | static int |
@@ -6954,13 +6955,13 @@ nfs4_wake_lock_waiter(wait_queue_entry_t *wait, unsigned int mode, int flags, vo | |||
6954 | /* Make sure it's for the right inode */ | 6955 | /* Make sure it's for the right inode */ |
6955 | if (nfs_compare_fh(NFS_FH(waiter->inode), &cbnl->cbnl_fh)) | 6956 | if (nfs_compare_fh(NFS_FH(waiter->inode), &cbnl->cbnl_fh)) |
6956 | return 0; | 6957 | return 0; |
6957 | |||
6958 | waiter->notified = true; | ||
6959 | } | 6958 | } |
6960 | 6959 | ||
6961 | /* override "private" so we can use default_wake_function */ | 6960 | /* override "private" so we can use default_wake_function */ |
6962 | wait->private = waiter->task; | 6961 | wait->private = waiter->task; |
6963 | ret = autoremove_wake_function(wait, mode, flags, key); | 6962 | ret = woken_wake_function(wait, mode, flags, key); |
6963 | if (ret) | ||
6964 | list_del_init(&wait->entry); | ||
6964 | wait->private = waiter; | 6965 | wait->private = waiter; |
6965 | return ret; | 6966 | return ret; |
6966 | } | 6967 | } |
@@ -6969,7 +6970,6 @@ static int | |||
6969 | nfs4_retry_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) | 6970 | nfs4_retry_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) |
6970 | { | 6971 | { |
6971 | int status = -ERESTARTSYS; | 6972 | int status = -ERESTARTSYS; |
6972 | unsigned long flags; | ||
6973 | struct nfs4_lock_state *lsp = request->fl_u.nfs4_fl.owner; | 6973 | struct nfs4_lock_state *lsp = request->fl_u.nfs4_fl.owner; |
6974 | struct nfs_server *server = NFS_SERVER(state->inode); | 6974 | struct nfs_server *server = NFS_SERVER(state->inode); |
6975 | struct nfs_client *clp = server->nfs_client; | 6975 | struct nfs_client *clp = server->nfs_client; |
@@ -6979,8 +6979,7 @@ nfs4_retry_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) | |||
6979 | .s_dev = server->s_dev }; | 6979 | .s_dev = server->s_dev }; |
6980 | struct nfs4_lock_waiter waiter = { .task = current, | 6980 | struct nfs4_lock_waiter waiter = { .task = current, |
6981 | .inode = state->inode, | 6981 | .inode = state->inode, |
6982 | .owner = &owner, | 6982 | .owner = &owner}; |
6983 | .notified = false }; | ||
6984 | wait_queue_entry_t wait; | 6983 | wait_queue_entry_t wait; |
6985 | 6984 | ||
6986 | /* Don't bother with waitqueue if we don't expect a callback */ | 6985 | /* Don't bother with waitqueue if we don't expect a callback */ |
@@ -6990,27 +6989,22 @@ nfs4_retry_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) | |||
6990 | init_wait(&wait); | 6989 | init_wait(&wait); |
6991 | wait.private = &waiter; | 6990 | wait.private = &waiter; |
6992 | wait.func = nfs4_wake_lock_waiter; | 6991 | wait.func = nfs4_wake_lock_waiter; |
6993 | add_wait_queue(q, &wait); | ||
6994 | 6992 | ||
6995 | while(!signalled()) { | 6993 | while(!signalled()) { |
6996 | waiter.notified = false; | 6994 | add_wait_queue(q, &wait); |
6997 | status = nfs4_proc_setlk(state, cmd, request); | 6995 | status = nfs4_proc_setlk(state, cmd, request); |
6998 | if ((status != -EAGAIN) || IS_SETLK(cmd)) | 6996 | if ((status != -EAGAIN) || IS_SETLK(cmd)) { |
6997 | finish_wait(q, &wait); | ||
6999 | break; | 6998 | break; |
7000 | |||
7001 | status = -ERESTARTSYS; | ||
7002 | spin_lock_irqsave(&q->lock, flags); | ||
7003 | if (waiter.notified) { | ||
7004 | spin_unlock_irqrestore(&q->lock, flags); | ||
7005 | continue; | ||
7006 | } | 6999 | } |
7007 | set_current_state(TASK_INTERRUPTIBLE); | ||
7008 | spin_unlock_irqrestore(&q->lock, flags); | ||
7009 | 7000 | ||
7010 | freezable_schedule_timeout(NFS4_LOCK_MAXTIMEOUT); | 7001 | status = -ERESTARTSYS; |
7002 | freezer_do_not_count(); | ||
7003 | wait_woken(&wait, TASK_INTERRUPTIBLE, NFS4_LOCK_MAXTIMEOUT); | ||
7004 | freezer_count(); | ||
7005 | finish_wait(q, &wait); | ||
7011 | } | 7006 | } |
7012 | 7007 | ||
7013 | finish_wait(q, &wait); | ||
7014 | return status; | 7008 | return status; |
7015 | } | 7009 | } |
7016 | #else /* !CONFIG_NFS_V4_1 */ | 7010 | #else /* !CONFIG_NFS_V4_1 */ |
diff --git a/fs/nfs/nfs4session.c b/fs/nfs/nfs4session.c index bcb532def9e2..4145a0138907 100644 --- a/fs/nfs/nfs4session.c +++ b/fs/nfs/nfs4session.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/nfs/nfs4session.c | 3 | * fs/nfs/nfs4session.c |
3 | * | 4 | * |
diff --git a/fs/nfs/nfs4super.c b/fs/nfs/nfs4super.c index 689977e148cb..04c57066a11a 100644 --- a/fs/nfs/nfs4super.c +++ b/fs/nfs/nfs4super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2012 Bryan Schumaker <bjschuma@netapp.com> | 3 | * Copyright (c) 2012 Bryan Schumaker <bjschuma@netapp.com> |
3 | */ | 4 | */ |
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index 6ec30014a439..6ef5278326b6 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/pagelist.c | 3 | * linux/fs/nfs/pagelist.c |
3 | * | 4 | * |
diff --git a/fs/nfs/pnfs_nfs.c b/fs/nfs/pnfs_nfs.c index f5ad75fafc3c..c0046c348910 100644 --- a/fs/nfs/pnfs_nfs.c +++ b/fs/nfs/pnfs_nfs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Common NFS I/O operations for the pnfs file based | 3 | * Common NFS I/O operations for the pnfs file based |
3 | * layout drivers. | 4 | * layout drivers. |
diff --git a/fs/nfs/read.c b/fs/nfs/read.c index c799e540ed1e..c19841c82b6a 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/read.c | 3 | * linux/fs/nfs/read.c |
3 | * | 4 | * |
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index d6c687419a81..f88ddac2dcdf 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/super.c | 3 | * linux/fs/nfs/super.c |
3 | * | 4 | * |
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index bc5bb9323412..059a7c38bc4f 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/nfs/write.c | 3 | * linux/fs/nfs/write.c |
3 | * | 4 | * |
diff --git a/fs/nfs_common/Makefile b/fs/nfs_common/Makefile index d153ca3ea577..4bebe834c009 100644 --- a/fs/nfs_common/Makefile +++ b/fs/nfs_common/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for Linux filesystem routines that are shared by client and server. | 3 | # Makefile for Linux filesystem routines that are shared by client and server. |
3 | # | 4 | # |
diff --git a/fs/nfs_common/grace.c b/fs/nfs_common/grace.c index 5be08f02a76b..b73d9dd37f73 100644 --- a/fs/nfs_common/grace.c +++ b/fs/nfs_common/grace.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Common code for control of lockd and nfsv4 grace periods. | 3 | * Common code for control of lockd and nfsv4 grace periods. |
3 | * | 4 | * |
diff --git a/fs/nfs_common/nfsacl.c b/fs/nfs_common/nfsacl.c index 538f142935ea..8ceb6425e01a 100644 --- a/fs/nfs_common/nfsacl.c +++ b/fs/nfs_common/nfsacl.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/nfs_common/nfsacl.c | 3 | * fs/nfs_common/nfsacl.c |
3 | * | 4 | * |
diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig index 20b1c17320d5..d25f6bbe7006 100644 --- a/fs/nfsd/Kconfig +++ b/fs/nfsd/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config NFSD | 2 | config NFSD |
2 | tristate "NFS server support" | 3 | tristate "NFS server support" |
3 | depends on INET | 4 | depends on INET |
diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h index 789abc4dd1d2..7c686a270d60 100644 --- a/fs/nfsd/netns.h +++ b/fs/nfsd/netns.h | |||
@@ -1,21 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * per net namespace data structures for nfsd | 3 | * per net namespace data structures for nfsd |
3 | * | 4 | * |
4 | * Copyright (C) 2012, Jeff Layton <jlayton@redhat.com> | 5 | * Copyright (C) 2012, Jeff Layton <jlayton@redhat.com> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the Free | ||
8 | * Software Foundation; either version 2 of the License, or (at your option) | ||
9 | * any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along with | ||
17 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
18 | * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
19 | */ | 6 | */ |
20 | 7 | ||
21 | #ifndef __NFSD_NETNS_H__ | 8 | #ifndef __NFSD_NETNS_H__ |
diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index 90972e1fd785..62c58cfeb8d8 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Syscall interface to knfsd. | 3 | * Syscall interface to knfsd. |
3 | * | 4 | * |
diff --git a/fs/nilfs2/Kconfig b/fs/nilfs2/Kconfig index 80da8eb27393..254d102e79c9 100644 --- a/fs/nilfs2/Kconfig +++ b/fs/nilfs2/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config NILFS2_FS | 2 | config NILFS2_FS |
2 | tristate "NILFS2 file system support" | 3 | tristate "NILFS2 file system support" |
3 | select CRC32 | 4 | select CRC32 |
diff --git a/fs/nls/Kconfig b/fs/nls/Kconfig index e2ce79ef48c4..5a63303298e6 100644 --- a/fs/nls/Kconfig +++ b/fs/nls/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Native language support configuration | 3 | # Native language support configuration |
3 | # | 4 | # |
diff --git a/fs/no-block.c b/fs/no-block.c index 6e40e42a43de..481c0f0ab4bd 100644 --- a/fs/no-block.c +++ b/fs/no-block.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* no-block.c: implementation of routines required for non-BLOCK configuration | 2 | /* no-block.c: implementation of routines required for non-BLOCK configuration |
2 | * | 3 | * |
3 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/notify/Kconfig b/fs/notify/Kconfig index 2a24249b30af..c020d26ba223 100644 --- a/fs/notify/Kconfig +++ b/fs/notify/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config FSNOTIFY | 2 | config FSNOTIFY |
2 | def_bool n | 3 | def_bool n |
3 | select SRCU | 4 | select SRCU |
diff --git a/fs/notify/dnotify/Kconfig b/fs/notify/dnotify/Kconfig index f9c1ca139d8f..3df7def17eea 100644 --- a/fs/notify/dnotify/Kconfig +++ b/fs/notify/dnotify/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config DNOTIFY | 2 | config DNOTIFY |
2 | bool "Dnotify support" | 3 | bool "Dnotify support" |
3 | select FSNOTIFY | 4 | select FSNOTIFY |
diff --git a/fs/notify/dnotify/Makefile b/fs/notify/dnotify/Makefile index f145251dcadb..121b4dd6b1fe 100644 --- a/fs/notify/dnotify/Makefile +++ b/fs/notify/dnotify/Makefile | |||
@@ -1 +1,2 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | obj-$(CONFIG_DNOTIFY) += dnotify.o | 2 | obj-$(CONFIG_DNOTIFY) += dnotify.o |
diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c index 250369d6901d..c03758c91481 100644 --- a/fs/notify/dnotify/dnotify.c +++ b/fs/notify/dnotify/dnotify.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Directory notifications for Linux. | 3 | * Directory notifications for Linux. |
3 | * | 4 | * |
@@ -5,16 +6,6 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2009 Eric Paris <Red Hat Inc> | 7 | * Copyright (C) 2009 Eric Paris <Red Hat Inc> |
7 | * dnotify was largly rewritten to use the new fsnotify infrastructure | 8 | * dnotify was largly rewritten to use the new fsnotify infrastructure |
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2, or (at your option) any | ||
12 | * later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, but | ||
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 9 | */ |
19 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
20 | #include <linux/module.h> | 11 | #include <linux/module.h> |
diff --git a/fs/notify/fanotify/Kconfig b/fs/notify/fanotify/Kconfig index 521dc91d2cb5..8b9103f126ad 100644 --- a/fs/notify/fanotify/Kconfig +++ b/fs/notify/fanotify/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config FANOTIFY | 2 | config FANOTIFY |
2 | bool "Filesystem wide access notification" | 3 | bool "Filesystem wide access notification" |
3 | select FSNOTIFY | 4 | select FSNOTIFY |
diff --git a/fs/notify/fanotify/Makefile b/fs/notify/fanotify/Makefile index 0999213e7e6e..25ef222915e5 100644 --- a/fs/notify/fanotify/Makefile +++ b/fs/notify/fanotify/Makefile | |||
@@ -1 +1,2 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | obj-$(CONFIG_FANOTIFY) += fanotify.o fanotify_user.o | 2 | obj-$(CONFIG_FANOTIFY) += fanotify.o fanotify_user.o |
diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c index e6fde1a5c072..b428c295d13f 100644 --- a/fs/notify/fanotify/fanotify.c +++ b/fs/notify/fanotify/fanotify.c | |||
@@ -355,6 +355,10 @@ static __kernel_fsid_t fanotify_get_fsid(struct fsnotify_iter_info *iter_info) | |||
355 | /* Mark is just getting destroyed or created? */ | 355 | /* Mark is just getting destroyed or created? */ |
356 | if (!conn) | 356 | if (!conn) |
357 | continue; | 357 | continue; |
358 | if (!(conn->flags & FSNOTIFY_CONN_FLAG_HAS_FSID)) | ||
359 | continue; | ||
360 | /* Pairs with smp_wmb() in fsnotify_add_mark_list() */ | ||
361 | smp_rmb(); | ||
358 | fsid = conn->fsid; | 362 | fsid = conn->fsid; |
359 | if (WARN_ON_ONCE(!fsid.val[0] && !fsid.val[1])) | 363 | if (WARN_ON_ONCE(!fsid.val[0] && !fsid.val[1])) |
360 | continue; | 364 | continue; |
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c index 8c7cbac7183c..4eb2ebfac468 100644 --- a/fs/notify/fsnotify.c +++ b/fs/notify/fsnotify.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> | 3 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2, or (at your option) | ||
7 | * any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; see the file COPYING. If not, write to | ||
16 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/dcache.h> | 6 | #include <linux/dcache.h> |
diff --git a/fs/notify/group.c b/fs/notify/group.c index c03b83662876..0391190305cc 100644 --- a/fs/notify/group.c +++ b/fs/notify/group.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> | 3 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2, or (at your option) | ||
7 | * any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; see the file COPYING. If not, write to | ||
16 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | #include <linux/list.h> | 6 | #include <linux/list.h> |
diff --git a/fs/notify/inotify/Kconfig b/fs/notify/inotify/Kconfig index 0161c74e76e2..6736e47d94d8 100644 --- a/fs/notify/inotify/Kconfig +++ b/fs/notify/inotify/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config INOTIFY_USER | 2 | config INOTIFY_USER |
2 | bool "Inotify support for userspace" | 3 | bool "Inotify support for userspace" |
3 | select FSNOTIFY | 4 | select FSNOTIFY |
diff --git a/fs/notify/inotify/Makefile b/fs/notify/inotify/Makefile index a380dabe09de..812237eecf3a 100644 --- a/fs/notify/inotify/Makefile +++ b/fs/notify/inotify/Makefile | |||
@@ -1 +1,2 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | obj-$(CONFIG_INOTIFY_USER) += inotify_fsnotify.o inotify_user.o | 2 | obj-$(CONFIG_INOTIFY_USER) += inotify_fsnotify.o inotify_user.o |
diff --git a/fs/notify/inotify/inotify_fsnotify.c b/fs/notify/inotify/inotify_fsnotify.c index 7e8b131029f8..2fda08b2b885 100644 --- a/fs/notify/inotify/inotify_fsnotify.c +++ b/fs/notify/inotify/inotify_fsnotify.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/inotify_user.c - inotify support for userspace | 3 | * fs/inotify_user.c - inotify support for userspace |
3 | * | 4 | * |
@@ -10,16 +11,6 @@ | |||
10 | * | 11 | * |
11 | * Copyright (C) 2009 Eric Paris <Red Hat Inc> | 12 | * Copyright (C) 2009 Eric Paris <Red Hat Inc> |
12 | * inotify was largely rewriten to make use of the fsnotify infrastructure | 13 | * inotify was largely rewriten to make use of the fsnotify infrastructure |
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify it | ||
15 | * under the terms of the GNU General Public License as published by the | ||
16 | * Free Software Foundation; either version 2, or (at your option) any | ||
17 | * later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, but | ||
20 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
22 | * General Public License for more details. | ||
23 | */ | 14 | */ |
24 | 15 | ||
25 | #include <linux/dcache.h> /* d_unlinked */ | 16 | #include <linux/dcache.h> /* d_unlinked */ |
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c index 7b53598c8804..cce8de32779f 100644 --- a/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * fs/inotify_user.c - inotify support for userspace | 3 | * fs/inotify_user.c - inotify support for userspace |
3 | * | 4 | * |
@@ -10,16 +11,6 @@ | |||
10 | * | 11 | * |
11 | * Copyright (C) 2009 Eric Paris <Red Hat Inc> | 12 | * Copyright (C) 2009 Eric Paris <Red Hat Inc> |
12 | * inotify was largely rewriten to make use of the fsnotify infrastructure | 13 | * inotify was largely rewriten to make use of the fsnotify infrastructure |
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify it | ||
15 | * under the terms of the GNU General Public License as published by the | ||
16 | * Free Software Foundation; either version 2, or (at your option) any | ||
17 | * later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, but | ||
20 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
22 | * General Public License for more details. | ||
23 | */ | 14 | */ |
24 | 15 | ||
25 | #include <linux/file.h> | 16 | #include <linux/file.h> |
diff --git a/fs/notify/mark.c b/fs/notify/mark.c index b251105f646f..99ddd126f6f0 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> | 3 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2, or (at your option) | ||
7 | * any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; see the file COPYING. If not, write to | ||
16 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | /* | 6 | /* |
@@ -495,10 +482,13 @@ static int fsnotify_attach_connector_to_object(fsnotify_connp_t *connp, | |||
495 | conn->type = type; | 482 | conn->type = type; |
496 | conn->obj = connp; | 483 | conn->obj = connp; |
497 | /* Cache fsid of filesystem containing the object */ | 484 | /* Cache fsid of filesystem containing the object */ |
498 | if (fsid) | 485 | if (fsid) { |
499 | conn->fsid = *fsid; | 486 | conn->fsid = *fsid; |
500 | else | 487 | conn->flags = FSNOTIFY_CONN_FLAG_HAS_FSID; |
488 | } else { | ||
501 | conn->fsid.val[0] = conn->fsid.val[1] = 0; | 489 | conn->fsid.val[0] = conn->fsid.val[1] = 0; |
490 | conn->flags = 0; | ||
491 | } | ||
502 | if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) | 492 | if (conn->type == FSNOTIFY_OBJ_TYPE_INODE) |
503 | inode = igrab(fsnotify_conn_inode(conn)); | 493 | inode = igrab(fsnotify_conn_inode(conn)); |
504 | /* | 494 | /* |
@@ -573,7 +563,12 @@ restart: | |||
573 | if (err) | 563 | if (err) |
574 | return err; | 564 | return err; |
575 | goto restart; | 565 | goto restart; |
576 | } else if (fsid && (conn->fsid.val[0] || conn->fsid.val[1]) && | 566 | } else if (fsid && !(conn->flags & FSNOTIFY_CONN_FLAG_HAS_FSID)) { |
567 | conn->fsid = *fsid; | ||
568 | /* Pairs with smp_rmb() in fanotify_get_fsid() */ | ||
569 | smp_wmb(); | ||
570 | conn->flags |= FSNOTIFY_CONN_FLAG_HAS_FSID; | ||
571 | } else if (fsid && (conn->flags & FSNOTIFY_CONN_FLAG_HAS_FSID) && | ||
577 | (fsid->val[0] != conn->fsid.val[0] || | 572 | (fsid->val[0] != conn->fsid.val[0] || |
578 | fsid->val[1] != conn->fsid.val[1])) { | 573 | fsid->val[1] != conn->fsid.val[1])) { |
579 | /* | 574 | /* |
diff --git a/fs/notify/notification.c b/fs/notify/notification.c index 5f3a54d444b5..75d79d6d3ef0 100644 --- a/fs/notify/notification.c +++ b/fs/notify/notification.c | |||
@@ -1,19 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> | 3 | * Copyright (C) 2008 Red Hat, Inc., Eric Paris <eparis@redhat.com> |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2, or (at your option) | ||
7 | * any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; see the file COPYING. If not, write to | ||
16 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | ||
17 | */ | 4 | */ |
18 | 5 | ||
19 | /* | 6 | /* |
diff --git a/fs/ntfs/Kconfig b/fs/ntfs/Kconfig index f5a868cc9152..de9fb5cff226 100644 --- a/fs/ntfs/Kconfig +++ b/fs/ntfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config NTFS_FS | 2 | config NTFS_FS |
2 | tristate "NTFS file system support" | 3 | tristate "NTFS file system support" |
3 | select NLS | 4 | select NLS |
diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c index 8946130c87ad..7202a1e39d70 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * aops.c - NTFS kernel address space operations and page cache handling. | 3 | * aops.c - NTFS kernel address space operations and page cache handling. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc. |
5 | * Copyright (c) 2002 Richard Russon | 6 | * Copyright (c) 2002 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/errno.h> | 9 | #include <linux/errno.h> |
diff --git a/fs/ntfs/aops.h b/fs/ntfs/aops.h index 820d6eabf60f..f0962d46bd67 100644 --- a/fs/ntfs/aops.h +++ b/fs/ntfs/aops.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /** | 2 | /** |
2 | * aops.h - Defines for NTFS kernel address space operations and page cache | 3 | * aops.h - Defines for NTFS kernel address space operations and page cache |
3 | * handling. Part of the Linux-NTFS project. | 4 | * handling. Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2004 Anton Altaparmakov | 6 | * Copyright (c) 2001-2004 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_AOPS_H | 10 | #ifndef _LINUX_NTFS_AOPS_H |
diff --git a/fs/ntfs/attrib.c b/fs/ntfs/attrib.c index 44a39a099b54..d563abc3e136 100644 --- a/fs/ntfs/attrib.c +++ b/fs/ntfs/attrib.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * attrib.c - NTFS attribute operations. Part of the Linux-NTFS project. | 3 | * attrib.c - NTFS attribute operations. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. |
5 | * Copyright (c) 2002 Richard Russon | 6 | * Copyright (c) 2002 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/buffer_head.h> | 9 | #include <linux/buffer_head.h> |
diff --git a/fs/ntfs/attrib.h b/fs/ntfs/attrib.h index 3c8b74c99b80..fe0890d3d072 100644 --- a/fs/ntfs/attrib.h +++ b/fs/ntfs/attrib.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * attrib.h - Defines for attribute handling in NTFS Linux kernel driver. | 3 | * attrib.h - Defines for attribute handling in NTFS Linux kernel driver. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2005 Anton Altaparmakov | 6 | * Copyright (c) 2001-2005 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_ATTRIB_H | 10 | #ifndef _LINUX_NTFS_ATTRIB_H |
diff --git a/fs/ntfs/bitmap.c b/fs/ntfs/bitmap.c index ec130c588d2b..0675b2400873 100644 --- a/fs/ntfs/bitmap.c +++ b/fs/ntfs/bitmap.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * bitmap.c - NTFS kernel bitmap handling. Part of the Linux-NTFS project. | 3 | * bitmap.c - NTFS kernel bitmap handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2004-2005 Anton Altaparmakov | 5 | * Copyright (c) 2004-2005 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifdef NTFS_RW | 8 | #ifdef NTFS_RW |
diff --git a/fs/ntfs/bitmap.h b/fs/ntfs/bitmap.h index 72c9ad8be70d..9dd2224ca9c4 100644 --- a/fs/ntfs/bitmap.h +++ b/fs/ntfs/bitmap.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * bitmap.h - Defines for NTFS kernel bitmap handling. Part of the Linux-NTFS | 3 | * bitmap.h - Defines for NTFS kernel bitmap handling. Part of the Linux-NTFS |
3 | * project. | 4 | * project. |
4 | * | 5 | * |
5 | * Copyright (c) 2004 Anton Altaparmakov | 6 | * Copyright (c) 2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_BITMAP_H | 9 | #ifndef _LINUX_NTFS_BITMAP_H |
diff --git a/fs/ntfs/collate.c b/fs/ntfs/collate.c index 4a28ab3898ef..3ab6ec96abfe 100644 --- a/fs/ntfs/collate.c +++ b/fs/ntfs/collate.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * collate.c - NTFS kernel collation handling. Part of the Linux-NTFS project. | 3 | * collate.c - NTFS kernel collation handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2004 Anton Altaparmakov | 5 | * Copyright (c) 2004 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include "collate.h" | 8 | #include "collate.h" |
diff --git a/fs/ntfs/collate.h b/fs/ntfs/collate.h index aba83347e5fe..f2255619b4f4 100644 --- a/fs/ntfs/collate.h +++ b/fs/ntfs/collate.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * collate.h - Defines for NTFS kernel collation handling. Part of the | 3 | * collate.h - Defines for NTFS kernel collation handling. Part of the |
3 | * Linux-NTFS project. | 4 | * Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2004 Anton Altaparmakov | 6 | * Copyright (c) 2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_COLLATE_H | 9 | #ifndef _LINUX_NTFS_COLLATE_H |
diff --git a/fs/ntfs/compress.c b/fs/ntfs/compress.c index df7c32b5fac7..d2f9d6a0ee32 100644 --- a/fs/ntfs/compress.c +++ b/fs/ntfs/compress.c | |||
@@ -1,24 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * compress.c - NTFS kernel compressed attributes handling. | 3 | * compress.c - NTFS kernel compressed attributes handling. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2004 Anton Altaparmakov | 6 | * Copyright (c) 2001-2004 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
diff --git a/fs/ntfs/debug.c b/fs/ntfs/debug.c index 825a54e8f490..a3c1c5656f8f 100644 --- a/fs/ntfs/debug.c +++ b/fs/ntfs/debug.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * debug.c - NTFS kernel debug support. Part of the Linux-NTFS project. | 3 | * debug.c - NTFS kernel debug support. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2004 Anton Altaparmakov | 5 | * Copyright (c) 2001-2004 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 7 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
22 | #include "debug.h" | 8 | #include "debug.h" |
diff --git a/fs/ntfs/debug.h b/fs/ntfs/debug.h index 61bf091e32a8..6fdef388f129 100644 --- a/fs/ntfs/debug.h +++ b/fs/ntfs/debug.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * debug.h - NTFS kernel debug support. Part of the Linux-NTFS project. | 3 | * debug.h - NTFS kernel debug support. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2004 Anton Altaparmakov | 5 | * Copyright (c) 2001-2004 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef _LINUX_NTFS_DEBUG_H | 8 | #ifndef _LINUX_NTFS_DEBUG_H |
diff --git a/fs/ntfs/dir.c b/fs/ntfs/dir.c index 1a24be9e8405..3c4811469ae8 100644 --- a/fs/ntfs/dir.c +++ b/fs/ntfs/dir.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * dir.c - NTFS kernel directory operations. Part of the Linux-NTFS project. | 3 | * dir.c - NTFS kernel directory operations. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2007 Anton Altaparmakov | 5 | * Copyright (c) 2001-2007 Anton Altaparmakov |
5 | * Copyright (c) 2002 Richard Russon | 6 | * Copyright (c) 2002 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/buffer_head.h> | 9 | #include <linux/buffer_head.h> |
diff --git a/fs/ntfs/dir.h b/fs/ntfs/dir.h index aea7582d561f..0e326753df40 100644 --- a/fs/ntfs/dir.h +++ b/fs/ntfs/dir.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * dir.h - Defines for directory handling in NTFS Linux kernel driver. Part of | 3 | * dir.h - Defines for directory handling in NTFS Linux kernel driver. Part of |
3 | * the Linux-NTFS project. | 4 | * the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2002-2004 Anton Altaparmakov | 6 | * Copyright (c) 2002-2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_DIR_H | 9 | #ifndef _LINUX_NTFS_DIR_H |
diff --git a/fs/ntfs/endian.h b/fs/ntfs/endian.h index 927b5bf04b4f..f30c139bf9ae 100644 --- a/fs/ntfs/endian.h +++ b/fs/ntfs/endian.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * endian.h - Defines for endianness handling in NTFS Linux kernel driver. | 3 | * endian.h - Defines for endianness handling in NTFS Linux kernel driver. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2004 Anton Altaparmakov | 6 | * Copyright (c) 2001-2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_ENDIAN_H | 9 | #ifndef _LINUX_NTFS_ENDIAN_H |
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c index 331910fa8442..f42967b738eb 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * file.c - NTFS kernel file operations. Part of the Linux-NTFS project. | 3 | * file.c - NTFS kernel file operations. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2015 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2015 Anton Altaparmakov and Tuxera Inc. |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/backing-dev.h> | 8 | #include <linux/backing-dev.h> |
diff --git a/fs/ntfs/index.c b/fs/ntfs/index.c index 0d645f357930..d46c2c03a032 100644 --- a/fs/ntfs/index.c +++ b/fs/ntfs/index.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * index.c - NTFS kernel index handling. Part of the Linux-NTFS project. | 3 | * index.c - NTFS kernel index handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2004-2005 Anton Altaparmakov | 5 | * Copyright (c) 2004-2005 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/ntfs/index.h b/fs/ntfs/index.h index 8745469c3989..bb3c3ae55138 100644 --- a/fs/ntfs/index.h +++ b/fs/ntfs/index.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * index.h - Defines for NTFS kernel index handling. Part of the Linux-NTFS | 3 | * index.h - Defines for NTFS kernel index handling. Part of the Linux-NTFS |
3 | * project. | 4 | * project. |
4 | * | 5 | * |
5 | * Copyright (c) 2004 Anton Altaparmakov | 6 | * Copyright (c) 2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_INDEX_H | 9 | #ifndef _LINUX_NTFS_INDEX_H |
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index fb1a2b49a5da..8baa34baf548 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * inode.c - NTFS kernel inode handling. | 3 | * inode.c - NTFS kernel inode handling. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc. |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/buffer_head.h> | 8 | #include <linux/buffer_head.h> |
diff --git a/fs/ntfs/inode.h b/fs/ntfs/inode.h index 58c8fd2948d3..98e670fbdd31 100644 --- a/fs/ntfs/inode.h +++ b/fs/ntfs/inode.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * inode.h - Defines for inode structures NTFS Linux kernel driver. Part of | 3 | * inode.h - Defines for inode structures NTFS Linux kernel driver. Part of |
3 | * the Linux-NTFS project. | 4 | * the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2007 Anton Altaparmakov | 6 | * Copyright (c) 2001-2007 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_INODE_H | 10 | #ifndef _LINUX_NTFS_INODE_H |
diff --git a/fs/ntfs/layout.h b/fs/ntfs/layout.h index 809c0e6d8e09..85422761ff43 100644 --- a/fs/ntfs/layout.h +++ b/fs/ntfs/layout.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * layout.h - All NTFS associated on-disk structures. Part of the Linux-NTFS | 3 | * layout.h - All NTFS associated on-disk structures. Part of the Linux-NTFS |
3 | * project. | 4 | * project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2005 Anton Altaparmakov | 6 | * Copyright (c) 2001-2005 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_LAYOUT_H | 10 | #ifndef _LINUX_NTFS_LAYOUT_H |
diff --git a/fs/ntfs/lcnalloc.c b/fs/ntfs/lcnalloc.c index 27a24a42f712..eda9972e6159 100644 --- a/fs/ntfs/lcnalloc.c +++ b/fs/ntfs/lcnalloc.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * lcnalloc.c - Cluster (de)allocation code. Part of the Linux-NTFS project. | 3 | * lcnalloc.c - Cluster (de)allocation code. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2004-2005 Anton Altaparmakov | 5 | * Copyright (c) 2004-2005 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifdef NTFS_RW | 8 | #ifdef NTFS_RW |
diff --git a/fs/ntfs/lcnalloc.h b/fs/ntfs/lcnalloc.h index 2adb04316941..1589a6d8434b 100644 --- a/fs/ntfs/lcnalloc.h +++ b/fs/ntfs/lcnalloc.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * lcnalloc.h - Exports for NTFS kernel cluster (de)allocation. Part of the | 3 | * lcnalloc.h - Exports for NTFS kernel cluster (de)allocation. Part of the |
3 | * Linux-NTFS project. | 4 | * Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2004-2005 Anton Altaparmakov | 6 | * Copyright (c) 2004-2005 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_LCNALLOC_H | 9 | #ifndef _LINUX_NTFS_LCNALLOC_H |
diff --git a/fs/ntfs/logfile.c b/fs/ntfs/logfile.c index 353379ff6057..a0c40f1be7ac 100644 --- a/fs/ntfs/logfile.c +++ b/fs/ntfs/logfile.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * logfile.c - NTFS kernel journal handling. Part of the Linux-NTFS project. | 3 | * logfile.c - NTFS kernel journal handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2002-2007 Anton Altaparmakov | 5 | * Copyright (c) 2002-2007 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifdef NTFS_RW | 8 | #ifdef NTFS_RW |
diff --git a/fs/ntfs/logfile.h b/fs/ntfs/logfile.h index aa2b6ac3f0a4..429d4909cc72 100644 --- a/fs/ntfs/logfile.h +++ b/fs/ntfs/logfile.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * logfile.h - Defines for NTFS kernel journal ($LogFile) handling. Part of | 3 | * logfile.h - Defines for NTFS kernel journal ($LogFile) handling. Part of |
3 | * the Linux-NTFS project. | 4 | * the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2000-2005 Anton Altaparmakov | 6 | * Copyright (c) 2000-2005 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_LOGFILE_H | 9 | #ifndef _LINUX_NTFS_LOGFILE_H |
diff --git a/fs/ntfs/malloc.h b/fs/ntfs/malloc.h index 5becc8acc8f4..842b0bfc3ac9 100644 --- a/fs/ntfs/malloc.h +++ b/fs/ntfs/malloc.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * malloc.h - NTFS kernel memory handling. Part of the Linux-NTFS project. | 3 | * malloc.h - NTFS kernel memory handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2005 Anton Altaparmakov | 5 | * Copyright (c) 2001-2005 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef _LINUX_NTFS_MALLOC_H | 8 | #ifndef _LINUX_NTFS_MALLOC_H |
diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c index fb14d17666c8..20c841a906f2 100644 --- a/fs/ntfs/mft.c +++ b/fs/ntfs/mft.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * mft.c - NTFS kernel mft record operations. Part of the Linux-NTFS project. | 3 | * mft.c - NTFS kernel mft record operations. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. |
5 | * Copyright (c) 2002 Richard Russon | 6 | * Copyright (c) 2002 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/buffer_head.h> | 9 | #include <linux/buffer_head.h> |
diff --git a/fs/ntfs/mft.h b/fs/ntfs/mft.h index b52bf87b99de..17bfefc30271 100644 --- a/fs/ntfs/mft.h +++ b/fs/ntfs/mft.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * mft.h - Defines for mft record handling in NTFS Linux kernel driver. | 3 | * mft.h - Defines for mft record handling in NTFS Linux kernel driver. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2004 Anton Altaparmakov | 6 | * Copyright (c) 2001-2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_MFT_H | 9 | #ifndef _LINUX_NTFS_MFT_H |
diff --git a/fs/ntfs/mst.c b/fs/ntfs/mst.c index 5a858d839b65..16b3c884abfc 100644 --- a/fs/ntfs/mst.c +++ b/fs/ntfs/mst.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * mst.c - NTFS multi sector transfer protection handling code. Part of the | 3 | * mst.c - NTFS multi sector transfer protection handling code. Part of the |
3 | * Linux-NTFS project. | 4 | * Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2004 Anton Altaparmakov | 6 | * Copyright (c) 2001-2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include "ntfs.h" | 9 | #include "ntfs.h" |
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c index 3986c7a1f6a8..2d3cc9e3395d 100644 --- a/fs/ntfs/namei.c +++ b/fs/ntfs/namei.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * namei.c - NTFS kernel directory inode operations. Part of the Linux-NTFS | 3 | * namei.c - NTFS kernel directory inode operations. Part of the Linux-NTFS |
3 | * project. | 4 | * project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2006 Anton Altaparmakov | 6 | * Copyright (c) 2001-2006 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include <linux/dcache.h> | 9 | #include <linux/dcache.h> |
diff --git a/fs/ntfs/ntfs.h b/fs/ntfs/ntfs.h index 12de47b96ca9..e81376ea9152 100644 --- a/fs/ntfs/ntfs.h +++ b/fs/ntfs/ntfs.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * ntfs.h - Defines for NTFS Linux kernel driver. | 3 | * ntfs.h - Defines for NTFS Linux kernel driver. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc. |
5 | * Copyright (C) 2002 Richard Russon | 6 | * Copyright (C) 2002 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_H | 9 | #ifndef _LINUX_NTFS_H |
diff --git a/fs/ntfs/quota.c b/fs/ntfs/quota.c index 9793e68ba1dd..9160480222fd 100644 --- a/fs/ntfs/quota.c +++ b/fs/ntfs/quota.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * quota.c - NTFS kernel quota ($Quota) handling. Part of the Linux-NTFS | 3 | * quota.c - NTFS kernel quota ($Quota) handling. Part of the Linux-NTFS |
3 | * project. | 4 | * project. |
4 | * | 5 | * |
5 | * Copyright (c) 2004 Anton Altaparmakov | 6 | * Copyright (c) 2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifdef NTFS_RW | 9 | #ifdef NTFS_RW |
diff --git a/fs/ntfs/quota.h b/fs/ntfs/quota.h index 4cbe5594c0b0..fe3132a3d6d2 100644 --- a/fs/ntfs/quota.h +++ b/fs/ntfs/quota.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * quota.h - Defines for NTFS kernel quota ($Quota) handling. Part of the | 3 | * quota.h - Defines for NTFS kernel quota ($Quota) handling. Part of the |
3 | * Linux-NTFS project. | 4 | * Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2004 Anton Altaparmakov | 6 | * Copyright (c) 2004 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_QUOTA_H | 9 | #ifndef _LINUX_NTFS_QUOTA_H |
diff --git a/fs/ntfs/runlist.c b/fs/ntfs/runlist.c index eac7d6788a10..508744a93180 100644 --- a/fs/ntfs/runlist.c +++ b/fs/ntfs/runlist.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /** | 2 | /** |
2 | * runlist.c - NTFS runlist handling code. Part of the Linux-NTFS project. | 3 | * runlist.c - NTFS runlist handling code. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2007 Anton Altaparmakov | 5 | * Copyright (c) 2001-2007 Anton Altaparmakov |
5 | * Copyright (c) 2002-2005 Richard Russon | 6 | * Copyright (c) 2002-2005 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #include "debug.h" | 9 | #include "debug.h" |
diff --git a/fs/ntfs/runlist.h b/fs/ntfs/runlist.h index 47728fbb610b..38de0a375f59 100644 --- a/fs/ntfs/runlist.h +++ b/fs/ntfs/runlist.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * runlist.h - Defines for runlist handling in NTFS Linux kernel driver. | 3 | * runlist.h - Defines for runlist handling in NTFS Linux kernel driver. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2005 Anton Altaparmakov | 6 | * Copyright (c) 2001-2005 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_RUNLIST_H | 10 | #ifndef _LINUX_NTFS_RUNLIST_H |
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c index 887ea8b3b000..29621d40f448 100644 --- a/fs/ntfs/super.c +++ b/fs/ntfs/super.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * super.c - NTFS kernel super block handling. Part of the Linux-NTFS project. | 3 | * super.c - NTFS kernel super block handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. | 5 | * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. |
5 | * Copyright (c) 2001,2002 Richard Russon | 6 | * Copyright (c) 2001,2002 Richard Russon |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 8 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
23 | 9 | ||
diff --git a/fs/ntfs/sysctl.c b/fs/ntfs/sysctl.c index a503156ec15f..a030d00af90c 100644 --- a/fs/ntfs/sysctl.c +++ b/fs/ntfs/sysctl.c | |||
@@ -1,24 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * sysctl.c - Code for sysctl handling in NTFS Linux kernel driver. Part of | 3 | * sysctl.c - Code for sysctl handling in NTFS Linux kernel driver. Part of |
3 | * the Linux-NTFS project. Adapted from the old NTFS driver, | 4 | * the Linux-NTFS project. Adapted from the old NTFS driver, |
4 | * Copyright (C) 1997 Martin von Löwis, Régis Duchesne | 5 | * Copyright (C) 1997 Martin von Löwis, Régis Duchesne |
5 | * | 6 | * |
6 | * Copyright (c) 2002-2005 Anton Altaparmakov | 7 | * Copyright (c) 2002-2005 Anton Altaparmakov |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifdef DEBUG | 10 | #ifdef DEBUG |
diff --git a/fs/ntfs/sysctl.h b/fs/ntfs/sysctl.h index d4f8ce920d95..96bb2299d2d5 100644 --- a/fs/ntfs/sysctl.h +++ b/fs/ntfs/sysctl.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * sysctl.h - Defines for sysctl handling in NTFS Linux kernel driver. Part of | 3 | * sysctl.h - Defines for sysctl handling in NTFS Linux kernel driver. Part of |
3 | * the Linux-NTFS project. Adapted from the old NTFS driver, | 4 | * the Linux-NTFS project. Adapted from the old NTFS driver, |
4 | * Copyright (C) 1997 Martin von Löwis, Régis Duchesne | 5 | * Copyright (C) 1997 Martin von Löwis, Régis Duchesne |
5 | * | 6 | * |
6 | * Copyright (c) 2002-2004 Anton Altaparmakov | 7 | * Copyright (c) 2002-2004 Anton Altaparmakov |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_SYSCTL_H | 10 | #ifndef _LINUX_NTFS_SYSCTL_H |
diff --git a/fs/ntfs/time.h b/fs/ntfs/time.h index 24cd719f1fd2..6b63261300cc 100644 --- a/fs/ntfs/time.h +++ b/fs/ntfs/time.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * time.h - NTFS time conversion functions. Part of the Linux-NTFS project. | 3 | * time.h - NTFS time conversion functions. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2005 Anton Altaparmakov | 5 | * Copyright (c) 2001-2005 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef _LINUX_NTFS_TIME_H | 8 | #ifndef _LINUX_NTFS_TIME_H |
diff --git a/fs/ntfs/types.h b/fs/ntfs/types.h index 8c8053b66984..9a47859e7a06 100644 --- a/fs/ntfs/types.h +++ b/fs/ntfs/types.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * types.h - Defines for NTFS Linux kernel driver specific types. | 3 | * types.h - Defines for NTFS Linux kernel driver specific types. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2005 Anton Altaparmakov | 6 | * Copyright (c) 2001-2005 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_TYPES_H | 9 | #ifndef _LINUX_NTFS_TYPES_H |
diff --git a/fs/ntfs/unistr.c b/fs/ntfs/unistr.c index 005ca4b0f132..a6b6c64f14a9 100644 --- a/fs/ntfs/unistr.c +++ b/fs/ntfs/unistr.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * unistr.c - NTFS Unicode string handling. Part of the Linux-NTFS project. | 3 | * unistr.c - NTFS Unicode string handling. Part of the Linux-NTFS project. |
3 | * | 4 | * |
4 | * Copyright (c) 2001-2006 Anton Altaparmakov | 5 | * Copyright (c) 2001-2006 Anton Altaparmakov |
5 | * | ||
6 | * This program/include file is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License as published | ||
8 | * by the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program/include file is distributed in the hope that it will be | ||
12 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
13 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program (in the main directory of the Linux-NTFS | ||
18 | * distribution in the file COPYING); if not, write to the Free Software | ||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/ntfs/upcase.c b/fs/ntfs/upcase.c index e2f72ca98037..4ebe84a78dea 100644 --- a/fs/ntfs/upcase.c +++ b/fs/ntfs/upcase.c | |||
@@ -1,24 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * upcase.c - Generate the full NTFS Unicode upcase table in little endian. | 3 | * upcase.c - Generate the full NTFS Unicode upcase table in little endian. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001 Richard Russon <ntfs@flatcap.org> | 6 | * Copyright (c) 2001 Richard Russon <ntfs@flatcap.org> |
6 | * Copyright (c) 2001-2006 Anton Altaparmakov | 7 | * Copyright (c) 2001-2006 Anton Altaparmakov |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the Free | ||
10 | * Software Foundation; either version 2 of the License, or (at your option) | ||
11 | * any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS source | ||
20 | * in the file COPYING); if not, write to the Free Software Foundation, | ||
21 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #include "malloc.h" | 10 | #include "malloc.h" |
diff --git a/fs/ntfs/usnjrnl.c b/fs/ntfs/usnjrnl.c index b2bc0d55b036..9097a0b4ef25 100644 --- a/fs/ntfs/usnjrnl.c +++ b/fs/ntfs/usnjrnl.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * usnjrnl.h - NTFS kernel transaction log ($UsnJrnl) handling. Part of the | 3 | * usnjrnl.h - NTFS kernel transaction log ($UsnJrnl) handling. Part of the |
3 | * Linux-NTFS project. | 4 | * Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2005 Anton Altaparmakov | 6 | * Copyright (c) 2005 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifdef NTFS_RW | 9 | #ifdef NTFS_RW |
diff --git a/fs/ntfs/usnjrnl.h b/fs/ntfs/usnjrnl.h index 00d8e6bd7c36..85f531b59395 100644 --- a/fs/ntfs/usnjrnl.h +++ b/fs/ntfs/usnjrnl.h | |||
@@ -1,23 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * usnjrnl.h - Defines for NTFS kernel transaction log ($UsnJrnl) handling. | 3 | * usnjrnl.h - Defines for NTFS kernel transaction log ($UsnJrnl) handling. |
3 | * Part of the Linux-NTFS project. | 4 | * Part of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2005 Anton Altaparmakov | 6 | * Copyright (c) 2005 Anton Altaparmakov |
6 | * | ||
7 | * This program/include file is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as published | ||
9 | * by the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program/include file is distributed in the hope that it will be | ||
13 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program (in the main directory of the Linux-NTFS | ||
19 | * distribution in the file COPYING); if not, write to the Free Software | ||
20 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #ifndef _LINUX_NTFS_USNJRNL_H | 9 | #ifndef _LINUX_NTFS_USNJRNL_H |
diff --git a/fs/ntfs/volume.h b/fs/ntfs/volume.h index 4f579b02bc76..930a9ae8a053 100644 --- a/fs/ntfs/volume.h +++ b/fs/ntfs/volume.h | |||
@@ -1,24 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * volume.h - Defines for volume structures in NTFS Linux kernel driver. Part | 3 | * volume.h - Defines for volume structures in NTFS Linux kernel driver. Part |
3 | * of the Linux-NTFS project. | 4 | * of the Linux-NTFS project. |
4 | * | 5 | * |
5 | * Copyright (c) 2001-2006 Anton Altaparmakov | 6 | * Copyright (c) 2001-2006 Anton Altaparmakov |
6 | * Copyright (c) 2002 Richard Russon | 7 | * Copyright (c) 2002 Richard Russon |
7 | * | ||
8 | * This program/include file is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as published | ||
10 | * by the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program/include file is distributed in the hope that it will be | ||
14 | * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program (in the main directory of the Linux-NTFS | ||
20 | * distribution in the file COPYING); if not, write to the Free Software | ||
21 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #ifndef _LINUX_NTFS_VOLUME_H | 10 | #ifndef _LINUX_NTFS_VOLUME_H |
diff --git a/fs/ocfs2/Kconfig b/fs/ocfs2/Kconfig index 77a8de5f7119..46bba20da6b5 100644 --- a/fs/ocfs2/Kconfig +++ b/fs/ocfs2/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config OCFS2_FS | 2 | config OCFS2_FS |
2 | tristate "OCFS2 file system support" | 3 | tristate "OCFS2 file system support" |
3 | depends on NET && SYSFS && CONFIGFS_FS | 4 | depends on NET && SYSFS && CONFIGFS_FS |
diff --git a/fs/ocfs2/acl.c b/fs/ocfs2/acl.c index 917fadca8a7b..3e7da392aa6f 100644 --- a/fs/ocfs2/acl.c +++ b/fs/ocfs2/acl.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -8,15 +9,6 @@ | |||
8 | * CREDITS: | 9 | * CREDITS: |
9 | * Lots of code in this file is copy from linux/fs/ext3/acl.c. | 10 | * Lots of code in this file is copy from linux/fs/ext3/acl.c. |
10 | * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de> | 11 | * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de> |
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public | ||
14 | * License version 2 as published by the Free Software Foundation. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | */ | 12 | */ |
21 | 13 | ||
22 | #include <linux/init.h> | 14 | #include <linux/init.h> |
diff --git a/fs/ocfs2/acl.h b/fs/ocfs2/acl.h index 7be0bb756286..127b13432146 100644 --- a/fs/ocfs2/acl.h +++ b/fs/ocfs2/acl.h | |||
@@ -1,18 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * acl.h | 5 | * acl.h |
5 | * | 6 | * |
6 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. | 7 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | 8 | */ |
17 | 9 | ||
18 | #ifndef OCFS2_ACL_H | 10 | #ifndef OCFS2_ACL_H |
diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c index 6f0999015a44..d1348fc4ca6d 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Extent allocs and frees | 7 | * Extent allocs and frees |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h index 250bcacdf9e9..7f973dd76dbc 100644 --- a/fs/ocfs2/alloc.h +++ b/fs/ocfs2/alloc.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_ALLOC_H | 12 | #ifndef OCFS2_ALLOC_H |
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 832c1759a09a..a4c905d6b575 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 5 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/fs.h> | 8 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/aops.h b/fs/ocfs2/aops.h index 3494a62ed749..70ed4382750d 100644 --- a/fs/ocfs2/aops.h +++ b/fs/ocfs2/aops.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef OCFS2_AOPS_H | 8 | #ifndef OCFS2_AOPS_H |
diff --git a/fs/ocfs2/blockcheck.c b/fs/ocfs2/blockcheck.c index 0725e6054650..005b813a56b6 100644 --- a/fs/ocfs2/blockcheck.c +++ b/fs/ocfs2/blockcheck.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Checksum and ECC codes for the OCFS2 userspace library. | 7 | * Checksum and ECC codes for the OCFS2 userspace library. |
7 | * | 8 | * |
8 | * Copyright (C) 2006, 2008 Oracle. All rights reserved. | 9 | * Copyright (C) 2006, 2008 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
diff --git a/fs/ocfs2/blockcheck.h b/fs/ocfs2/blockcheck.h index d4b69febf70a..f2d2689407fa 100644 --- a/fs/ocfs2/blockcheck.h +++ b/fs/ocfs2/blockcheck.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Checksum and ECC codes for the OCFS2 userspace library. | 7 | * Checksum and ECC codes for the OCFS2 userspace library. |
7 | * | 8 | * |
8 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. | 9 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #ifndef OCFS2_BLOCKCHECK_H | 12 | #ifndef OCFS2_BLOCKCHECK_H |
diff --git a/fs/ocfs2/buffer_head_io.c b/fs/ocfs2/buffer_head_io.c index f9b84f7a3e4b..f0b104e483d8 100644 --- a/fs/ocfs2/buffer_head_io.c +++ b/fs/ocfs2/buffer_head_io.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Buffer cache handling | 7 | * Buffer cache handling |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/buffer_head_io.h b/fs/ocfs2/buffer_head_io.h index b1bb70c8ca4d..1c5e533fba04 100644 --- a/fs/ocfs2/buffer_head_io.h +++ b/fs/ocfs2/buffer_head_io.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Buffer cache handling functions defined | 7 | * Buffer cache handling functions defined |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_BUFFER_HEAD_IO_H | 12 | #ifndef OCFS2_BUFFER_HEAD_IO_H |
diff --git a/fs/ocfs2/cluster/Makefile b/fs/ocfs2/cluster/Makefile index 1aefc0350ec3..0e5b73215819 100644 --- a/fs/ocfs2/cluster/Makefile +++ b/fs/ocfs2/cluster/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | obj-$(CONFIG_OCFS2_FS) += ocfs2_nodemanager.o | 2 | obj-$(CONFIG_OCFS2_FS) += ocfs2_nodemanager.o |
2 | 3 | ||
3 | ocfs2_nodemanager-objs := heartbeat.o masklog.o sys.o nodemanager.o \ | 4 | ocfs2_nodemanager-objs := heartbeat.o masklog.o sys.o nodemanager.o \ |
diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c index f3c20b279eb2..7a3a096856a8 100644 --- a/fs/ocfs2/cluster/heartbeat.c +++ b/fs/ocfs2/cluster/heartbeat.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2004, 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2004, 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/fs/ocfs2/cluster/heartbeat.h b/fs/ocfs2/cluster/heartbeat.h index a9e67efc0004..7f37540ac4ab 100644 --- a/fs/ocfs2/cluster/heartbeat.h +++ b/fs/ocfs2/cluster/heartbeat.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #ifndef O2CLUSTER_HEARTBEAT_H | 12 | #ifndef O2CLUSTER_HEARTBEAT_H |
diff --git a/fs/ocfs2/cluster/masklog.c b/fs/ocfs2/cluster/masklog.c index d331c2386b94..1d696c96b8b2 100644 --- a/fs/ocfs2/cluster/masklog.c +++ b/fs/ocfs2/cluster/masklog.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2004, 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2004, 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/ocfs2/cluster/masklog.h b/fs/ocfs2/cluster/masklog.h index a396096a5099..446e452ac7a6 100644 --- a/fs/ocfs2/cluster/masklog.h +++ b/fs/ocfs2/cluster/masklog.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef O2CLUSTER_MASKLOG_H | 8 | #ifndef O2CLUSTER_MASKLOG_H |
diff --git a/fs/ocfs2/cluster/netdebug.c b/fs/ocfs2/cluster/netdebug.c index 74a21f6695c8..0784575f4c2a 100644 --- a/fs/ocfs2/cluster/netdebug.c +++ b/fs/ocfs2/cluster/netdebug.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * debug functionality for o2net | 7 | * debug functionality for o2net |
7 | * | 8 | * |
8 | * Copyright (C) 2005, 2008 Oracle. All rights reserved. | 9 | * Copyright (C) 2005, 2008 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #ifdef CONFIG_DEBUG_FS | 12 | #ifdef CONFIG_DEBUG_FS |
diff --git a/fs/ocfs2/cluster/nodemanager.c b/fs/ocfs2/cluster/nodemanager.c index 4ac775e32240..2234f7fd1f7c 100644 --- a/fs/ocfs2/cluster/nodemanager.c +++ b/fs/ocfs2/cluster/nodemanager.c | |||
@@ -1,22 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2004, 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2004, 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
diff --git a/fs/ocfs2/cluster/nodemanager.h b/fs/ocfs2/cluster/nodemanager.h index 09ea2d388bbb..3e0006631cc4 100644 --- a/fs/ocfs2/cluster/nodemanager.h +++ b/fs/ocfs2/cluster/nodemanager.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #ifndef O2CLUSTER_NODEMANAGER_H | 12 | #ifndef O2CLUSTER_NODEMANAGER_H |
diff --git a/fs/ocfs2/cluster/ocfs2_heartbeat.h b/fs/ocfs2/cluster/ocfs2_heartbeat.h index 3f4151da9709..760d850be11e 100644 --- a/fs/ocfs2/cluster/ocfs2_heartbeat.h +++ b/fs/ocfs2/cluster/ocfs2_heartbeat.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * On-disk structures for ocfs2_heartbeat | 7 | * On-disk structures for ocfs2_heartbeat |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef _OCFS2_HEARTBEAT_H | 12 | #ifndef _OCFS2_HEARTBEAT_H |
diff --git a/fs/ocfs2/cluster/ocfs2_nodemanager.h b/fs/ocfs2/cluster/ocfs2_nodemanager.h index 49b594325bec..21ad307419a8 100644 --- a/fs/ocfs2/cluster/ocfs2_nodemanager.h +++ b/fs/ocfs2/cluster/ocfs2_nodemanager.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -7,22 +8,6 @@ | |||
7 | * for the ocfs2_nodemanager module. | 8 | * for the ocfs2_nodemanager module. |
8 | * | 9 | * |
9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 10 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public | ||
13 | * License as published by the Free Software Foundation; either | ||
14 | * version 2 of the License, or (at your option) any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this program; if not, write to the | ||
23 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
24 | * Boston, MA 021110-1307, USA. | ||
25 | * | ||
26 | */ | 11 | */ |
27 | 12 | ||
28 | #ifndef _OCFS2_NODEMANAGER_H | 13 | #ifndef _OCFS2_NODEMANAGER_H |
diff --git a/fs/ocfs2/cluster/quorum.c b/fs/ocfs2/cluster/quorum.c index 67dcee65fe50..3d5d4b2b1356 100644 --- a/fs/ocfs2/cluster/quorum.c +++ b/fs/ocfs2/cluster/quorum.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * | 3 | * |
3 | * vim: noexpandtab sw=8 ts=8 sts=0: | 4 | * vim: noexpandtab sw=8 ts=8 sts=0: |
4 | * | 5 | * |
5 | * Copyright (C) 2005 Oracle. All rights reserved. | 6 | * Copyright (C) 2005 Oracle. All rights reserved. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public | ||
9 | * License as published by the Free Software Foundation; either | ||
10 | * version 2 of the License, or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public | ||
18 | * License along with this program; if not, write to the | ||
19 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
20 | * Boston, MA 021110-1307, USA. | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | /* This quorum hack is only here until we transition to some more rational | 9 | /* This quorum hack is only here until we transition to some more rational |
diff --git a/fs/ocfs2/cluster/quorum.h b/fs/ocfs2/cluster/quorum.h index 6649cc6f67c9..6d45ce8b18a1 100644 --- a/fs/ocfs2/cluster/quorum.h +++ b/fs/ocfs2/cluster/quorum.h | |||
@@ -1,23 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | * | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #ifndef O2CLUSTER_QUORUM_H | 8 | #ifndef O2CLUSTER_QUORUM_H |
diff --git a/fs/ocfs2/cluster/sys.c b/fs/ocfs2/cluster/sys.c index b7f57271d49c..d6067c3d84c1 100644 --- a/fs/ocfs2/cluster/sys.c +++ b/fs/ocfs2/cluster/sys.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * OCFS2 cluster sysfs interface | 7 | * OCFS2 cluster sysfs interface |
7 | * | 8 | * |
8 | * Copyright (C) 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, | ||
13 | * version 2 of the License. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
diff --git a/fs/ocfs2/cluster/sys.h b/fs/ocfs2/cluster/sys.h index d66b8ab0045e..ce380517cf17 100644 --- a/fs/ocfs2/cluster/sys.h +++ b/fs/ocfs2/cluster/sys.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * Function prototypes for o2cb sysfs interface | 7 | * Function prototypes for o2cb sysfs interface |
7 | * | 8 | * |
8 | * Copyright (C) 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, | ||
13 | * version 2 of the License. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #ifndef O2CLUSTER_SYS_H | 12 | #ifndef O2CLUSTER_SYS_H |
diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c index e9f236af1927..c599463d0694 100644 --- a/fs/ocfs2/cluster/tcp.c +++ b/fs/ocfs2/cluster/tcp.c | |||
@@ -1,24 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * | 3 | * |
3 | * vim: noexpandtab sw=8 ts=8 sts=0: | 4 | * vim: noexpandtab sw=8 ts=8 sts=0: |
4 | * | 5 | * |
5 | * Copyright (C) 2004 Oracle. All rights reserved. | 6 | * Copyright (C) 2004 Oracle. All rights reserved. |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public | ||
9 | * License as published by the Free Software Foundation; either | ||
10 | * version 2 of the License, or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public | ||
18 | * License along with this program; if not, write to the | ||
19 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
20 | * Boston, MA 021110-1307, USA. | ||
21 | * | ||
22 | * ---- | 8 | * ---- |
23 | * | 9 | * |
24 | * Callers for this were originally written against a very simple synchronus | 10 | * Callers for this were originally written against a very simple synchronus |
diff --git a/fs/ocfs2/cluster/tcp.h b/fs/ocfs2/cluster/tcp.h index c571e849fda4..dd4242be3f1f 100644 --- a/fs/ocfs2/cluster/tcp.h +++ b/fs/ocfs2/cluster/tcp.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #ifndef O2CLUSTER_TCP_H | 12 | #ifndef O2CLUSTER_TCP_H |
diff --git a/fs/ocfs2/cluster/tcp_internal.h b/fs/ocfs2/cluster/tcp_internal.h index 0276f7f8d5e6..e6a2b9dfcd16 100644 --- a/fs/ocfs2/cluster/tcp_internal.h +++ b/fs/ocfs2/cluster/tcp_internal.h | |||
@@ -1,22 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * Copyright (C) 2005 Oracle. All rights reserved. | 5 | * Copyright (C) 2005 Oracle. All rights reserved. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public | ||
17 | * License along with this program; if not, write to the | ||
18 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
19 | * Boston, MA 021110-1307, USA. | ||
20 | */ | 6 | */ |
21 | 7 | ||
22 | #ifndef O2CLUSTER_TCP_INTERNAL_H | 8 | #ifndef O2CLUSTER_TCP_INTERNAL_H |
diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c index 290373024d9d..42a61eecdacd 100644 --- a/fs/ocfs2/dcache.c +++ b/fs/ocfs2/dcache.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * dentry cache handling code | 7 | * dentry cache handling code |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
@@ -310,6 +296,18 @@ int ocfs2_dentry_attach_lock(struct dentry *dentry, | |||
310 | 296 | ||
311 | out_attach: | 297 | out_attach: |
312 | spin_lock(&dentry_attach_lock); | 298 | spin_lock(&dentry_attach_lock); |
299 | if (unlikely(dentry->d_fsdata && !alias)) { | ||
300 | /* d_fsdata is set by a racing thread which is doing | ||
301 | * the same thing as this thread is doing. Leave the racing | ||
302 | * thread going ahead and we return here. | ||
303 | */ | ||
304 | spin_unlock(&dentry_attach_lock); | ||
305 | iput(dl->dl_inode); | ||
306 | ocfs2_lock_res_free(&dl->dl_lockres); | ||
307 | kfree(dl); | ||
308 | return 0; | ||
309 | } | ||
310 | |||
313 | dentry->d_fsdata = dl; | 311 | dentry->d_fsdata = dl; |
314 | dl->dl_count++; | 312 | dl->dl_count++; |
315 | spin_unlock(&dentry_attach_lock); | 313 | spin_unlock(&dentry_attach_lock); |
diff --git a/fs/ocfs2/dcache.h b/fs/ocfs2/dcache.h index 55f58892b153..3686a52ba143 100644 --- a/fs/ocfs2/dcache.h +++ b/fs/ocfs2/dcache.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_DCACHE_H | 12 | #ifndef OCFS2_DCACHE_H |
diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c index 85f21caaa6ec..784426dee56c 100644 --- a/fs/ocfs2/dir.c +++ b/fs/ocfs2/dir.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -19,21 +20,6 @@ | |||
19 | * linux/fs/minix/dir.c | 20 | * linux/fs/minix/dir.c |
20 | * | 21 | * |
21 | * Copyright (C) 1991, 1992 Linus Torvalds | 22 | * Copyright (C) 1991, 1992 Linus Torvalds |
22 | * | ||
23 | * This program is free software; you can redistribute it and/or | ||
24 | * modify it under the terms of the GNU General Public | ||
25 | * License as published by the Free Software Foundation; either | ||
26 | * version 2 of the License, or (at your option) any later version. | ||
27 | * | ||
28 | * This program is distributed in the hope that it will be useful, | ||
29 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
30 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
31 | * General Public License for more details. | ||
32 | * | ||
33 | * You should have received a copy of the GNU General Public | ||
34 | * License along with this program; if not, write to the | ||
35 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
36 | * Boston, MA 021110-1307, USA. | ||
37 | */ | 23 | */ |
38 | 24 | ||
39 | #include <linux/fs.h> | 25 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/dir.h b/fs/ocfs2/dir.h index 3d8639f38973..e3e7d5dd29e8 100644 --- a/fs/ocfs2/dir.h +++ b/fs/ocfs2/dir.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_DIR_H | 12 | #ifndef OCFS2_DIR_H |
diff --git a/fs/ocfs2/dlm/Makefile b/fs/ocfs2/dlm/Makefile index 3d4041f0431e..38b224372776 100644 --- a/fs/ocfs2/dlm/Makefile +++ b/fs/ocfs2/dlm/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | ccflags-y := -I $(srctree)/$(src)/.. | 2 | ccflags-y := -I $(srctree)/$(src)/.. |
2 | 3 | ||
3 | obj-$(CONFIG_OCFS2_FS_O2CB) += ocfs2_dlm.o | 4 | obj-$(CONFIG_OCFS2_FS_O2CB) += ocfs2_dlm.o |
diff --git a/fs/ocfs2/dlm/dlmapi.h b/fs/ocfs2/dlm/dlmapi.h index 3cfa114aa391..6456c0fbcbb2 100644 --- a/fs/ocfs2/dlm/dlmapi.h +++ b/fs/ocfs2/dlm/dlmapi.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * externally exported dlm interfaces | 7 | * externally exported dlm interfaces |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #ifndef DLMAPI_H | 12 | #ifndef DLMAPI_H |
diff --git a/fs/ocfs2/dlm/dlmast.c b/fs/ocfs2/dlm/dlmast.c index 39831fc2fd52..4de89af96abf 100644 --- a/fs/ocfs2/dlm/dlmast.c +++ b/fs/ocfs2/dlm/dlmast.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * AST and BAST functionality for local and remote nodes | 7 | * AST and BAST functionality for local and remote nodes |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlm/dlmcommon.h b/fs/ocfs2/dlm/dlmcommon.h index d06e27ec4be4..69a429b625cc 100644 --- a/fs/ocfs2/dlm/dlmcommon.h +++ b/fs/ocfs2/dlm/dlmcommon.h | |||
@@ -1,25 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * dlmcommon.h | 5 | * dlmcommon.h |
5 | * | 6 | * |
6 | * Copyright (C) 2004 Oracle. All rights reserved. | 7 | * Copyright (C) 2004 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License as published by the Free Software Foundation; either | ||
11 | * version 2 of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public | ||
19 | * License along with this program; if not, write to the | ||
20 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
21 | * Boston, MA 021110-1307, USA. | ||
22 | * | ||
23 | */ | 8 | */ |
24 | 9 | ||
25 | #ifndef DLMCOMMON_H | 10 | #ifndef DLMCOMMON_H |
diff --git a/fs/ocfs2/dlm/dlmconvert.c b/fs/ocfs2/dlm/dlmconvert.c index 0bb128659d4b..965f45dbe17b 100644 --- a/fs/ocfs2/dlm/dlmconvert.c +++ b/fs/ocfs2/dlm/dlmconvert.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * underlying calls for lock conversion | 7 | * underlying calls for lock conversion |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlm/dlmconvert.h b/fs/ocfs2/dlm/dlmconvert.h index b2e3677df878..12d9c28bc52f 100644 --- a/fs/ocfs2/dlm/dlmconvert.h +++ b/fs/ocfs2/dlm/dlmconvert.h | |||
@@ -1,25 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * dlmconvert.h | 5 | * dlmconvert.h |
5 | * | 6 | * |
6 | * Copyright (C) 2004 Oracle. All rights reserved. | 7 | * Copyright (C) 2004 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License as published by the Free Software Foundation; either | ||
11 | * version 2 of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public | ||
19 | * License along with this program; if not, write to the | ||
20 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
21 | * Boston, MA 021110-1307, USA. | ||
22 | * | ||
23 | */ | 8 | */ |
24 | 9 | ||
25 | #ifndef DLMCONVERT_H | 10 | #ifndef DLMCONVERT_H |
diff --git a/fs/ocfs2/dlm/dlmdebug.c b/fs/ocfs2/dlm/dlmdebug.c index 1d6dc8422899..c8af5bc9e980 100644 --- a/fs/ocfs2/dlm/dlmdebug.c +++ b/fs/ocfs2/dlm/dlmdebug.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * debug functionality for the dlm | 7 | * debug functionality for the dlm |
7 | * | 8 | * |
8 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. | 9 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #include <linux/types.h> | 12 | #include <linux/types.h> |
diff --git a/fs/ocfs2/dlm/dlmdebug.h b/fs/ocfs2/dlm/dlmdebug.h index 5ced5482e7d3..74d019694c7e 100644 --- a/fs/ocfs2/dlm/dlmdebug.h +++ b/fs/ocfs2/dlm/dlmdebug.h | |||
@@ -1,25 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * dlmdebug.h | 5 | * dlmdebug.h |
5 | * | 6 | * |
6 | * Copyright (C) 2008 Oracle. All rights reserved. | 7 | * Copyright (C) 2008 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License as published by the Free Software Foundation; either | ||
11 | * version 2 of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public | ||
19 | * License along with this program; if not, write to the | ||
20 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
21 | * Boston, MA 021110-1307, USA. | ||
22 | * | ||
23 | */ | 8 | */ |
24 | 9 | ||
25 | #ifndef DLMDEBUG_H | 10 | #ifndef DLMDEBUG_H |
diff --git a/fs/ocfs2/dlm/dlmdomain.c b/fs/ocfs2/dlm/dlmdomain.c index 2acd58ba9b7b..9021e72e1f98 100644 --- a/fs/ocfs2/dlm/dlmdomain.c +++ b/fs/ocfs2/dlm/dlmdomain.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * defines domain join / leave apis | 7 | * defines domain join / leave apis |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | #include <linux/module.h> | 12 | #include <linux/module.h> |
diff --git a/fs/ocfs2/dlm/dlmdomain.h b/fs/ocfs2/dlm/dlmdomain.h index 8a9281411c18..7c21664d23d0 100644 --- a/fs/ocfs2/dlm/dlmdomain.h +++ b/fs/ocfs2/dlm/dlmdomain.h | |||
@@ -1,25 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * dlmdomain.h | 5 | * dlmdomain.h |
5 | * | 6 | * |
6 | * Copyright (C) 2004 Oracle. All rights reserved. | 7 | * Copyright (C) 2004 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License as published by the Free Software Foundation; either | ||
11 | * version 2 of the License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
16 | * General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public | ||
19 | * License along with this program; if not, write to the | ||
20 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
21 | * Boston, MA 021110-1307, USA. | ||
22 | * | ||
23 | */ | 8 | */ |
24 | 9 | ||
25 | #ifndef DLMDOMAIN_H | 10 | #ifndef DLMDOMAIN_H |
diff --git a/fs/ocfs2/dlm/dlmlock.c b/fs/ocfs2/dlm/dlmlock.c index 74962315794e..baff087f3863 100644 --- a/fs/ocfs2/dlm/dlmlock.c +++ b/fs/ocfs2/dlm/dlmlock.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * underlying calls for lock creation | 7 | * underlying calls for lock creation |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c index 826f0567ec43..810f841494ef 100644 --- a/fs/ocfs2/dlm/dlmmaster.c +++ b/fs/ocfs2/dlm/dlmmaster.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * standalone DLM module | 7 | * standalone DLM module |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c index 802636d50365..e22d6a115220 100644 --- a/fs/ocfs2/dlm/dlmrecovery.c +++ b/fs/ocfs2/dlm/dlmrecovery.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * recovery stuff | 7 | * recovery stuff |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlm/dlmthread.c b/fs/ocfs2/dlm/dlmthread.c index 074d5de17bb2..61c51c268460 100644 --- a/fs/ocfs2/dlm/dlmthread.c +++ b/fs/ocfs2/dlm/dlmthread.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * standalone DLM module | 7 | * standalone DLM module |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlm/dlmunlock.c b/fs/ocfs2/dlm/dlmunlock.c index 63d701cd1e2e..e78657742bd8 100644 --- a/fs/ocfs2/dlm/dlmunlock.c +++ b/fs/ocfs2/dlm/dlmunlock.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,22 +7,6 @@ | |||
6 | * underlying calls for unlocking locks | 7 | * underlying calls for unlocking locks |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | * | ||
25 | */ | 10 | */ |
26 | 11 | ||
27 | 12 | ||
diff --git a/fs/ocfs2/dlmfs/Makefile b/fs/ocfs2/dlmfs/Makefile index 0a0b93d940fe..a9874e441bd4 100644 --- a/fs/ocfs2/dlmfs/Makefile +++ b/fs/ocfs2/dlmfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | ccflags-y := -I $(srctree)/$(src)/.. | 2 | ccflags-y := -I $(srctree)/$(src)/.. |
2 | 3 | ||
3 | obj-$(CONFIG_OCFS2_FS) += ocfs2_dlmfs.o | 4 | obj-$(CONFIG_OCFS2_FS) += ocfs2_dlmfs.o |
diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c index 98885181e1fe..4f1668c81e1f 100644 --- a/fs/ocfs2/dlmfs/dlmfs.c +++ b/fs/ocfs2/dlmfs/dlmfs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -9,21 +10,6 @@ | |||
9 | * which was a template for the fs side of this module. | 10 | * which was a template for the fs side of this module. |
10 | * | 11 | * |
11 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. | 12 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. |
12 | * | ||
13 | * This program is free software; you can redistribute it and/or | ||
14 | * modify it under the terms of the GNU General Public | ||
15 | * License as published by the Free Software Foundation; either | ||
16 | * version 2 of the License, or (at your option) any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
21 | * General Public License for more details. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public | ||
24 | * License along with this program; if not, write to the | ||
25 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
26 | * Boston, MA 021110-1307, USA. | ||
27 | */ | 13 | */ |
28 | 14 | ||
29 | /* Simple VFS hooks based on: */ | 15 | /* Simple VFS hooks based on: */ |
diff --git a/fs/ocfs2/dlmfs/userdlm.c b/fs/ocfs2/dlmfs/userdlm.c index 9cecf4857195..525b14ddfba5 100644 --- a/fs/ocfs2/dlmfs/userdlm.c +++ b/fs/ocfs2/dlmfs/userdlm.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -10,21 +11,6 @@ | |||
10 | * functions. | 11 | * functions. |
11 | * | 12 | * |
12 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. | 13 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. |
13 | * | ||
14 | * This program is free software; you can redistribute it and/or | ||
15 | * modify it under the terms of the GNU General Public | ||
16 | * License as published by the Free Software Foundation; either | ||
17 | * version 2 of the License, or (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
22 | * General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public | ||
25 | * License along with this program; if not, write to the | ||
26 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
27 | * Boston, MA 021110-1307, USA. | ||
28 | */ | 14 | */ |
29 | 15 | ||
30 | #include <linux/signal.h> | 16 | #include <linux/signal.h> |
diff --git a/fs/ocfs2/dlmfs/userdlm.h b/fs/ocfs2/dlmfs/userdlm.h index ede94a6e7fd3..4bef7cdef859 100644 --- a/fs/ocfs2/dlmfs/userdlm.h +++ b/fs/ocfs2/dlmfs/userdlm.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Userspace dlm defines | 7 | * Userspace dlm defines |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | 12 | ||
diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c index af405586c5b1..b5fc5d3c7525 100644 --- a/fs/ocfs2/dlmglue.c +++ b/fs/ocfs2/dlmglue.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Code which implements an OCFS2 specific interface to our DLM. | 7 | * Code which implements an OCFS2 specific interface to our DLM. |
7 | * | 8 | * |
8 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/types.h> | 12 | #include <linux/types.h> |
diff --git a/fs/ocfs2/dlmglue.h b/fs/ocfs2/dlmglue.h index 4ec1c828f6e0..b8fbed25df89 100644 --- a/fs/ocfs2/dlmglue.h +++ b/fs/ocfs2/dlmglue.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * description here | 7 | * description here |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | 12 | ||
diff --git a/fs/ocfs2/export.c b/fs/ocfs2/export.c index af2888d23de3..69ed278dd84d 100644 --- a/fs/ocfs2/export.c +++ b/fs/ocfs2/export.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Functions to facilitate NFS exporting | 7 | * Functions to facilitate NFS exporting |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/export.h b/fs/ocfs2/export.h index 41a738678c37..d485da0c3439 100644 --- a/fs/ocfs2/export.h +++ b/fs/ocfs2/export.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_EXPORT_H | 12 | #ifndef OCFS2_EXPORT_H |
diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c index 06cb96462bf9..e66a249fe07c 100644 --- a/fs/ocfs2/extent_map.c +++ b/fs/ocfs2/extent_map.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,20 +7,6 @@ | |||
6 | * Block/Cluster mapping functions | 7 | * Block/Cluster mapping functions |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this program; if not, write to the | ||
21 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
22 | * Boston, MA 021110-1307, USA. | ||
23 | */ | 10 | */ |
24 | 11 | ||
25 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/extent_map.h b/fs/ocfs2/extent_map.h index 1057586ec19f..e5464f6cee8a 100644 --- a/fs/ocfs2/extent_map.h +++ b/fs/ocfs2/extent_map.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,20 +7,6 @@ | |||
6 | * In-memory file extent mappings for OCFS2. | 7 | * In-memory file extent mappings for OCFS2. |
7 | * | 8 | * |
8 | * Copyright (C) 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this program; if not, write to the | ||
21 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
22 | * Boston, MA 021110-1307, USA. | ||
23 | */ | 10 | */ |
24 | 11 | ||
25 | #ifndef _EXTENT_MAP_H | 12 | #ifndef _EXTENT_MAP_H |
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index d640c5f8a85d..4435df3e5adb 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * File open, close, extend, truncate | 7 | * File open, close, extend, truncate |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/capability.h> | 12 | #include <linux/capability.h> |
diff --git a/fs/ocfs2/file.h b/fs/ocfs2/file.h index 7eb7f03531f6..4832cbceba5b 100644 --- a/fs/ocfs2/file.h +++ b/fs/ocfs2/file.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_FILE_H | 12 | #ifndef OCFS2_FILE_H |
diff --git a/fs/ocfs2/filecheck.c b/fs/ocfs2/filecheck.c index f65f2b2f594d..50f11bfdc8c2 100644 --- a/fs/ocfs2/filecheck.c +++ b/fs/ocfs2/filecheck.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Code which implements online file check. | 7 | * Code which implements online file check. |
7 | * | 8 | * |
8 | * Copyright (C) 2016 SuSE. All rights reserved. | 9 | * Copyright (C) 2016 SuSE. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, version 2. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #include <linux/list.h> | 12 | #include <linux/list.h> |
@@ -193,6 +185,7 @@ int ocfs2_filecheck_create_sysfs(struct ocfs2_super *osb) | |||
193 | ret = kobject_init_and_add(&entry->fs_kobj, &ocfs2_ktype_filecheck, | 185 | ret = kobject_init_and_add(&entry->fs_kobj, &ocfs2_ktype_filecheck, |
194 | NULL, "filecheck"); | 186 | NULL, "filecheck"); |
195 | if (ret) { | 187 | if (ret) { |
188 | kobject_put(&entry->fs_kobj); | ||
196 | kfree(fcheck); | 189 | kfree(fcheck); |
197 | return ret; | 190 | return ret; |
198 | } | 191 | } |
diff --git a/fs/ocfs2/filecheck.h b/fs/ocfs2/filecheck.h index 6a22ee79e8d0..4d006777ac54 100644 --- a/fs/ocfs2/filecheck.h +++ b/fs/ocfs2/filecheck.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Online file check. | 7 | * Online file check. |
7 | * | 8 | * |
8 | * Copyright (C) 2016 SuSE. All rights reserved. | 9 | * Copyright (C) 2016 SuSE. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, version 2. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | 12 | ||
diff --git a/fs/ocfs2/heartbeat.c b/fs/ocfs2/heartbeat.c index d8208b20dc53..60c5f995d30c 100644 --- a/fs/ocfs2/heartbeat.c +++ b/fs/ocfs2/heartbeat.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -7,21 +8,6 @@ | |||
7 | * up to date, and fire off recovery when needed. | 8 | * up to date, and fire off recovery when needed. |
8 | * | 9 | * |
9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 10 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public | ||
13 | * License as published by the Free Software Foundation; either | ||
14 | * version 2 of the License, or (at your option) any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this program; if not, write to the | ||
23 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
24 | * Boston, MA 021110-1307, USA. | ||
25 | */ | 11 | */ |
26 | 12 | ||
27 | #include <linux/fs.h> | 13 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/heartbeat.h b/fs/ocfs2/heartbeat.h index 74b9c5dda28d..5fedb2d35dc0 100644 --- a/fs/ocfs2/heartbeat.h +++ b/fs/ocfs2/heartbeat.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_HEARTBEAT_H | 12 | #ifndef OCFS2_HEARTBEAT_H |
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c index 79279240fb6e..7ad9d6590818 100644 --- a/fs/ocfs2/inode.c +++ b/fs/ocfs2/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * vfs' aops, fops, dops and iops | 7 | * vfs' aops, fops, dops and iops |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h index 9b955f732bca..51a4f7197987 100644 --- a/fs/ocfs2/inode.h +++ b/fs/ocfs2/inode.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_INODE_H | 12 | #ifndef OCFS2_INODE_H |
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c index 46fd3ef2cf21..930e3d388579 100644 --- a/fs/ocfs2/journal.c +++ b/fs/ocfs2/journal.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Defines functions of journalling api | 7 | * Defines functions of journalling api |
7 | * | 8 | * |
8 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/journal.h b/fs/ocfs2/journal.h index 497a4171ef61..c0fe6ed08ab1 100644 --- a/fs/ocfs2/journal.h +++ b/fs/ocfs2/journal.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Defines journalling api and structures. | 7 | * Defines journalling api and structures. |
7 | * | 8 | * |
8 | * Copyright (C) 2003, 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2003, 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_JOURNAL_H | 12 | #ifndef OCFS2_JOURNAL_H |
diff --git a/fs/ocfs2/localalloc.c b/fs/ocfs2/localalloc.c index 58973e4d2471..f03674afbd30 100644 --- a/fs/ocfs2/localalloc.c +++ b/fs/ocfs2/localalloc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Node local data allocation | 7 | * Node local data allocation |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/localalloc.h b/fs/ocfs2/localalloc.h index 44a7d1fb2dec..e8a5cea48639 100644 --- a/fs/ocfs2/localalloc.h +++ b/fs/ocfs2/localalloc.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_LOCALALLOC_H | 12 | #ifndef OCFS2_LOCALALLOC_H |
diff --git a/fs/ocfs2/locks.c b/fs/ocfs2/locks.c index b11acd34001a..7edc4e5c7c2c 100644 --- a/fs/ocfs2/locks.c +++ b/fs/ocfs2/locks.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Userspace file locking support | 7 | * Userspace file locking support |
7 | * | 8 | * |
8 | * Copyright (C) 2007 Oracle. All rights reserved. | 9 | * Copyright (C) 2007 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/locks.h b/fs/ocfs2/locks.h index 496d488b271f..389fe1fce3a5 100644 --- a/fs/ocfs2/locks.h +++ b/fs/ocfs2/locks.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes for Userspace file locking support | 7 | * Function prototypes for Userspace file locking support |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_LOCKS_H | 12 | #ifndef OCFS2_LOCKS_H |
diff --git a/fs/ocfs2/mmap.c b/fs/ocfs2/mmap.c index 05220b365fb9..3a44e461828a 100644 --- a/fs/ocfs2/mmap.c +++ b/fs/ocfs2/mmap.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Code to deal with the mess that is clustered mmap. | 7 | * Code to deal with the mess that is clustered mmap. |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/move_extents.c b/fs/ocfs2/move_extents.c index 1565dd8e8856..758d9661ef1e 100644 --- a/fs/ocfs2/move_extents.c +++ b/fs/ocfs2/move_extents.c | |||
@@ -1,18 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * move_extents.c | 5 | * move_extents.c |
5 | * | 6 | * |
6 | * Copyright (C) 2011 Oracle. All rights reserved. | 7 | * Copyright (C) 2011 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | 8 | */ |
17 | #include <linux/fs.h> | 9 | #include <linux/fs.h> |
18 | #include <linux/types.h> | 10 | #include <linux/types.h> |
diff --git a/fs/ocfs2/move_extents.h b/fs/ocfs2/move_extents.h index 4e143e811441..28cac43892c5 100644 --- a/fs/ocfs2/move_extents.h +++ b/fs/ocfs2/move_extents.h | |||
@@ -1,18 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * move_extents.h | 5 | * move_extents.h |
5 | * | 6 | * |
6 | * Copyright (C) 2011 Oracle. All rights reserved. | 7 | * Copyright (C) 2011 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | 8 | */ |
17 | #ifndef OCFS2_MOVE_EXTENTS_H | 9 | #ifndef OCFS2_MOVE_EXTENTS_H |
18 | #define OCFS2_MOVE_EXTENTS_H | 10 | #define OCFS2_MOVE_EXTENTS_H |
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index b7ca84bc3df7..6f8e1c4fdb9c 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -19,21 +20,6 @@ | |||
19 | * linux/fs/minix/dir.c | 20 | * linux/fs/minix/dir.c |
20 | * | 21 | * |
21 | * Copyright (C) 1991, 1992 Linux Torvalds | 22 | * Copyright (C) 1991, 1992 Linux Torvalds |
22 | * | ||
23 | * This program is free software; you can redistribute it and/or | ||
24 | * modify it under the terms of the GNU General Public | ||
25 | * License as published by the Free Software Foundation; either | ||
26 | * version 2 of the License, or (at your option) any later version. | ||
27 | * | ||
28 | * This program is distributed in the hope that it will be useful, | ||
29 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
30 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
31 | * General Public License for more details. | ||
32 | * | ||
33 | * You should have received a copy of the GNU General Public | ||
34 | * License along with this program; if not, write to the | ||
35 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
36 | * Boston, MA 021110-1307, USA. | ||
37 | */ | 23 | */ |
38 | 24 | ||
39 | #include <linux/fs.h> | 25 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/namei.h b/fs/ocfs2/namei.h index 1155918d6784..cc091ed02b4a 100644 --- a/fs/ocfs2/namei.h +++ b/fs/ocfs2/namei.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_NAMEI_H | 12 | #ifndef OCFS2_NAMEI_H |
diff --git a/fs/ocfs2/ocfs1_fs_compat.h b/fs/ocfs2/ocfs1_fs_compat.h index dfb313bda5dd..01ae48c4834d 100644 --- a/fs/ocfs2/ocfs1_fs_compat.h +++ b/fs/ocfs2/ocfs1_fs_compat.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -9,20 +10,6 @@ | |||
9 | * mount it. | 10 | * mount it. |
10 | * | 11 | * |
11 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 12 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
12 | * | ||
13 | * This program is free software; you can redistribute it and/or | ||
14 | * modify it under the terms of the GNU General Public | ||
15 | * License, version 2, as published by the Free Software Foundation. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, | ||
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
20 | * General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public | ||
23 | * License along with this program; if not, write to the | ||
24 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
25 | * Boston, MA 021110-1307, USA. | ||
26 | */ | 13 | */ |
27 | 14 | ||
28 | #ifndef _OCFS1_FS_COMPAT_H | 15 | #ifndef _OCFS1_FS_COMPAT_H |
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h index 1f029fbe8b8d..a4647a646f07 100644 --- a/fs/ocfs2/ocfs2.h +++ b/fs/ocfs2/ocfs2.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Defines macros and structures used in OCFS2 | 7 | * Defines macros and structures used in OCFS2 |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_H | 12 | #ifndef OCFS2_H |
diff --git a/fs/ocfs2/ocfs2_fs.h b/fs/ocfs2/ocfs2_fs.h index b86bf5e74348..0db4a7ec58a2 100644 --- a/fs/ocfs2/ocfs2_fs.h +++ b/fs/ocfs2/ocfs2_fs.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,20 +7,6 @@ | |||
6 | * On-disk structures for OCFS2. | 7 | * On-disk structures for OCFS2. |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this program; if not, write to the | ||
21 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
22 | * Boston, MA 021110-1307, USA. | ||
23 | */ | 10 | */ |
24 | 11 | ||
25 | #ifndef _OCFS2_FS_H | 12 | #ifndef _OCFS2_FS_H |
diff --git a/fs/ocfs2/ocfs2_ioctl.h b/fs/ocfs2/ocfs2_ioctl.h index 5b27ff1fa577..d7b31734f6be 100644 --- a/fs/ocfs2/ocfs2_ioctl.h +++ b/fs/ocfs2/ocfs2_ioctl.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Defines OCFS2 ioctls. | 7 | * Defines OCFS2 ioctls. |
7 | * | 8 | * |
8 | * Copyright (C) 2010 Oracle. All rights reserved. | 9 | * Copyright (C) 2010 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #ifndef OCFS2_IOCTL_H | 12 | #ifndef OCFS2_IOCTL_H |
diff --git a/fs/ocfs2/ocfs2_lockid.h b/fs/ocfs2/ocfs2_lockid.h index 7051b994c776..b4be84956bc1 100644 --- a/fs/ocfs2/ocfs2_lockid.h +++ b/fs/ocfs2/ocfs2_lockid.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Defines OCFS2 lockid bits. | 7 | * Defines OCFS2 lockid bits. |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_LOCKID_H | 12 | #ifndef OCFS2_LOCKID_H |
diff --git a/fs/ocfs2/ocfs2_lockingver.h b/fs/ocfs2/ocfs2_lockingver.h index 2e45c8d2ea7e..5c9c105b33ee 100644 --- a/fs/ocfs2/ocfs2_lockingver.h +++ b/fs/ocfs2/ocfs2_lockingver.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Defines OCFS2 Locking version values. | 7 | * Defines OCFS2 Locking version values. |
7 | * | 8 | * |
8 | * Copyright (C) 2008 Oracle. All rights reserved. | 9 | * Copyright (C) 2008 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License, version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #ifndef OCFS2_LOCKINGVER_H | 12 | #ifndef OCFS2_LOCKINGVER_H |
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 1dc9a08e8bdc..ee43e51188be 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c | |||
@@ -1,18 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * refcounttree.c | 5 | * refcounttree.c |
5 | * | 6 | * |
6 | * Copyright (C) 2009 Oracle. All rights reserved. | 7 | * Copyright (C) 2009 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | 8 | */ |
17 | 9 | ||
18 | #include <linux/sort.h> | 10 | #include <linux/sort.h> |
diff --git a/fs/ocfs2/refcounttree.h b/fs/ocfs2/refcounttree.h index e9e862be4a1e..0b9014495726 100644 --- a/fs/ocfs2/refcounttree.h +++ b/fs/ocfs2/refcounttree.h | |||
@@ -1,18 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * refcounttree.h | 5 | * refcounttree.h |
5 | * | 6 | * |
6 | * Copyright (C) 2009 Oracle. All rights reserved. | 7 | * Copyright (C) 2009 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | 8 | */ |
17 | #ifndef OCFS2_REFCOUNTTREE_H | 9 | #ifndef OCFS2_REFCOUNTTREE_H |
18 | #define OCFS2_REFCOUNTTREE_H | 10 | #define OCFS2_REFCOUNTTREE_H |
diff --git a/fs/ocfs2/reservations.c b/fs/ocfs2/reservations.c index 6a348b0294ab..0249e8ca1028 100644 --- a/fs/ocfs2/reservations.c +++ b/fs/ocfs2/reservations.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -13,15 +14,6 @@ | |||
13 | * Universite Pierre et Marie Curie (Paris VI) | 14 | * Universite Pierre et Marie Curie (Paris VI) |
14 | * | 15 | * |
15 | * The rest is copyright (C) 2010 Novell. All rights reserved. | 16 | * The rest is copyright (C) 2010 Novell. All rights reserved. |
16 | * | ||
17 | * This program is free software; you can redistribute it and/or | ||
18 | * modify it under the terms of the GNU General Public | ||
19 | * License version 2 as published by the Free Software Foundation. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
24 | * General Public License for more details. | ||
25 | */ | 17 | */ |
26 | 18 | ||
27 | #include <linux/fs.h> | 19 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/reservations.h b/fs/ocfs2/reservations.h index 42c2b804f3fd..6ac88122896d 100644 --- a/fs/ocfs2/reservations.h +++ b/fs/ocfs2/reservations.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Allocation reservations function prototypes and structures. | 7 | * Allocation reservations function prototypes and structures. |
7 | * | 8 | * |
8 | * Copyright (C) 2010 Novell. All rights reserved. | 9 | * Copyright (C) 2010 Novell. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License version 2 as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #ifndef OCFS2_RESERVATIONS_H | 12 | #ifndef OCFS2_RESERVATIONS_H |
diff --git a/fs/ocfs2/resize.c b/fs/ocfs2/resize.c index 18451e0fab81..24eb52f9059c 100644 --- a/fs/ocfs2/resize.c +++ b/fs/ocfs2/resize.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -7,21 +8,6 @@ | |||
7 | * Inspired by ext3/resize.c. | 8 | * Inspired by ext3/resize.c. |
8 | * | 9 | * |
9 | * Copyright (C) 2007 Oracle. All rights reserved. | 10 | * Copyright (C) 2007 Oracle. All rights reserved. |
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public | ||
13 | * License as published by the Free Software Foundation; either | ||
14 | * version 2 of the License, or (at your option) any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this program; if not, write to the | ||
23 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
24 | * Boston, MA 021110-1307, USA. | ||
25 | */ | 11 | */ |
26 | 12 | ||
27 | #include <linux/fs.h> | 13 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/resize.h b/fs/ocfs2/resize.h index f38841abf10b..0af0c023042c 100644 --- a/fs/ocfs2/resize.h +++ b/fs/ocfs2/resize.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2007 Oracle. All rights reserved. | 9 | * Copyright (C) 2007 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_RESIZE_H | 12 | #ifndef OCFS2_RESIZE_H |
diff --git a/fs/ocfs2/slot_map.c b/fs/ocfs2/slot_map.c index ea0756d83250..8caeceeaeda7 100644 --- a/fs/ocfs2/slot_map.c +++ b/fs/ocfs2/slot_map.c | |||
@@ -1,26 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * slot_map.c | 5 | * slot_map.c |
5 | * | 6 | * |
6 | * | ||
7 | * | ||
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 7 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 8 | */ |
25 | 9 | ||
26 | #include <linux/types.h> | 10 | #include <linux/types.h> |
diff --git a/fs/ocfs2/slot_map.h b/fs/ocfs2/slot_map.h index 601c95fd7003..93b53e73f0f7 100644 --- a/fs/ocfs2/slot_map.h +++ b/fs/ocfs2/slot_map.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * description here | 7 | * description here |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | 12 | ||
diff --git a/fs/ocfs2/stack_o2cb.c b/fs/ocfs2/stack_o2cb.c index 220cae7bbdbc..dbf8b5735808 100644 --- a/fs/ocfs2/stack_o2cb.c +++ b/fs/ocfs2/stack_o2cb.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Code which interfaces ocfs2 with the o2cb stack. | 7 | * Code which interfaces ocfs2 with the o2cb stack. |
7 | * | 8 | * |
8 | * Copyright (C) 2007 Oracle. All rights reserved. | 9 | * Copyright (C) 2007 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, version 2. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
diff --git a/fs/ocfs2/stack_user.c b/fs/ocfs2/stack_user.c index d2fb97b173da..7397064c3f35 100644 --- a/fs/ocfs2/stack_user.c +++ b/fs/ocfs2/stack_user.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Code which interfaces ocfs2 with fs/dlm and a userspace stack. | 7 | * Code which interfaces ocfs2 with fs/dlm and a userspace stack. |
7 | * | 8 | * |
8 | * Copyright (C) 2007 Oracle. All rights reserved. | 9 | * Copyright (C) 2007 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, version 2. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | #include <linux/module.h> | 12 | #include <linux/module.h> |
diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c index c4b029c43464..8aa6a667860c 100644 --- a/fs/ocfs2/stackglue.c +++ b/fs/ocfs2/stackglue.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -7,15 +8,6 @@ | |||
7 | * cluster stacks. | 8 | * cluster stacks. |
8 | * | 9 | * |
9 | * Copyright (C) 2007, 2009 Oracle. All rights reserved. | 10 | * Copyright (C) 2007, 2009 Oracle. All rights reserved. |
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public | ||
13 | * License as published by the Free Software Foundation, version 2. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | */ | 11 | */ |
20 | 12 | ||
21 | #include <linux/list.h> | 13 | #include <linux/list.h> |
diff --git a/fs/ocfs2/stackglue.h b/fs/ocfs2/stackglue.h index f2dce10fae54..e9d26cbeb3b8 100644 --- a/fs/ocfs2/stackglue.h +++ b/fs/ocfs2/stackglue.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,15 +7,6 @@ | |||
6 | * Glue to the underlying cluster stack. | 7 | * Glue to the underlying cluster stack. |
7 | * | 8 | * |
8 | * Copyright (C) 2007 Oracle. All rights reserved. | 9 | * Copyright (C) 2007 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation, version 2. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | 10 | */ |
19 | 11 | ||
20 | 12 | ||
diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c index f7c972fbed6a..69c21a3843af 100644 --- a/fs/ocfs2/suballoc.c +++ b/fs/ocfs2/suballoc.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -7,21 +8,6 @@ | |||
7 | * Inspired by ext3 block groups. | 8 | * Inspired by ext3 block groups. |
8 | * | 9 | * |
9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 10 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
10 | * | ||
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public | ||
13 | * License as published by the Free Software Foundation; either | ||
14 | * version 2 of the License, or (at your option) any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this program; if not, write to the | ||
23 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
24 | * Boston, MA 021110-1307, USA. | ||
25 | */ | 11 | */ |
26 | 12 | ||
27 | #include <linux/fs.h> | 13 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/suballoc.h b/fs/ocfs2/suballoc.h index 2d2501767c0c..f0a5d30a175d 100644 --- a/fs/ocfs2/suballoc.h +++ b/fs/ocfs2/suballoc.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Defines sub allocator api | 7 | * Defines sub allocator api |
7 | * | 8 | * |
8 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2003, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef _CHAINALLOC_H_ | 12 | #ifndef _CHAINALLOC_H_ |
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 8821bc7b9c72..a201f9780b35 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * load/unload driver, mount/dismount volumes | 7 | * load/unload driver, mount/dismount volumes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/module.h> | 12 | #include <linux/module.h> |
diff --git a/fs/ocfs2/super.h b/fs/ocfs2/super.h index d4550c8bbc41..76facaf63336 100644 --- a/fs/ocfs2/super.h +++ b/fs/ocfs2/super.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_SUPER_H | 12 | #ifndef OCFS2_SUPER_H |
diff --git a/fs/ocfs2/symlink.h b/fs/ocfs2/symlink.h index 71ee4245e919..167094d1e5aa 100644 --- a/fs/ocfs2/symlink.h +++ b/fs/ocfs2/symlink.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_SYMLINK_H | 12 | #ifndef OCFS2_SYMLINK_H |
diff --git a/fs/ocfs2/sysfile.c b/fs/ocfs2/sysfile.c index 5965f3878d49..bb701c4e449f 100644 --- a/fs/ocfs2/sysfile.c +++ b/fs/ocfs2/sysfile.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Initialize, read, write, etc. system files. | 7 | * Initialize, read, write, etc. system files. |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
diff --git a/fs/ocfs2/sysfile.h b/fs/ocfs2/sysfile.h index cc9ea661ffc1..a83dd962fccb 100644 --- a/fs/ocfs2/sysfile.h +++ b/fs/ocfs2/sysfile.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Function prototypes | 7 | * Function prototypes |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_SYSFILE_H | 12 | #ifndef OCFS2_SYSFILE_H |
diff --git a/fs/ocfs2/uptodate.c b/fs/ocfs2/uptodate.c index 78f09c76ab3c..580852ba05c4 100644 --- a/fs/ocfs2/uptodate.c +++ b/fs/ocfs2/uptodate.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -8,21 +9,6 @@ | |||
8 | * | 9 | * |
9 | * Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved. | 10 | * Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved. |
10 | * | 11 | * |
11 | * This program is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public | ||
13 | * License as published by the Free Software Foundation; either | ||
14 | * version 2 of the License, or (at your option) any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this program; if not, write to the | ||
23 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
24 | * Boston, MA 021110-1307, USA. | ||
25 | * | ||
26 | * Standard buffer head caching flags (uptodate, etc) are insufficient | 12 | * Standard buffer head caching flags (uptodate, etc) are insufficient |
27 | * in a clustered environment - a buffer may be marked up to date on | 13 | * in a clustered environment - a buffer may be marked up to date on |
28 | * our local node but could have been modified by another cluster | 14 | * our local node but could have been modified by another cluster |
diff --git a/fs/ocfs2/uptodate.h b/fs/ocfs2/uptodate.h index 0d826fe2da0d..77a30cae4879 100644 --- a/fs/ocfs2/uptodate.h +++ b/fs/ocfs2/uptodate.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -6,21 +7,6 @@ | |||
6 | * Cluster uptodate tracking | 7 | * Cluster uptodate tracking |
7 | * | 8 | * |
8 | * Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved. | 9 | * Copyright (C) 2002, 2004, 2005 Oracle. All rights reserved. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or | ||
11 | * modify it under the terms of the GNU General Public | ||
12 | * License as published by the Free Software Foundation; either | ||
13 | * version 2 of the License, or (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | * General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this program; if not, write to the | ||
22 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
23 | * Boston, MA 021110-1307, USA. | ||
24 | */ | 10 | */ |
25 | 11 | ||
26 | #ifndef OCFS2_UPTODATE_H | 12 | #ifndef OCFS2_UPTODATE_H |
diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c index 3a24ce3deb01..385f3aaa2448 100644 --- a/fs/ocfs2/xattr.c +++ b/fs/ocfs2/xattr.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
@@ -8,15 +9,6 @@ | |||
8 | * CREDITS: | 9 | * CREDITS: |
9 | * Lots of code in this file is copy from linux/fs/ext3/xattr.c. | 10 | * Lots of code in this file is copy from linux/fs/ext3/xattr.c. |
10 | * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de> | 11 | * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de> |
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public | ||
14 | * License version 2 as published by the Free Software Foundation. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | * General Public License for more details. | ||
20 | */ | 12 | */ |
21 | 13 | ||
22 | #include <linux/capability.h> | 14 | #include <linux/capability.h> |
diff --git a/fs/ocfs2/xattr.h b/fs/ocfs2/xattr.h index 1633cc15ea1f..9c80382da1f5 100644 --- a/fs/ocfs2/xattr.h +++ b/fs/ocfs2/xattr.h | |||
@@ -1,18 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* -*- mode: c; c-basic-offset: 8; -*- | 2 | /* -*- mode: c; c-basic-offset: 8; -*- |
2 | * vim: noexpandtab sw=8 ts=8 sts=0: | 3 | * vim: noexpandtab sw=8 ts=8 sts=0: |
3 | * | 4 | * |
4 | * xattr.h | 5 | * xattr.h |
5 | * | 6 | * |
6 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. | 7 | * Copyright (C) 2004, 2008 Oracle. All rights reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public | ||
10 | * License version 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | 8 | */ |
17 | 9 | ||
18 | #ifndef OCFS2_XATTR_H | 10 | #ifndef OCFS2_XATTR_H |
diff --git a/fs/omfs/Kconfig b/fs/omfs/Kconfig index b1b9a0aba6fd..42b2ec35a05b 100644 --- a/fs/omfs/Kconfig +++ b/fs/omfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config OMFS_FS | 2 | config OMFS_FS |
2 | tristate "SonicBlue Optimized MPEG File System support" | 3 | tristate "SonicBlue Optimized MPEG File System support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/omfs/Makefile b/fs/omfs/Makefile index 8b82b63f1129..ae16fc3d34a3 100644 --- a/fs/omfs/Makefile +++ b/fs/omfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | 2 | ||
2 | obj-$(CONFIG_OMFS_FS) += omfs.o | 3 | obj-$(CONFIG_OMFS_FS) += omfs.o |
3 | 4 | ||
diff --git a/fs/omfs/dir.c b/fs/omfs/dir.c index 4bee3a72b9f3..a0f45651f3b7 100644 --- a/fs/omfs/dir.c +++ b/fs/omfs/dir.c | |||
@@ -1,7 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * OMFS (as used by RIO Karma) directory operations. | 3 | * OMFS (as used by RIO Karma) directory operations. |
3 | * Copyright (C) 2005 Bob Copeland <me@bobcopeland.com> | 4 | * Copyright (C) 2005 Bob Copeland <me@bobcopeland.com> |
4 | * Released under GPL v2. | ||
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/omfs/file.c b/fs/omfs/file.c index bf83e6644333..d640b9388238 100644 --- a/fs/omfs/file.c +++ b/fs/omfs/file.c | |||
@@ -1,7 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * OMFS (as used by RIO Karma) file operations. | 3 | * OMFS (as used by RIO Karma) file operations. |
3 | * Copyright (C) 2005 Bob Copeland <me@bobcopeland.com> | 4 | * Copyright (C) 2005 Bob Copeland <me@bobcopeland.com> |
4 | * Released under GPL v2. | ||
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/module.h> | 7 | #include <linux/module.h> |
diff --git a/fs/omfs/inode.c b/fs/omfs/inode.c index ee14af9e26f2..08226a835ec3 100644 --- a/fs/omfs/inode.c +++ b/fs/omfs/inode.c | |||
@@ -1,7 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Optimized MPEG FS - inode and super operations. | 3 | * Optimized MPEG FS - inode and super operations. |
3 | * Copyright (C) 2006 Bob Copeland <me@bobcopeland.com> | 4 | * Copyright (C) 2006 Bob Copeland <me@bobcopeland.com> |
4 | * Released under GPL v2. | ||
5 | */ | 5 | */ |
6 | #include <linux/module.h> | 6 | #include <linux/module.h> |
7 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/open.c | 3 | * linux/fs/open.c |
3 | * | 4 | * |
diff --git a/fs/openpromfs/Makefile b/fs/openpromfs/Makefile index 4563199b8fe6..843c270cd06f 100644 --- a/fs/openpromfs/Makefile +++ b/fs/openpromfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux Sun Openprom filesystem routines. | 3 | # Makefile for the Linux Sun Openprom filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c index 46655e454c55..e6cb7689fec4 100644 --- a/fs/openpromfs/inode.c +++ b/fs/openpromfs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* inode.c: /proc/openprom handling routines | 2 | /* inode.c: /proc/openprom handling routines |
2 | * | 3 | * |
3 | * Copyright (C) 1996-1999 Jakub Jelinek (jakub@redhat.com) | 4 | * Copyright (C) 1996-1999 Jakub Jelinek (jakub@redhat.com) |
diff --git a/fs/orangefs/Kconfig b/fs/orangefs/Kconfig index 1554c02489de..890c0ae9a453 100644 --- a/fs/orangefs/Kconfig +++ b/fs/orangefs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config ORANGEFS_FS | 2 | config ORANGEFS_FS |
2 | tristate "ORANGEFS (Powered by PVFS) support" | 3 | tristate "ORANGEFS (Powered by PVFS) support" |
3 | select FS_POSIX_ACL | 4 | select FS_POSIX_ACL |
diff --git a/fs/orangefs/orangefs-mod.c b/fs/orangefs/orangefs-mod.c index 82cf8b3e568b..4f2d7ee0d2d1 100644 --- a/fs/orangefs/orangefs-mod.c +++ b/fs/orangefs/orangefs-mod.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * (C) 2001 Clemson University and The University of Chicago | 3 | * (C) 2001 Clemson University and The University of Chicago |
3 | * | 4 | * |
diff --git a/fs/overlayfs/Kconfig b/fs/overlayfs/Kconfig index 2ef91be2a04e..444e2da4f60e 100644 --- a/fs/overlayfs/Kconfig +++ b/fs/overlayfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config OVERLAY_FS | 2 | config OVERLAY_FS |
2 | tristate "Overlay filesystem support" | 3 | tristate "Overlay filesystem support" |
3 | select EXPORTFS | 4 | select EXPORTFS |
diff --git a/fs/overlayfs/Makefile b/fs/overlayfs/Makefile index 46e1ff8ac056..9164c585eb2f 100644 --- a/fs/overlayfs/Makefile +++ b/fs/overlayfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the overlay filesystem. | 3 | # Makefile for the overlay filesystem. |
3 | # | 4 | # |
diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c index 56feaa739979..b801c6353100 100644 --- a/fs/overlayfs/copy_up.c +++ b/fs/overlayfs/copy_up.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/module.h> | 7 | #include <linux/module.h> |
@@ -37,7 +34,7 @@ static int ovl_ccup_get(char *buf, const struct kernel_param *param) | |||
37 | } | 34 | } |
38 | 35 | ||
39 | module_param_call(check_copy_up, ovl_ccup_set, ovl_ccup_get, NULL, 0644); | 36 | module_param_call(check_copy_up, ovl_ccup_set, ovl_ccup_get, NULL, 0644); |
40 | MODULE_PARM_DESC(ovl_check_copy_up, "Obsolete; does nothing"); | 37 | MODULE_PARM_DESC(check_copy_up, "Obsolete; does nothing"); |
41 | 38 | ||
42 | int ovl_copy_xattr(struct dentry *old, struct dentry *new) | 39 | int ovl_copy_xattr(struct dentry *old, struct dentry *new) |
43 | { | 40 | { |
diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c index 93872bb50230..702aa63f6774 100644 --- a/fs/overlayfs/dir.c +++ b/fs/overlayfs/dir.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
@@ -21,7 +18,7 @@ | |||
21 | 18 | ||
22 | static unsigned short ovl_redirect_max = 256; | 19 | static unsigned short ovl_redirect_max = 256; |
23 | module_param_named(redirect_max, ovl_redirect_max, ushort, 0644); | 20 | module_param_named(redirect_max, ovl_redirect_max, ushort, 0644); |
24 | MODULE_PARM_DESC(ovl_redirect_max, | 21 | MODULE_PARM_DESC(redirect_max, |
25 | "Maximum length of absolute redirect xattr value"); | 22 | "Maximum length of absolute redirect xattr value"); |
26 | 23 | ||
27 | static int ovl_set_redirect(struct dentry *dentry, bool samedir); | 24 | static int ovl_set_redirect(struct dentry *dentry, bool samedir); |
diff --git a/fs/overlayfs/export.c b/fs/overlayfs/export.c index cc1c9e5606ba..cb8ec1f65c03 100644 --- a/fs/overlayfs/export.c +++ b/fs/overlayfs/export.c | |||
@@ -1,13 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Overlayfs NFS export support. | 3 | * Overlayfs NFS export support. |
3 | * | 4 | * |
4 | * Amir Goldstein <amir73il@gmail.com> | 5 | * Amir Goldstein <amir73il@gmail.com> |
5 | * | 6 | * |
6 | * Copyright (C) 2017-2018 CTERA Networks. All Rights Reserved. | 7 | * Copyright (C) 2017-2018 CTERA Networks. All Rights Reserved. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License version 2 as published by | ||
10 | * the Free Software Foundation. | ||
11 | */ | 8 | */ |
12 | 9 | ||
13 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c index 540a8b845145..e235a635d9ec 100644 --- a/fs/overlayfs/file.c +++ b/fs/overlayfs/file.c | |||
@@ -1,9 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2017 Red Hat, Inc. | 3 | * Copyright (C) 2017 Red Hat, Inc. |
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms of the GNU General Public License version 2 as published by | ||
6 | * the Free Software Foundation. | ||
7 | */ | 4 | */ |
8 | 5 | ||
9 | #include <linux/cred.h> | 6 | #include <linux/cred.h> |
@@ -409,36 +406,16 @@ static long ovl_real_ioctl(struct file *file, unsigned int cmd, | |||
409 | return ret; | 406 | return ret; |
410 | } | 407 | } |
411 | 408 | ||
412 | static unsigned int ovl_get_inode_flags(struct inode *inode) | 409 | static long ovl_ioctl_set_flags(struct file *file, unsigned int cmd, |
413 | { | 410 | unsigned long arg, unsigned int iflags) |
414 | unsigned int flags = READ_ONCE(inode->i_flags); | ||
415 | unsigned int ovl_iflags = 0; | ||
416 | |||
417 | if (flags & S_SYNC) | ||
418 | ovl_iflags |= FS_SYNC_FL; | ||
419 | if (flags & S_APPEND) | ||
420 | ovl_iflags |= FS_APPEND_FL; | ||
421 | if (flags & S_IMMUTABLE) | ||
422 | ovl_iflags |= FS_IMMUTABLE_FL; | ||
423 | if (flags & S_NOATIME) | ||
424 | ovl_iflags |= FS_NOATIME_FL; | ||
425 | |||
426 | return ovl_iflags; | ||
427 | } | ||
428 | |||
429 | static long ovl_ioctl_set_flags(struct file *file, unsigned long arg) | ||
430 | { | 411 | { |
431 | long ret; | 412 | long ret; |
432 | struct inode *inode = file_inode(file); | 413 | struct inode *inode = file_inode(file); |
433 | unsigned int flags; | 414 | unsigned int old_iflags; |
434 | unsigned int old_flags; | ||
435 | 415 | ||
436 | if (!inode_owner_or_capable(inode)) | 416 | if (!inode_owner_or_capable(inode)) |
437 | return -EACCES; | 417 | return -EACCES; |
438 | 418 | ||
439 | if (get_user(flags, (int __user *) arg)) | ||
440 | return -EFAULT; | ||
441 | |||
442 | ret = mnt_want_write_file(file); | 419 | ret = mnt_want_write_file(file); |
443 | if (ret) | 420 | if (ret) |
444 | return ret; | 421 | return ret; |
@@ -447,8 +424,8 @@ static long ovl_ioctl_set_flags(struct file *file, unsigned long arg) | |||
447 | 424 | ||
448 | /* Check the capability before cred override */ | 425 | /* Check the capability before cred override */ |
449 | ret = -EPERM; | 426 | ret = -EPERM; |
450 | old_flags = ovl_get_inode_flags(inode); | 427 | old_iflags = READ_ONCE(inode->i_flags); |
451 | if (((flags ^ old_flags) & (FS_APPEND_FL | FS_IMMUTABLE_FL)) && | 428 | if (((iflags ^ old_iflags) & (S_APPEND | S_IMMUTABLE)) && |
452 | !capable(CAP_LINUX_IMMUTABLE)) | 429 | !capable(CAP_LINUX_IMMUTABLE)) |
453 | goto unlock; | 430 | goto unlock; |
454 | 431 | ||
@@ -456,7 +433,7 @@ static long ovl_ioctl_set_flags(struct file *file, unsigned long arg) | |||
456 | if (ret) | 433 | if (ret) |
457 | goto unlock; | 434 | goto unlock; |
458 | 435 | ||
459 | ret = ovl_real_ioctl(file, FS_IOC_SETFLAGS, arg); | 436 | ret = ovl_real_ioctl(file, cmd, arg); |
460 | 437 | ||
461 | ovl_copyflags(ovl_inode_real(inode), inode); | 438 | ovl_copyflags(ovl_inode_real(inode), inode); |
462 | unlock: | 439 | unlock: |
@@ -468,17 +445,79 @@ unlock: | |||
468 | 445 | ||
469 | } | 446 | } |
470 | 447 | ||
448 | static unsigned int ovl_fsflags_to_iflags(unsigned int flags) | ||
449 | { | ||
450 | unsigned int iflags = 0; | ||
451 | |||
452 | if (flags & FS_SYNC_FL) | ||
453 | iflags |= S_SYNC; | ||
454 | if (flags & FS_APPEND_FL) | ||
455 | iflags |= S_APPEND; | ||
456 | if (flags & FS_IMMUTABLE_FL) | ||
457 | iflags |= S_IMMUTABLE; | ||
458 | if (flags & FS_NOATIME_FL) | ||
459 | iflags |= S_NOATIME; | ||
460 | |||
461 | return iflags; | ||
462 | } | ||
463 | |||
464 | static long ovl_ioctl_set_fsflags(struct file *file, unsigned int cmd, | ||
465 | unsigned long arg) | ||
466 | { | ||
467 | unsigned int flags; | ||
468 | |||
469 | if (get_user(flags, (int __user *) arg)) | ||
470 | return -EFAULT; | ||
471 | |||
472 | return ovl_ioctl_set_flags(file, cmd, arg, | ||
473 | ovl_fsflags_to_iflags(flags)); | ||
474 | } | ||
475 | |||
476 | static unsigned int ovl_fsxflags_to_iflags(unsigned int xflags) | ||
477 | { | ||
478 | unsigned int iflags = 0; | ||
479 | |||
480 | if (xflags & FS_XFLAG_SYNC) | ||
481 | iflags |= S_SYNC; | ||
482 | if (xflags & FS_XFLAG_APPEND) | ||
483 | iflags |= S_APPEND; | ||
484 | if (xflags & FS_XFLAG_IMMUTABLE) | ||
485 | iflags |= S_IMMUTABLE; | ||
486 | if (xflags & FS_XFLAG_NOATIME) | ||
487 | iflags |= S_NOATIME; | ||
488 | |||
489 | return iflags; | ||
490 | } | ||
491 | |||
492 | static long ovl_ioctl_set_fsxflags(struct file *file, unsigned int cmd, | ||
493 | unsigned long arg) | ||
494 | { | ||
495 | struct fsxattr fa; | ||
496 | |||
497 | memset(&fa, 0, sizeof(fa)); | ||
498 | if (copy_from_user(&fa, (void __user *) arg, sizeof(fa))) | ||
499 | return -EFAULT; | ||
500 | |||
501 | return ovl_ioctl_set_flags(file, cmd, arg, | ||
502 | ovl_fsxflags_to_iflags(fa.fsx_xflags)); | ||
503 | } | ||
504 | |||
471 | static long ovl_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | 505 | static long ovl_ioctl(struct file *file, unsigned int cmd, unsigned long arg) |
472 | { | 506 | { |
473 | long ret; | 507 | long ret; |
474 | 508 | ||
475 | switch (cmd) { | 509 | switch (cmd) { |
476 | case FS_IOC_GETFLAGS: | 510 | case FS_IOC_GETFLAGS: |
511 | case FS_IOC_FSGETXATTR: | ||
477 | ret = ovl_real_ioctl(file, cmd, arg); | 512 | ret = ovl_real_ioctl(file, cmd, arg); |
478 | break; | 513 | break; |
479 | 514 | ||
480 | case FS_IOC_SETFLAGS: | 515 | case FS_IOC_SETFLAGS: |
481 | ret = ovl_ioctl_set_flags(file, arg); | 516 | ret = ovl_ioctl_set_fsflags(file, cmd, arg); |
517 | break; | ||
518 | |||
519 | case FS_IOC_FSSETXATTR: | ||
520 | ret = ovl_ioctl_set_fsxflags(file, cmd, arg); | ||
482 | break; | 521 | break; |
483 | 522 | ||
484 | default: | 523 | default: |
diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index b48273e846ad..7663aeb85fa3 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
@@ -553,15 +550,15 @@ static void ovl_fill_inode(struct inode *inode, umode_t mode, dev_t rdev, | |||
553 | int xinobits = ovl_xino_bits(inode->i_sb); | 550 | int xinobits = ovl_xino_bits(inode->i_sb); |
554 | 551 | ||
555 | /* | 552 | /* |
556 | * When NFS export is enabled and d_ino is consistent with st_ino | 553 | * When d_ino is consistent with st_ino (samefs or i_ino has enough |
557 | * (samefs or i_ino has enough bits to encode layer), set the same | 554 | * bits to encode layer), set the same value used for st_ino to i_ino, |
558 | * value used for d_ino to i_ino, because nfsd readdirplus compares | 555 | * so inode number exposed via /proc/locks and a like will be |
559 | * d_ino values to i_ino values of child entries. When called from | 556 | * consistent with d_ino and st_ino values. An i_ino value inconsistent |
557 | * with d_ino also causes nfsd readdirplus to fail. When called from | ||
560 | * ovl_new_inode(), ino arg is 0, so i_ino will be updated to real | 558 | * ovl_new_inode(), ino arg is 0, so i_ino will be updated to real |
561 | * upper inode i_ino on ovl_inode_init() or ovl_inode_update(). | 559 | * upper inode i_ino on ovl_inode_init() or ovl_inode_update(). |
562 | */ | 560 | */ |
563 | if (inode->i_sb->s_export_op && | 561 | if (ovl_same_sb(inode->i_sb) || xinobits) { |
564 | (ovl_same_sb(inode->i_sb) || xinobits)) { | ||
565 | inode->i_ino = ino; | 562 | inode->i_ino = ino; |
566 | if (xinobits && fsid && !(ino >> (64 - xinobits))) | 563 | if (xinobits && fsid && !(ino >> (64 - xinobits))) |
567 | inode->i_ino |= (unsigned long)fsid << (64 - xinobits); | 564 | inode->i_ino |= (unsigned long)fsid << (64 - xinobits); |
@@ -777,6 +774,54 @@ struct inode *ovl_lookup_inode(struct super_block *sb, struct dentry *real, | |||
777 | return inode; | 774 | return inode; |
778 | } | 775 | } |
779 | 776 | ||
777 | bool ovl_lookup_trap_inode(struct super_block *sb, struct dentry *dir) | ||
778 | { | ||
779 | struct inode *key = d_inode(dir); | ||
780 | struct inode *trap; | ||
781 | bool res; | ||
782 | |||
783 | trap = ilookup5(sb, (unsigned long) key, ovl_inode_test, key); | ||
784 | if (!trap) | ||
785 | return false; | ||
786 | |||
787 | res = IS_DEADDIR(trap) && !ovl_inode_upper(trap) && | ||
788 | !ovl_inode_lower(trap); | ||
789 | |||
790 | iput(trap); | ||
791 | return res; | ||
792 | } | ||
793 | |||
794 | /* | ||
795 | * Create an inode cache entry for layer root dir, that will intentionally | ||
796 | * fail ovl_verify_inode(), so any lookup that will find some layer root | ||
797 | * will fail. | ||
798 | */ | ||
799 | struct inode *ovl_get_trap_inode(struct super_block *sb, struct dentry *dir) | ||
800 | { | ||
801 | struct inode *key = d_inode(dir); | ||
802 | struct inode *trap; | ||
803 | |||
804 | if (!d_is_dir(dir)) | ||
805 | return ERR_PTR(-ENOTDIR); | ||
806 | |||
807 | trap = iget5_locked(sb, (unsigned long) key, ovl_inode_test, | ||
808 | ovl_inode_set, key); | ||
809 | if (!trap) | ||
810 | return ERR_PTR(-ENOMEM); | ||
811 | |||
812 | if (!(trap->i_state & I_NEW)) { | ||
813 | /* Conflicting layer roots? */ | ||
814 | iput(trap); | ||
815 | return ERR_PTR(-ELOOP); | ||
816 | } | ||
817 | |||
818 | trap->i_mode = S_IFDIR; | ||
819 | trap->i_flags = S_DEAD; | ||
820 | unlock_new_inode(trap); | ||
821 | |||
822 | return trap; | ||
823 | } | ||
824 | |||
780 | /* | 825 | /* |
781 | * Does overlay inode need to be hashed by lower inode? | 826 | * Does overlay inode need to be hashed by lower inode? |
782 | */ | 827 | */ |
diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c index efd372312ef1..e9717c2f7d45 100644 --- a/fs/overlayfs/namei.c +++ b/fs/overlayfs/namei.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2011 Novell Inc. | 3 | * Copyright (C) 2011 Novell Inc. |
3 | * Copyright (C) 2016 Red Hat, Inc. | 4 | * Copyright (C) 2016 Red Hat, Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
@@ -18,6 +15,7 @@ | |||
18 | #include "overlayfs.h" | 15 | #include "overlayfs.h" |
19 | 16 | ||
20 | struct ovl_lookup_data { | 17 | struct ovl_lookup_data { |
18 | struct super_block *sb; | ||
21 | struct qstr name; | 19 | struct qstr name; |
22 | bool is_dir; | 20 | bool is_dir; |
23 | bool opaque; | 21 | bool opaque; |
@@ -244,6 +242,12 @@ static int ovl_lookup_single(struct dentry *base, struct ovl_lookup_data *d, | |||
244 | if (!d->metacopy || d->last) | 242 | if (!d->metacopy || d->last) |
245 | goto out; | 243 | goto out; |
246 | } else { | 244 | } else { |
245 | if (ovl_lookup_trap_inode(d->sb, this)) { | ||
246 | /* Caught in a trap of overlapping layers */ | ||
247 | err = -ELOOP; | ||
248 | goto out_err; | ||
249 | } | ||
250 | |||
247 | if (last_element) | 251 | if (last_element) |
248 | d->is_dir = true; | 252 | d->is_dir = true; |
249 | if (d->last) | 253 | if (d->last) |
@@ -819,6 +823,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry, | |||
819 | int err; | 823 | int err; |
820 | bool metacopy = false; | 824 | bool metacopy = false; |
821 | struct ovl_lookup_data d = { | 825 | struct ovl_lookup_data d = { |
826 | .sb = dentry->d_sb, | ||
822 | .name = dentry->d_name, | 827 | .name = dentry->d_name, |
823 | .is_dir = false, | 828 | .is_dir = false, |
824 | .opaque = false, | 829 | .opaque = false, |
diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h index d26efed9f80a..6934bcf030f0 100644 --- a/fs/overlayfs/overlayfs.h +++ b/fs/overlayfs/overlayfs.h | |||
@@ -1,10 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/kernel.h> | 7 | #include <linux/kernel.h> |
@@ -270,6 +267,7 @@ void ovl_clear_flag(unsigned long flag, struct inode *inode); | |||
270 | bool ovl_test_flag(unsigned long flag, struct inode *inode); | 267 | bool ovl_test_flag(unsigned long flag, struct inode *inode); |
271 | bool ovl_inuse_trylock(struct dentry *dentry); | 268 | bool ovl_inuse_trylock(struct dentry *dentry); |
272 | void ovl_inuse_unlock(struct dentry *dentry); | 269 | void ovl_inuse_unlock(struct dentry *dentry); |
270 | bool ovl_is_inuse(struct dentry *dentry); | ||
273 | bool ovl_need_index(struct dentry *dentry); | 271 | bool ovl_need_index(struct dentry *dentry); |
274 | int ovl_nlink_start(struct dentry *dentry); | 272 | int ovl_nlink_start(struct dentry *dentry); |
275 | void ovl_nlink_end(struct dentry *dentry); | 273 | void ovl_nlink_end(struct dentry *dentry); |
@@ -376,6 +374,8 @@ struct ovl_inode_params { | |||
376 | struct inode *ovl_new_inode(struct super_block *sb, umode_t mode, dev_t rdev); | 374 | struct inode *ovl_new_inode(struct super_block *sb, umode_t mode, dev_t rdev); |
377 | struct inode *ovl_lookup_inode(struct super_block *sb, struct dentry *real, | 375 | struct inode *ovl_lookup_inode(struct super_block *sb, struct dentry *real, |
378 | bool is_upper); | 376 | bool is_upper); |
377 | bool ovl_lookup_trap_inode(struct super_block *sb, struct dentry *dir); | ||
378 | struct inode *ovl_get_trap_inode(struct super_block *sb, struct dentry *dir); | ||
379 | struct inode *ovl_get_inode(struct super_block *sb, | 379 | struct inode *ovl_get_inode(struct super_block *sb, |
380 | struct ovl_inode_params *oip); | 380 | struct ovl_inode_params *oip); |
381 | static inline void ovl_copyattr(struct inode *from, struct inode *to) | 381 | static inline void ovl_copyattr(struct inode *from, struct inode *to) |
diff --git a/fs/overlayfs/ovl_entry.h b/fs/overlayfs/ovl_entry.h index ec237035333a..28a2d12a1029 100644 --- a/fs/overlayfs/ovl_entry.h +++ b/fs/overlayfs/ovl_entry.h | |||
@@ -1,11 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * Copyright (C) 2016 Red Hat, Inc. | 5 | * Copyright (C) 2016 Red Hat, Inc. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | */ | 6 | */ |
10 | 7 | ||
11 | struct ovl_config { | 8 | struct ovl_config { |
@@ -29,6 +26,8 @@ struct ovl_sb { | |||
29 | 26 | ||
30 | struct ovl_layer { | 27 | struct ovl_layer { |
31 | struct vfsmount *mnt; | 28 | struct vfsmount *mnt; |
29 | /* Trap in ovl inode cache */ | ||
30 | struct inode *trap; | ||
32 | struct ovl_sb *fs; | 31 | struct ovl_sb *fs; |
33 | /* Index of this layer in fs root (upper idx == 0) */ | 32 | /* Index of this layer in fs root (upper idx == 0) */ |
34 | int idx; | 33 | int idx; |
@@ -65,6 +64,10 @@ struct ovl_fs { | |||
65 | /* Did we take the inuse lock? */ | 64 | /* Did we take the inuse lock? */ |
66 | bool upperdir_locked; | 65 | bool upperdir_locked; |
67 | bool workdir_locked; | 66 | bool workdir_locked; |
67 | /* Traps in ovl inode cache */ | ||
68 | struct inode *upperdir_trap; | ||
69 | struct inode *workdir_trap; | ||
70 | struct inode *indexdir_trap; | ||
68 | /* Inode numbers in all layers do not use the high xino_bits */ | 71 | /* Inode numbers in all layers do not use the high xino_bits */ |
69 | unsigned int xino_bits; | 72 | unsigned int xino_bits; |
70 | }; | 73 | }; |
diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c index cc8303a806b4..47a91c9733a5 100644 --- a/fs/overlayfs/readdir.c +++ b/fs/overlayfs/readdir.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index 5ec4fc2f5d7e..b368e2e102fa 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * | 3 | * |
3 | * Copyright (C) 2011 Novell Inc. | 4 | * Copyright (C) 2011 Novell Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <uapi/linux/magic.h> | 7 | #include <uapi/linux/magic.h> |
@@ -31,29 +28,29 @@ struct ovl_dir_cache; | |||
31 | 28 | ||
32 | static bool ovl_redirect_dir_def = IS_ENABLED(CONFIG_OVERLAY_FS_REDIRECT_DIR); | 29 | static bool ovl_redirect_dir_def = IS_ENABLED(CONFIG_OVERLAY_FS_REDIRECT_DIR); |
33 | module_param_named(redirect_dir, ovl_redirect_dir_def, bool, 0644); | 30 | module_param_named(redirect_dir, ovl_redirect_dir_def, bool, 0644); |
34 | MODULE_PARM_DESC(ovl_redirect_dir_def, | 31 | MODULE_PARM_DESC(redirect_dir, |
35 | "Default to on or off for the redirect_dir feature"); | 32 | "Default to on or off for the redirect_dir feature"); |
36 | 33 | ||
37 | static bool ovl_redirect_always_follow = | 34 | static bool ovl_redirect_always_follow = |
38 | IS_ENABLED(CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW); | 35 | IS_ENABLED(CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW); |
39 | module_param_named(redirect_always_follow, ovl_redirect_always_follow, | 36 | module_param_named(redirect_always_follow, ovl_redirect_always_follow, |
40 | bool, 0644); | 37 | bool, 0644); |
41 | MODULE_PARM_DESC(ovl_redirect_always_follow, | 38 | MODULE_PARM_DESC(redirect_always_follow, |
42 | "Follow redirects even if redirect_dir feature is turned off"); | 39 | "Follow redirects even if redirect_dir feature is turned off"); |
43 | 40 | ||
44 | static bool ovl_index_def = IS_ENABLED(CONFIG_OVERLAY_FS_INDEX); | 41 | static bool ovl_index_def = IS_ENABLED(CONFIG_OVERLAY_FS_INDEX); |
45 | module_param_named(index, ovl_index_def, bool, 0644); | 42 | module_param_named(index, ovl_index_def, bool, 0644); |
46 | MODULE_PARM_DESC(ovl_index_def, | 43 | MODULE_PARM_DESC(index, |
47 | "Default to on or off for the inodes index feature"); | 44 | "Default to on or off for the inodes index feature"); |
48 | 45 | ||
49 | static bool ovl_nfs_export_def = IS_ENABLED(CONFIG_OVERLAY_FS_NFS_EXPORT); | 46 | static bool ovl_nfs_export_def = IS_ENABLED(CONFIG_OVERLAY_FS_NFS_EXPORT); |
50 | module_param_named(nfs_export, ovl_nfs_export_def, bool, 0644); | 47 | module_param_named(nfs_export, ovl_nfs_export_def, bool, 0644); |
51 | MODULE_PARM_DESC(ovl_nfs_export_def, | 48 | MODULE_PARM_DESC(nfs_export, |
52 | "Default to on or off for the NFS export feature"); | 49 | "Default to on or off for the NFS export feature"); |
53 | 50 | ||
54 | static bool ovl_xino_auto_def = IS_ENABLED(CONFIG_OVERLAY_FS_XINO_AUTO); | 51 | static bool ovl_xino_auto_def = IS_ENABLED(CONFIG_OVERLAY_FS_XINO_AUTO); |
55 | module_param_named(xino_auto, ovl_xino_auto_def, bool, 0644); | 52 | module_param_named(xino_auto, ovl_xino_auto_def, bool, 0644); |
56 | MODULE_PARM_DESC(ovl_xino_auto_def, | 53 | MODULE_PARM_DESC(xino_auto, |
57 | "Auto enable xino feature"); | 54 | "Auto enable xino feature"); |
58 | 55 | ||
59 | static void ovl_entry_stack_free(struct ovl_entry *oe) | 56 | static void ovl_entry_stack_free(struct ovl_entry *oe) |
@@ -66,7 +63,7 @@ static void ovl_entry_stack_free(struct ovl_entry *oe) | |||
66 | 63 | ||
67 | static bool ovl_metacopy_def = IS_ENABLED(CONFIG_OVERLAY_FS_METACOPY); | 64 | static bool ovl_metacopy_def = IS_ENABLED(CONFIG_OVERLAY_FS_METACOPY); |
68 | module_param_named(metacopy, ovl_metacopy_def, bool, 0644); | 65 | module_param_named(metacopy, ovl_metacopy_def, bool, 0644); |
69 | MODULE_PARM_DESC(ovl_metacopy_def, | 66 | MODULE_PARM_DESC(metacopy, |
70 | "Default to on or off for the metadata only copy up feature"); | 67 | "Default to on or off for the metadata only copy up feature"); |
71 | 68 | ||
72 | static void ovl_dentry_release(struct dentry *dentry) | 69 | static void ovl_dentry_release(struct dentry *dentry) |
@@ -215,6 +212,9 @@ static void ovl_free_fs(struct ovl_fs *ofs) | |||
215 | { | 212 | { |
216 | unsigned i; | 213 | unsigned i; |
217 | 214 | ||
215 | iput(ofs->indexdir_trap); | ||
216 | iput(ofs->workdir_trap); | ||
217 | iput(ofs->upperdir_trap); | ||
218 | dput(ofs->indexdir); | 218 | dput(ofs->indexdir); |
219 | dput(ofs->workdir); | 219 | dput(ofs->workdir); |
220 | if (ofs->workdir_locked) | 220 | if (ofs->workdir_locked) |
@@ -223,8 +223,10 @@ static void ovl_free_fs(struct ovl_fs *ofs) | |||
223 | if (ofs->upperdir_locked) | 223 | if (ofs->upperdir_locked) |
224 | ovl_inuse_unlock(ofs->upper_mnt->mnt_root); | 224 | ovl_inuse_unlock(ofs->upper_mnt->mnt_root); |
225 | mntput(ofs->upper_mnt); | 225 | mntput(ofs->upper_mnt); |
226 | for (i = 0; i < ofs->numlower; i++) | 226 | for (i = 0; i < ofs->numlower; i++) { |
227 | iput(ofs->lower_layers[i].trap); | ||
227 | mntput(ofs->lower_layers[i].mnt); | 228 | mntput(ofs->lower_layers[i].mnt); |
229 | } | ||
228 | for (i = 0; i < ofs->numlowerfs; i++) | 230 | for (i = 0; i < ofs->numlowerfs; i++) |
229 | free_anon_bdev(ofs->lower_fs[i].pseudo_dev); | 231 | free_anon_bdev(ofs->lower_fs[i].pseudo_dev); |
230 | kfree(ofs->lower_layers); | 232 | kfree(ofs->lower_layers); |
@@ -983,7 +985,26 @@ static const struct xattr_handler *ovl_xattr_handlers[] = { | |||
983 | NULL | 985 | NULL |
984 | }; | 986 | }; |
985 | 987 | ||
986 | static int ovl_get_upper(struct ovl_fs *ofs, struct path *upperpath) | 988 | static int ovl_setup_trap(struct super_block *sb, struct dentry *dir, |
989 | struct inode **ptrap, const char *name) | ||
990 | { | ||
991 | struct inode *trap; | ||
992 | int err; | ||
993 | |||
994 | trap = ovl_get_trap_inode(sb, dir); | ||
995 | err = PTR_ERR_OR_ZERO(trap); | ||
996 | if (err) { | ||
997 | if (err == -ELOOP) | ||
998 | pr_err("overlayfs: conflicting %s path\n", name); | ||
999 | return err; | ||
1000 | } | ||
1001 | |||
1002 | *ptrap = trap; | ||
1003 | return 0; | ||
1004 | } | ||
1005 | |||
1006 | static int ovl_get_upper(struct super_block *sb, struct ovl_fs *ofs, | ||
1007 | struct path *upperpath) | ||
987 | { | 1008 | { |
988 | struct vfsmount *upper_mnt; | 1009 | struct vfsmount *upper_mnt; |
989 | int err; | 1010 | int err; |
@@ -1003,6 +1024,11 @@ static int ovl_get_upper(struct ovl_fs *ofs, struct path *upperpath) | |||
1003 | if (err) | 1024 | if (err) |
1004 | goto out; | 1025 | goto out; |
1005 | 1026 | ||
1027 | err = ovl_setup_trap(sb, upperpath->dentry, &ofs->upperdir_trap, | ||
1028 | "upperdir"); | ||
1029 | if (err) | ||
1030 | goto out; | ||
1031 | |||
1006 | upper_mnt = clone_private_mount(upperpath); | 1032 | upper_mnt = clone_private_mount(upperpath); |
1007 | err = PTR_ERR(upper_mnt); | 1033 | err = PTR_ERR(upper_mnt); |
1008 | if (IS_ERR(upper_mnt)) { | 1034 | if (IS_ERR(upper_mnt)) { |
@@ -1029,7 +1055,8 @@ out: | |||
1029 | return err; | 1055 | return err; |
1030 | } | 1056 | } |
1031 | 1057 | ||
1032 | static int ovl_make_workdir(struct ovl_fs *ofs, struct path *workpath) | 1058 | static int ovl_make_workdir(struct super_block *sb, struct ovl_fs *ofs, |
1059 | struct path *workpath) | ||
1033 | { | 1060 | { |
1034 | struct vfsmount *mnt = ofs->upper_mnt; | 1061 | struct vfsmount *mnt = ofs->upper_mnt; |
1035 | struct dentry *temp; | 1062 | struct dentry *temp; |
@@ -1044,6 +1071,10 @@ static int ovl_make_workdir(struct ovl_fs *ofs, struct path *workpath) | |||
1044 | if (!ofs->workdir) | 1071 | if (!ofs->workdir) |
1045 | goto out; | 1072 | goto out; |
1046 | 1073 | ||
1074 | err = ovl_setup_trap(sb, ofs->workdir, &ofs->workdir_trap, "workdir"); | ||
1075 | if (err) | ||
1076 | goto out; | ||
1077 | |||
1047 | /* | 1078 | /* |
1048 | * Upper should support d_type, else whiteouts are visible. Given | 1079 | * Upper should support d_type, else whiteouts are visible. Given |
1049 | * workdir and upper are on same fs, we can do iterate_dir() on | 1080 | * workdir and upper are on same fs, we can do iterate_dir() on |
@@ -1104,7 +1135,8 @@ out: | |||
1104 | return err; | 1135 | return err; |
1105 | } | 1136 | } |
1106 | 1137 | ||
1107 | static int ovl_get_workdir(struct ovl_fs *ofs, struct path *upperpath) | 1138 | static int ovl_get_workdir(struct super_block *sb, struct ovl_fs *ofs, |
1139 | struct path *upperpath) | ||
1108 | { | 1140 | { |
1109 | int err; | 1141 | int err; |
1110 | struct path workpath = { }; | 1142 | struct path workpath = { }; |
@@ -1135,19 +1167,16 @@ static int ovl_get_workdir(struct ovl_fs *ofs, struct path *upperpath) | |||
1135 | pr_warn("overlayfs: workdir is in-use by another mount, accessing files from both mounts will result in undefined behavior.\n"); | 1167 | pr_warn("overlayfs: workdir is in-use by another mount, accessing files from both mounts will result in undefined behavior.\n"); |
1136 | } | 1168 | } |
1137 | 1169 | ||
1138 | err = ovl_make_workdir(ofs, &workpath); | 1170 | err = ovl_make_workdir(sb, ofs, &workpath); |
1139 | if (err) | ||
1140 | goto out; | ||
1141 | 1171 | ||
1142 | err = 0; | ||
1143 | out: | 1172 | out: |
1144 | path_put(&workpath); | 1173 | path_put(&workpath); |
1145 | 1174 | ||
1146 | return err; | 1175 | return err; |
1147 | } | 1176 | } |
1148 | 1177 | ||
1149 | static int ovl_get_indexdir(struct ovl_fs *ofs, struct ovl_entry *oe, | 1178 | static int ovl_get_indexdir(struct super_block *sb, struct ovl_fs *ofs, |
1150 | struct path *upperpath) | 1179 | struct ovl_entry *oe, struct path *upperpath) |
1151 | { | 1180 | { |
1152 | struct vfsmount *mnt = ofs->upper_mnt; | 1181 | struct vfsmount *mnt = ofs->upper_mnt; |
1153 | int err; | 1182 | int err; |
@@ -1166,6 +1195,11 @@ static int ovl_get_indexdir(struct ovl_fs *ofs, struct ovl_entry *oe, | |||
1166 | 1195 | ||
1167 | ofs->indexdir = ovl_workdir_create(ofs, OVL_INDEXDIR_NAME, true); | 1196 | ofs->indexdir = ovl_workdir_create(ofs, OVL_INDEXDIR_NAME, true); |
1168 | if (ofs->indexdir) { | 1197 | if (ofs->indexdir) { |
1198 | err = ovl_setup_trap(sb, ofs->indexdir, &ofs->indexdir_trap, | ||
1199 | "indexdir"); | ||
1200 | if (err) | ||
1201 | goto out; | ||
1202 | |||
1169 | /* | 1203 | /* |
1170 | * Verify upper root is exclusively associated with index dir. | 1204 | * Verify upper root is exclusively associated with index dir. |
1171 | * Older kernels stored upper fh in "trusted.overlay.origin" | 1205 | * Older kernels stored upper fh in "trusted.overlay.origin" |
@@ -1253,8 +1287,8 @@ static int ovl_get_fsid(struct ovl_fs *ofs, const struct path *path) | |||
1253 | return ofs->numlowerfs; | 1287 | return ofs->numlowerfs; |
1254 | } | 1288 | } |
1255 | 1289 | ||
1256 | static int ovl_get_lower_layers(struct ovl_fs *ofs, struct path *stack, | 1290 | static int ovl_get_lower_layers(struct super_block *sb, struct ovl_fs *ofs, |
1257 | unsigned int numlower) | 1291 | struct path *stack, unsigned int numlower) |
1258 | { | 1292 | { |
1259 | int err; | 1293 | int err; |
1260 | unsigned int i; | 1294 | unsigned int i; |
@@ -1272,16 +1306,28 @@ static int ovl_get_lower_layers(struct ovl_fs *ofs, struct path *stack, | |||
1272 | 1306 | ||
1273 | for (i = 0; i < numlower; i++) { | 1307 | for (i = 0; i < numlower; i++) { |
1274 | struct vfsmount *mnt; | 1308 | struct vfsmount *mnt; |
1309 | struct inode *trap; | ||
1275 | int fsid; | 1310 | int fsid; |
1276 | 1311 | ||
1277 | err = fsid = ovl_get_fsid(ofs, &stack[i]); | 1312 | err = fsid = ovl_get_fsid(ofs, &stack[i]); |
1278 | if (err < 0) | 1313 | if (err < 0) |
1279 | goto out; | 1314 | goto out; |
1280 | 1315 | ||
1316 | err = -EBUSY; | ||
1317 | if (ovl_is_inuse(stack[i].dentry)) { | ||
1318 | pr_err("overlayfs: lowerdir is in-use as upperdir/workdir\n"); | ||
1319 | goto out; | ||
1320 | } | ||
1321 | |||
1322 | err = ovl_setup_trap(sb, stack[i].dentry, &trap, "lowerdir"); | ||
1323 | if (err) | ||
1324 | goto out; | ||
1325 | |||
1281 | mnt = clone_private_mount(&stack[i]); | 1326 | mnt = clone_private_mount(&stack[i]); |
1282 | err = PTR_ERR(mnt); | 1327 | err = PTR_ERR(mnt); |
1283 | if (IS_ERR(mnt)) { | 1328 | if (IS_ERR(mnt)) { |
1284 | pr_err("overlayfs: failed to clone lowerpath\n"); | 1329 | pr_err("overlayfs: failed to clone lowerpath\n"); |
1330 | iput(trap); | ||
1285 | goto out; | 1331 | goto out; |
1286 | } | 1332 | } |
1287 | 1333 | ||
@@ -1291,6 +1337,7 @@ static int ovl_get_lower_layers(struct ovl_fs *ofs, struct path *stack, | |||
1291 | */ | 1337 | */ |
1292 | mnt->mnt_flags |= MNT_READONLY | MNT_NOATIME; | 1338 | mnt->mnt_flags |= MNT_READONLY | MNT_NOATIME; |
1293 | 1339 | ||
1340 | ofs->lower_layers[ofs->numlower].trap = trap; | ||
1294 | ofs->lower_layers[ofs->numlower].mnt = mnt; | 1341 | ofs->lower_layers[ofs->numlower].mnt = mnt; |
1295 | ofs->lower_layers[ofs->numlower].idx = i + 1; | 1342 | ofs->lower_layers[ofs->numlower].idx = i + 1; |
1296 | ofs->lower_layers[ofs->numlower].fsid = fsid; | 1343 | ofs->lower_layers[ofs->numlower].fsid = fsid; |
@@ -1385,7 +1432,7 @@ static struct ovl_entry *ovl_get_lowerstack(struct super_block *sb, | |||
1385 | goto out_err; | 1432 | goto out_err; |
1386 | } | 1433 | } |
1387 | 1434 | ||
1388 | err = ovl_get_lower_layers(ofs, stack, numlower); | 1435 | err = ovl_get_lower_layers(sb, ofs, stack, numlower); |
1389 | if (err) | 1436 | if (err) |
1390 | goto out_err; | 1437 | goto out_err; |
1391 | 1438 | ||
@@ -1417,6 +1464,77 @@ out_err: | |||
1417 | goto out; | 1464 | goto out; |
1418 | } | 1465 | } |
1419 | 1466 | ||
1467 | /* | ||
1468 | * Check if this layer root is a descendant of: | ||
1469 | * - another layer of this overlayfs instance | ||
1470 | * - upper/work dir of any overlayfs instance | ||
1471 | */ | ||
1472 | static int ovl_check_layer(struct super_block *sb, struct dentry *dentry, | ||
1473 | const char *name) | ||
1474 | { | ||
1475 | struct dentry *next = dentry, *parent; | ||
1476 | int err = 0; | ||
1477 | |||
1478 | if (!dentry) | ||
1479 | return 0; | ||
1480 | |||
1481 | parent = dget_parent(next); | ||
1482 | |||
1483 | /* Walk back ancestors to root (inclusive) looking for traps */ | ||
1484 | while (!err && parent != next) { | ||
1485 | if (ovl_is_inuse(parent)) { | ||
1486 | err = -EBUSY; | ||
1487 | pr_err("overlayfs: %s path overlapping in-use upperdir/workdir\n", | ||
1488 | name); | ||
1489 | } else if (ovl_lookup_trap_inode(sb, parent)) { | ||
1490 | err = -ELOOP; | ||
1491 | pr_err("overlayfs: overlapping %s path\n", name); | ||
1492 | } | ||
1493 | next = parent; | ||
1494 | parent = dget_parent(next); | ||
1495 | dput(next); | ||
1496 | } | ||
1497 | |||
1498 | dput(parent); | ||
1499 | |||
1500 | return err; | ||
1501 | } | ||
1502 | |||
1503 | /* | ||
1504 | * Check if any of the layers or work dirs overlap. | ||
1505 | */ | ||
1506 | static int ovl_check_overlapping_layers(struct super_block *sb, | ||
1507 | struct ovl_fs *ofs) | ||
1508 | { | ||
1509 | int i, err; | ||
1510 | |||
1511 | if (ofs->upper_mnt) { | ||
1512 | err = ovl_check_layer(sb, ofs->upper_mnt->mnt_root, "upperdir"); | ||
1513 | if (err) | ||
1514 | return err; | ||
1515 | |||
1516 | /* | ||
1517 | * Checking workbasedir avoids hitting ovl_is_inuse(parent) of | ||
1518 | * this instance and covers overlapping work and index dirs, | ||
1519 | * unless work or index dir have been moved since created inside | ||
1520 | * workbasedir. In that case, we already have their traps in | ||
1521 | * inode cache and we will catch that case on lookup. | ||
1522 | */ | ||
1523 | err = ovl_check_layer(sb, ofs->workbasedir, "workdir"); | ||
1524 | if (err) | ||
1525 | return err; | ||
1526 | } | ||
1527 | |||
1528 | for (i = 0; i < ofs->numlower; i++) { | ||
1529 | err = ovl_check_layer(sb, ofs->lower_layers[i].mnt->mnt_root, | ||
1530 | "lowerdir"); | ||
1531 | if (err) | ||
1532 | return err; | ||
1533 | } | ||
1534 | |||
1535 | return 0; | ||
1536 | } | ||
1537 | |||
1420 | static int ovl_fill_super(struct super_block *sb, void *data, int silent) | 1538 | static int ovl_fill_super(struct super_block *sb, void *data, int silent) |
1421 | { | 1539 | { |
1422 | struct path upperpath = { }; | 1540 | struct path upperpath = { }; |
@@ -1456,17 +1574,20 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) | |||
1456 | if (ofs->config.xino != OVL_XINO_OFF) | 1574 | if (ofs->config.xino != OVL_XINO_OFF) |
1457 | ofs->xino_bits = BITS_PER_LONG - 32; | 1575 | ofs->xino_bits = BITS_PER_LONG - 32; |
1458 | 1576 | ||
1577 | /* alloc/destroy_inode needed for setting up traps in inode cache */ | ||
1578 | sb->s_op = &ovl_super_operations; | ||
1579 | |||
1459 | if (ofs->config.upperdir) { | 1580 | if (ofs->config.upperdir) { |
1460 | if (!ofs->config.workdir) { | 1581 | if (!ofs->config.workdir) { |
1461 | pr_err("overlayfs: missing 'workdir'\n"); | 1582 | pr_err("overlayfs: missing 'workdir'\n"); |
1462 | goto out_err; | 1583 | goto out_err; |
1463 | } | 1584 | } |
1464 | 1585 | ||
1465 | err = ovl_get_upper(ofs, &upperpath); | 1586 | err = ovl_get_upper(sb, ofs, &upperpath); |
1466 | if (err) | 1587 | if (err) |
1467 | goto out_err; | 1588 | goto out_err; |
1468 | 1589 | ||
1469 | err = ovl_get_workdir(ofs, &upperpath); | 1590 | err = ovl_get_workdir(sb, ofs, &upperpath); |
1470 | if (err) | 1591 | if (err) |
1471 | goto out_err; | 1592 | goto out_err; |
1472 | 1593 | ||
@@ -1487,7 +1608,7 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) | |||
1487 | sb->s_flags |= SB_RDONLY; | 1608 | sb->s_flags |= SB_RDONLY; |
1488 | 1609 | ||
1489 | if (!(ovl_force_readonly(ofs)) && ofs->config.index) { | 1610 | if (!(ovl_force_readonly(ofs)) && ofs->config.index) { |
1490 | err = ovl_get_indexdir(ofs, oe, &upperpath); | 1611 | err = ovl_get_indexdir(sb, ofs, oe, &upperpath); |
1491 | if (err) | 1612 | if (err) |
1492 | goto out_free_oe; | 1613 | goto out_free_oe; |
1493 | 1614 | ||
@@ -1500,6 +1621,10 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) | |||
1500 | 1621 | ||
1501 | } | 1622 | } |
1502 | 1623 | ||
1624 | err = ovl_check_overlapping_layers(sb, ofs); | ||
1625 | if (err) | ||
1626 | goto out_free_oe; | ||
1627 | |||
1503 | /* Show index=off in /proc/mounts for forced r/o mount */ | 1628 | /* Show index=off in /proc/mounts for forced r/o mount */ |
1504 | if (!ofs->indexdir) { | 1629 | if (!ofs->indexdir) { |
1505 | ofs->config.index = false; | 1630 | ofs->config.index = false; |
@@ -1521,7 +1646,6 @@ static int ovl_fill_super(struct super_block *sb, void *data, int silent) | |||
1521 | cap_lower(cred->cap_effective, CAP_SYS_RESOURCE); | 1646 | cap_lower(cred->cap_effective, CAP_SYS_RESOURCE); |
1522 | 1647 | ||
1523 | sb->s_magic = OVERLAYFS_SUPER_MAGIC; | 1648 | sb->s_magic = OVERLAYFS_SUPER_MAGIC; |
1524 | sb->s_op = &ovl_super_operations; | ||
1525 | sb->s_xattr = ovl_xattr_handlers; | 1649 | sb->s_xattr = ovl_xattr_handlers; |
1526 | sb->s_fs_info = ofs; | 1650 | sb->s_fs_info = ofs; |
1527 | sb->s_flags |= SB_POSIXACL; | 1651 | sb->s_flags |= SB_POSIXACL; |
diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c index 4035e640f402..f5678a3f8350 100644 --- a/fs/overlayfs/util.c +++ b/fs/overlayfs/util.c | |||
@@ -1,10 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2011 Novell Inc. | 3 | * Copyright (C) 2011 Novell Inc. |
3 | * Copyright (C) 2016 Red Hat, Inc. | 4 | * Copyright (C) 2016 Red Hat, Inc. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
@@ -652,6 +649,18 @@ void ovl_inuse_unlock(struct dentry *dentry) | |||
652 | } | 649 | } |
653 | } | 650 | } |
654 | 651 | ||
652 | bool ovl_is_inuse(struct dentry *dentry) | ||
653 | { | ||
654 | struct inode *inode = d_inode(dentry); | ||
655 | bool inuse; | ||
656 | |||
657 | spin_lock(&inode->i_lock); | ||
658 | inuse = (inode->i_state & I_OVL_INUSE); | ||
659 | spin_unlock(&inode->i_lock); | ||
660 | |||
661 | return inuse; | ||
662 | } | ||
663 | |||
655 | /* | 664 | /* |
656 | * Does this overlay dentry need to be indexed on copy up? | 665 | * Does this overlay dentry need to be indexed on copy up? |
657 | */ | 666 | */ |
diff --git a/fs/pnode.c b/fs/pnode.c index 7ea6cfb65077..49f6d7ff2139 100644 --- a/fs/pnode.c +++ b/fs/pnode.c | |||
@@ -1,10 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/pnode.c | 3 | * linux/fs/pnode.c |
3 | * | 4 | * |
4 | * (C) Copyright IBM Corporation 2005. | 5 | * (C) Copyright IBM Corporation 2005. |
5 | * Released under GPL v2. | ||
6 | * Author : Ram Pai (linuxram@us.ibm.com) | 6 | * Author : Ram Pai (linuxram@us.ibm.com) |
7 | * | ||
8 | */ | 7 | */ |
9 | #include <linux/mnt_namespace.h> | 8 | #include <linux/mnt_namespace.h> |
10 | #include <linux/mount.h> | 9 | #include <linux/mount.h> |
@@ -262,7 +261,6 @@ static int propagate_one(struct mount *m) | |||
262 | child = copy_tree(last_source, last_source->mnt.mnt_root, type); | 261 | child = copy_tree(last_source, last_source->mnt.mnt_root, type); |
263 | if (IS_ERR(child)) | 262 | if (IS_ERR(child)) |
264 | return PTR_ERR(child); | 263 | return PTR_ERR(child); |
265 | child->mnt.mnt_flags &= ~MNT_LOCKED; | ||
266 | mnt_set_mountpoint(m, mp, child); | 264 | mnt_set_mountpoint(m, mp, child); |
267 | last_dest = m; | 265 | last_dest = m; |
268 | last_source = child; | 266 | last_source = child; |
diff --git a/fs/pnode.h b/fs/pnode.h index 3960a83666cf..49a058c73e4c 100644 --- a/fs/pnode.h +++ b/fs/pnode.h | |||
@@ -1,9 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * linux/fs/pnode.h | 3 | * linux/fs/pnode.h |
3 | * | 4 | * |
4 | * (C) Copyright IBM Corporation 2005. | 5 | * (C) Copyright IBM Corporation 2005. |
5 | * Released under GPL v2. | ||
6 | * | ||
7 | */ | 6 | */ |
8 | #ifndef _LINUX_PNODE_H | 7 | #ifndef _LINUX_PNODE_H |
9 | #define _LINUX_PNODE_H | 8 | #define _LINUX_PNODE_H |
diff --git a/fs/posix_acl.c b/fs/posix_acl.c index 2fd0fde16fe1..84ad1c90d535 100644 --- a/fs/posix_acl.c +++ b/fs/posix_acl.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2002,2003 by Andreas Gruenbacher <a.gruenbacher@computer.org> | 3 | * Copyright (C) 2002,2003 by Andreas Gruenbacher <a.gruenbacher@computer.org> |
3 | * | 4 | * |
diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig index 817c02b13b1d..62ee41b4bbd0 100644 --- a/fs/proc/Kconfig +++ b/fs/proc/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config PROC_FS | 2 | config PROC_FS |
2 | bool "/proc file system support" if EXPERT | 3 | bool "/proc file system support" if EXPERT |
3 | default y | 4 | default y |
diff --git a/fs/proc/array.c b/fs/proc/array.c index 2edbb657f859..55180501b915 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c | |||
@@ -462,7 +462,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | |||
462 | * a program is not able to use ptrace(2) in that case. It is | 462 | * a program is not able to use ptrace(2) in that case. It is |
463 | * safe because the task has stopped executing permanently. | 463 | * safe because the task has stopped executing permanently. |
464 | */ | 464 | */ |
465 | if (permitted && (task->flags & PF_DUMPCORE)) { | 465 | if (permitted && (task->flags & (PF_EXITING|PF_DUMPCORE))) { |
466 | if (try_get_task_stack(task)) { | 466 | if (try_get_task_stack(task)) { |
467 | eip = KSTK_EIP(task); | 467 | eip = KSTK_EIP(task); |
468 | esp = KSTK_ESP(task); | 468 | esp = KSTK_ESP(task); |
diff --git a/fs/proc/base.c b/fs/proc/base.c index 9c8ca6cd3ce4..255f6754c70d 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
@@ -3077,8 +3077,7 @@ static const struct file_operations proc_tgid_base_operations = { | |||
3077 | 3077 | ||
3078 | struct pid *tgid_pidfd_to_pid(const struct file *file) | 3078 | struct pid *tgid_pidfd_to_pid(const struct file *file) |
3079 | { | 3079 | { |
3080 | if (!d_is_dir(file->f_path.dentry) || | 3080 | if (file->f_op != &proc_tgid_base_operations) |
3081 | (file->f_op != &proc_tgid_base_operations)) | ||
3082 | return ERR_PTR(-EBADF); | 3081 | return ERR_PTR(-EBADF); |
3083 | 3082 | ||
3084 | return proc_pid(file_inode(file)); | 3083 | return proc_pid(file_inode(file)); |
diff --git a/fs/proc/consoles.c b/fs/proc/consoles.c index 954caf0b7fee..dfe6ce3505ce 100644 --- a/fs/proc/consoles.c +++ b/fs/proc/consoles.c | |||
@@ -1,7 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2010 Werner Fink, Jiri Slaby | 3 | * Copyright (c) 2010 Werner Fink, Jiri Slaby |
3 | * | ||
4 | * Licensed under GPLv2 | ||
5 | */ | 4 | */ |
6 | 5 | ||
7 | #include <linux/console.h> | 6 | #include <linux/console.h> |
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index e39bac94dead..64e9ee1b129e 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * proc/fs/generic.c --- generic routines for the proc-fs | 3 | * proc/fs/generic.c --- generic routines for the proc-fs |
3 | * | 4 | * |
diff --git a/fs/proc/internal.h b/fs/proc/internal.h index d1671e97f7fe..cd0c8d5ce9a1 100644 --- a/fs/proc/internal.h +++ b/fs/proc/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* Internal procfs definitions | 2 | /* Internal procfs definitions |
2 | * | 3 | * |
3 | * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/proc_fs.h> | 8 | #include <linux/proc_fs.h> |
diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c index 3b63be64e436..14c2badb8fd9 100644 --- a/fs/proc/nommu.c +++ b/fs/proc/nommu.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* nommu.c: mmu-less memory info files | 2 | /* nommu.c: mmu-less memory info files |
2 | * | 3 | * |
3 | * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/fs/proc/proc_net.c b/fs/proc/proc_net.c index a7b12435519e..76ae278df1c4 100644 --- a/fs/proc/proc_net.c +++ b/fs/proc/proc_net.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/proc/net.c | 3 | * linux/fs/proc/net.c |
3 | * | 4 | * |
diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c index 3fe90443c1bb..7bb96fdd38ad 100644 --- a/fs/proc/vmcore.c +++ b/fs/proc/vmcore.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/proc/vmcore.c Interface for accessing the crash | 3 | * fs/proc/vmcore.c Interface for accessing the crash |
3 | * dump from the system's previous life. | 4 | * dump from the system's previous life. |
diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig index 0d19d191ae70..8f0369aad22a 100644 --- a/fs/pstore/Kconfig +++ b/fs/pstore/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config PSTORE | 2 | config PSTORE |
2 | tristate "Persistent store support" | 3 | tristate "Persistent store support" |
3 | select CRYPTO if PSTORE_COMPRESS | 4 | select CRYPTO if PSTORE_COMPRESS |
diff --git a/fs/pstore/ftrace.c b/fs/pstore/ftrace.c index b8a0931568f8..8e0a17ce3180 100644 --- a/fs/pstore/ftrace.c +++ b/fs/pstore/ftrace.c | |||
@@ -1,14 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright 2012 Google, Inc. | 3 | * Copyright 2012 Google, Inc. |
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | 4 | */ |
13 | 5 | ||
14 | #include <linux/kernel.h> | 6 | #include <linux/kernel.h> |
diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c index 29e94e0b6d73..89a80b568a17 100644 --- a/fs/pstore/inode.c +++ b/fs/pstore/inode.c | |||
@@ -1,20 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Persistent Storage - ramfs parts. | 3 | * Persistent Storage - ramfs parts. |
3 | * | 4 | * |
4 | * Copyright (C) 2010 Intel Corporation <tony.luck@intel.com> | 5 | * Copyright (C) 2010 Intel Corporation <tony.luck@intel.com> |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | 6 | */ |
19 | 7 | ||
20 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 75887a269b64..3d7024662d29 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Persistent Storage - platform driver interface parts. | 3 | * Persistent Storage - platform driver interface parts. |
3 | * | 4 | * |
4 | * Copyright (C) 2007-2008 Google, Inc. | 5 | * Copyright (C) 2007-2008 Google, Inc. |
5 | * Copyright (C) 2010 Intel Corporation <tony.luck@intel.com> | 6 | * Copyright (C) 2010 Intel Corporation <tony.luck@intel.com> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | 7 | */ |
20 | 8 | ||
21 | #define pr_fmt(fmt) "pstore: " fmt | 9 | #define pr_fmt(fmt) "pstore: " fmt |
@@ -347,8 +335,10 @@ static void allocate_buf_for_compression(void) | |||
347 | 335 | ||
348 | static void free_buf_for_compression(void) | 336 | static void free_buf_for_compression(void) |
349 | { | 337 | { |
350 | if (IS_ENABLED(CONFIG_PSTORE_COMPRESS) && tfm) | 338 | if (IS_ENABLED(CONFIG_PSTORE_COMPRESS) && tfm) { |
351 | crypto_free_comp(tfm); | 339 | crypto_free_comp(tfm); |
340 | tfm = NULL; | ||
341 | } | ||
352 | kfree(big_oops_buf); | 342 | kfree(big_oops_buf); |
353 | big_oops_buf = NULL; | 343 | big_oops_buf = NULL; |
354 | big_oops_buf_sz = 0; | 344 | big_oops_buf_sz = 0; |
@@ -606,7 +596,8 @@ int pstore_register(struct pstore_info *psi) | |||
606 | return -EINVAL; | 596 | return -EINVAL; |
607 | } | 597 | } |
608 | 598 | ||
609 | allocate_buf_for_compression(); | 599 | if (psi->flags & PSTORE_FLAGS_DMESG) |
600 | allocate_buf_for_compression(); | ||
610 | 601 | ||
611 | if (pstore_is_mounted()) | 602 | if (pstore_is_mounted()) |
612 | pstore_get_records(0); | 603 | pstore_get_records(0); |
diff --git a/fs/pstore/pmsg.c b/fs/pstore/pmsg.c index 97fcef74e5af..d8542ec2f38c 100644 --- a/fs/pstore/pmsg.c +++ b/fs/pstore/pmsg.c | |||
@@ -1,14 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright 2014 Google, Inc. | 3 | * Copyright 2014 Google, Inc. |
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | 4 | */ |
13 | 5 | ||
14 | #include <linux/cdev.h> | 6 | #include <linux/cdev.h> |
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index c5c685589e36..5b7709894415 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c | |||
@@ -1,23 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * RAM Oops/Panic logger | 3 | * RAM Oops/Panic logger |
3 | * | 4 | * |
4 | * Copyright (C) 2010 Marco Stornelli <marco.stornelli@gmail.com> | 5 | * Copyright (C) 2010 Marco Stornelli <marco.stornelli@gmail.com> |
5 | * Copyright (C) 2011 Kees Cook <keescook@chromium.org> | 6 | * Copyright (C) 2011 Kees Cook <keescook@chromium.org> |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * version 2 as published by the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but | ||
12 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | ||
19 | * 02110-1301 USA | ||
20 | * | ||
21 | */ | 7 | */ |
22 | 8 | ||
23 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 9 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
@@ -800,26 +786,36 @@ static int ramoops_probe(struct platform_device *pdev) | |||
800 | 786 | ||
801 | cxt->pstore.data = cxt; | 787 | cxt->pstore.data = cxt; |
802 | /* | 788 | /* |
803 | * Since bufsize is only used for dmesg crash dumps, it | 789 | * Prepare frontend flags based on which areas are initialized. |
804 | * must match the size of the dprz record (after PRZ header | 790 | * For ramoops_init_przs() cases, the "max count" variable tells |
805 | * and ECC bytes have been accounted for). | 791 | * if there are regions present. For ramoops_init_prz() cases, |
792 | * the single region size is how to check. | ||
806 | */ | 793 | */ |
807 | cxt->pstore.bufsize = cxt->dprzs[0]->buffer_size; | 794 | cxt->pstore.flags = 0; |
808 | cxt->pstore.buf = kzalloc(cxt->pstore.bufsize, GFP_KERNEL); | 795 | if (cxt->max_dump_cnt) |
809 | if (!cxt->pstore.buf) { | 796 | cxt->pstore.flags |= PSTORE_FLAGS_DMESG; |
810 | pr_err("cannot allocate pstore crash dump buffer\n"); | ||
811 | err = -ENOMEM; | ||
812 | goto fail_clear; | ||
813 | } | ||
814 | |||
815 | cxt->pstore.flags = PSTORE_FLAGS_DMESG; | ||
816 | if (cxt->console_size) | 797 | if (cxt->console_size) |
817 | cxt->pstore.flags |= PSTORE_FLAGS_CONSOLE; | 798 | cxt->pstore.flags |= PSTORE_FLAGS_CONSOLE; |
818 | if (cxt->ftrace_size) | 799 | if (cxt->max_ftrace_cnt) |
819 | cxt->pstore.flags |= PSTORE_FLAGS_FTRACE; | 800 | cxt->pstore.flags |= PSTORE_FLAGS_FTRACE; |
820 | if (cxt->pmsg_size) | 801 | if (cxt->pmsg_size) |
821 | cxt->pstore.flags |= PSTORE_FLAGS_PMSG; | 802 | cxt->pstore.flags |= PSTORE_FLAGS_PMSG; |
822 | 803 | ||
804 | /* | ||
805 | * Since bufsize is only used for dmesg crash dumps, it | ||
806 | * must match the size of the dprz record (after PRZ header | ||
807 | * and ECC bytes have been accounted for). | ||
808 | */ | ||
809 | if (cxt->pstore.flags & PSTORE_FLAGS_DMESG) { | ||
810 | cxt->pstore.bufsize = cxt->dprzs[0]->buffer_size; | ||
811 | cxt->pstore.buf = kzalloc(cxt->pstore.bufsize, GFP_KERNEL); | ||
812 | if (!cxt->pstore.buf) { | ||
813 | pr_err("cannot allocate pstore crash dump buffer\n"); | ||
814 | err = -ENOMEM; | ||
815 | goto fail_clear; | ||
816 | } | ||
817 | } | ||
818 | |||
823 | err = pstore_register(&cxt->pstore); | 819 | err = pstore_register(&cxt->pstore); |
824 | if (err) { | 820 | if (err) { |
825 | pr_err("registering with pstore failed\n"); | 821 | pr_err("registering with pstore failed\n"); |
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c index f375c0735351..8823f65888f0 100644 --- a/fs/pstore/ram_core.c +++ b/fs/pstore/ram_core.c | |||
@@ -1,15 +1,6 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (C) 2012 Google, Inc. | 3 | * Copyright (C) 2012 Google, Inc. |
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | */ | 4 | */ |
14 | 5 | ||
15 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 6 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/qnx4/Kconfig b/fs/qnx4/Kconfig index 5f6089994042..45b5b98376c4 100644 --- a/fs/qnx4/Kconfig +++ b/fs/qnx4/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config QNX4FS_FS | 2 | config QNX4FS_FS |
2 | tristate "QNX4 file system support (read only)" | 3 | tristate "QNX4 file system support (read only)" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/qnx4/Makefile b/fs/qnx4/Makefile index 4a283b3f87f8..42d4fc263a3d 100644 --- a/fs/qnx4/Makefile +++ b/fs/qnx4/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux qnx4-filesystem routines. | 3 | # Makefile for the linux qnx4-filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 48c70aa4a3ec..922d083bbc7c 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * QNX4 file system, Linux implementation. | 3 | * QNX4 file system, Linux implementation. |
3 | * | 4 | * |
diff --git a/fs/qnx6/Kconfig b/fs/qnx6/Kconfig index edbba5c17cc8..6a9d6bce1586 100644 --- a/fs/qnx6/Kconfig +++ b/fs/qnx6/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config QNX6FS_FS | 2 | config QNX6FS_FS |
2 | tristate "QNX6 file system support (read only)" | 3 | tristate "QNX6 file system support (read only)" |
3 | depends on BLOCK && CRC32 | 4 | depends on BLOCK && CRC32 |
diff --git a/fs/qnx6/Makefile b/fs/qnx6/Makefile index 5e6bae6fae50..bd4e6c8efbc6 100644 --- a/fs/qnx6/Makefile +++ b/fs/qnx6/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux qnx4-filesystem routines. | 3 | # Makefile for the linux qnx4-filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/qnx6/inode.c b/fs/qnx6/inode.c index 59cf45f6be49..0f8b0ff1ba43 100644 --- a/fs/qnx6/inode.c +++ b/fs/qnx6/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * QNX6 file system, Linux implementation. | 3 | * QNX6 file system, Linux implementation. |
3 | * | 4 | * |
diff --git a/fs/quota/Kconfig b/fs/quota/Kconfig index 4a09975aac90..7218314ca13f 100644 --- a/fs/quota/Kconfig +++ b/fs/quota/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Quota configuration | 3 | # Quota configuration |
3 | # | 4 | # |
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 9ad72ea7f71f..58f15a083dd1 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c | |||
@@ -1996,8 +1996,8 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to) | |||
1996 | &warn_to[cnt]); | 1996 | &warn_to[cnt]); |
1997 | if (ret) | 1997 | if (ret) |
1998 | goto over_quota; | 1998 | goto over_quota; |
1999 | ret = dquot_add_space(transfer_to[cnt], cur_space, rsv_space, 0, | 1999 | ret = dquot_add_space(transfer_to[cnt], cur_space, rsv_space, |
2000 | &warn_to[cnt]); | 2000 | DQUOT_SPACE_WARN, &warn_to[cnt]); |
2001 | if (ret) { | 2001 | if (ret) { |
2002 | spin_lock(&transfer_to[cnt]->dq_dqb_lock); | 2002 | spin_lock(&transfer_to[cnt]->dq_dqb_lock); |
2003 | dquot_decr_inodes(transfer_to[cnt], inode_usage); | 2003 | dquot_decr_inodes(transfer_to[cnt], inode_usage); |
diff --git a/fs/quota/quota_tree.c b/fs/quota/quota_tree.c index bb3f59bcfcf5..a6f856f341dc 100644 --- a/fs/quota/quota_tree.c +++ b/fs/quota/quota_tree.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * vfsv0 quota IO operations on file | 3 | * vfsv0 quota IO operations on file |
3 | */ | 4 | */ |
diff --git a/fs/quota/quota_v1.c b/fs/quota/quota_v1.c index 9f2b2573b83c..c740e5572eb8 100644 --- a/fs/quota/quota_v1.c +++ b/fs/quota/quota_v1.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | #include <linux/errno.h> | 2 | #include <linux/errno.h> |
2 | #include <linux/fs.h> | 3 | #include <linux/fs.h> |
3 | #include <linux/quota.h> | 4 | #include <linux/quota.h> |
diff --git a/fs/quota/quota_v2.c b/fs/quota/quota_v2.c index 3c30034e733f..53429c29c784 100644 --- a/fs/quota/quota_v2.c +++ b/fs/quota/quota_v2.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * vfsv0 quota IO operations on file | 3 | * vfsv0 quota IO operations on file |
3 | */ | 4 | */ |
diff --git a/fs/ramfs/Makefile b/fs/ramfs/Makefile index c71e65dcad25..d1198adb562e 100644 --- a/fs/ramfs/Makefile +++ b/fs/ramfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux ramfs routines. | 3 | # Makefile for the linux ramfs routines. |
3 | # | 4 | # |
diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c index 3ac1f2387083..414695454956 100644 --- a/fs/ramfs/file-nommu.c +++ b/fs/ramfs/file-nommu.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* file-nommu.c: no-MMU version of ramfs | 2 | /* file-nommu.c: no-MMU version of ramfs |
2 | * | 3 | * |
3 | * Copyright (C) 2005 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2005 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
diff --git a/fs/ramfs/internal.h b/fs/ramfs/internal.h index a9d8ae88fa15..3257fc1809d9 100644 --- a/fs/ramfs/internal.h +++ b/fs/ramfs/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* internal.h: ramfs internal definitions | 2 | /* internal.h: ramfs internal definitions |
2 | * | 3 | * |
3 | * Copyright (C) 2005 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright (C) 2005 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | 8 | ||
diff --git a/fs/reiserfs/Kconfig b/fs/reiserfs/Kconfig index 86e71c0caf48..8fd54ed8f844 100644 --- a/fs/reiserfs/Kconfig +++ b/fs/reiserfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config REISERFS_FS | 2 | config REISERFS_FS |
2 | tristate "Reiserfs support" | 3 | tristate "Reiserfs support" |
3 | select CRC32 | 4 | select CRC32 |
diff --git a/fs/romfs/Kconfig b/fs/romfs/Kconfig index ce2d6bcc6266..ad4c45788896 100644 --- a/fs/romfs/Kconfig +++ b/fs/romfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config ROMFS_FS | 2 | config ROMFS_FS |
2 | tristate "ROM file system support" | 3 | tristate "ROM file system support" |
3 | depends on BLOCK || MTD | 4 | depends on BLOCK || MTD |
diff --git a/fs/romfs/internal.h b/fs/romfs/internal.h index 95217b830118..e90df22bdc82 100644 --- a/fs/romfs/internal.h +++ b/fs/romfs/internal.h | |||
@@ -1,12 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* RomFS internal definitions | 2 | /* RomFS internal definitions |
2 | * | 3 | * |
3 | * Copyright © 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright © 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/romfs_fs.h> | 8 | #include <linux/romfs_fs.h> |
diff --git a/fs/romfs/mmap-nommu.c b/fs/romfs/mmap-nommu.c index 1118a0dc6b45..2c4a23113fb5 100644 --- a/fs/romfs/mmap-nommu.c +++ b/fs/romfs/mmap-nommu.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* NOMMU mmap support for RomFS on MTD devices | 2 | /* NOMMU mmap support for RomFS on MTD devices |
2 | * | 3 | * |
3 | * Copyright © 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright © 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/mm.h> | 8 | #include <linux/mm.h> |
diff --git a/fs/romfs/storage.c b/fs/romfs/storage.c index f86f51f99ace..6b2b4362089e 100644 --- a/fs/romfs/storage.c +++ b/fs/romfs/storage.c | |||
@@ -1,12 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* RomFS storage access routines | 2 | /* RomFS storage access routines |
2 | * | 3 | * |
3 | * Copyright © 2007 Red Hat, Inc. All Rights Reserved. | 4 | * Copyright © 2007 Red Hat, Inc. All Rights Reserved. |
4 | * Written by David Howells (dhowells@redhat.com) | 5 | * Written by David Howells (dhowells@redhat.com) |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | */ | 6 | */ |
11 | 7 | ||
12 | #include <linux/fs.h> | 8 | #include <linux/fs.h> |
diff --git a/fs/select.c b/fs/select.c index 6cbc9ff56ba0..a4d8f6e8b63c 100644 --- a/fs/select.c +++ b/fs/select.c | |||
@@ -758,10 +758,9 @@ static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp, | |||
758 | return ret; | 758 | return ret; |
759 | 759 | ||
760 | ret = core_sys_select(n, inp, outp, exp, to); | 760 | ret = core_sys_select(n, inp, outp, exp, to); |
761 | restore_user_sigmask(sigmask, &sigsaved, ret == -ERESTARTNOHAND); | ||
761 | ret = poll_select_copy_remaining(&end_time, tsp, type, ret); | 762 | ret = poll_select_copy_remaining(&end_time, tsp, type, ret); |
762 | 763 | ||
763 | restore_user_sigmask(sigmask, &sigsaved); | ||
764 | |||
765 | return ret; | 764 | return ret; |
766 | } | 765 | } |
767 | 766 | ||
@@ -1106,8 +1105,7 @@ SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, unsigned int, nfds, | |||
1106 | 1105 | ||
1107 | ret = do_sys_poll(ufds, nfds, to); | 1106 | ret = do_sys_poll(ufds, nfds, to); |
1108 | 1107 | ||
1109 | restore_user_sigmask(sigmask, &sigsaved); | 1108 | restore_user_sigmask(sigmask, &sigsaved, ret == -EINTR); |
1110 | |||
1111 | /* We can restart this syscall, usually */ | 1109 | /* We can restart this syscall, usually */ |
1112 | if (ret == -EINTR) | 1110 | if (ret == -EINTR) |
1113 | ret = -ERESTARTNOHAND; | 1111 | ret = -ERESTARTNOHAND; |
@@ -1142,8 +1140,7 @@ SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds, unsigned int, nfds, | |||
1142 | 1140 | ||
1143 | ret = do_sys_poll(ufds, nfds, to); | 1141 | ret = do_sys_poll(ufds, nfds, to); |
1144 | 1142 | ||
1145 | restore_user_sigmask(sigmask, &sigsaved); | 1143 | restore_user_sigmask(sigmask, &sigsaved, ret == -EINTR); |
1146 | |||
1147 | /* We can restart this syscall, usually */ | 1144 | /* We can restart this syscall, usually */ |
1148 | if (ret == -EINTR) | 1145 | if (ret == -EINTR) |
1149 | ret = -ERESTARTNOHAND; | 1146 | ret = -ERESTARTNOHAND; |
@@ -1350,10 +1347,9 @@ static long do_compat_pselect(int n, compat_ulong_t __user *inp, | |||
1350 | return ret; | 1347 | return ret; |
1351 | 1348 | ||
1352 | ret = compat_core_sys_select(n, inp, outp, exp, to); | 1349 | ret = compat_core_sys_select(n, inp, outp, exp, to); |
1350 | restore_user_sigmask(sigmask, &sigsaved, ret == -ERESTARTNOHAND); | ||
1353 | ret = poll_select_copy_remaining(&end_time, tsp, type, ret); | 1351 | ret = poll_select_copy_remaining(&end_time, tsp, type, ret); |
1354 | 1352 | ||
1355 | restore_user_sigmask(sigmask, &sigsaved); | ||
1356 | |||
1357 | return ret; | 1353 | return ret; |
1358 | } | 1354 | } |
1359 | 1355 | ||
@@ -1425,8 +1421,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds, | |||
1425 | 1421 | ||
1426 | ret = do_sys_poll(ufds, nfds, to); | 1422 | ret = do_sys_poll(ufds, nfds, to); |
1427 | 1423 | ||
1428 | restore_user_sigmask(sigmask, &sigsaved); | 1424 | restore_user_sigmask(sigmask, &sigsaved, ret == -EINTR); |
1429 | |||
1430 | /* We can restart this syscall, usually */ | 1425 | /* We can restart this syscall, usually */ |
1431 | if (ret == -EINTR) | 1426 | if (ret == -EINTR) |
1432 | ret = -ERESTARTNOHAND; | 1427 | ret = -ERESTARTNOHAND; |
@@ -1461,8 +1456,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time64, struct pollfd __user *, ufds, | |||
1461 | 1456 | ||
1462 | ret = do_sys_poll(ufds, nfds, to); | 1457 | ret = do_sys_poll(ufds, nfds, to); |
1463 | 1458 | ||
1464 | restore_user_sigmask(sigmask, &sigsaved); | 1459 | restore_user_sigmask(sigmask, &sigsaved, ret == -EINTR); |
1465 | |||
1466 | /* We can restart this syscall, usually */ | 1460 | /* We can restart this syscall, usually */ |
1467 | if (ret == -EINTR) | 1461 | if (ret == -EINTR) |
1468 | ret = -ERESTARTNOHAND; | 1462 | ret = -ERESTARTNOHAND; |
diff --git a/fs/splice.c b/fs/splice.c index 25212dcca2df..14cb602d9a2f 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * "splice": joining two ropes together by interweaving their strands. | 3 | * "splice": joining two ropes together by interweaving their strands. |
3 | * | 4 | * |
diff --git a/fs/squashfs/Kconfig b/fs/squashfs/Kconfig index 1adb3346b9d6..916e78fabcaa 100644 --- a/fs/squashfs/Kconfig +++ b/fs/squashfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config SQUASHFS | 2 | config SQUASHFS |
2 | tristate "SquashFS 4.0 - Squashed file system support" | 3 | tristate "SquashFS 4.0 - Squashed file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c index f098b9f1c396..4f9b9fb59362 100644 --- a/fs/squashfs/block.c +++ b/fs/squashfs/block.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * block.c | 8 | * block.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/cache.c b/fs/squashfs/cache.c index 0839efa720b3..5062326d0efb 100644 --- a/fs/squashfs/cache.c +++ b/fs/squashfs/cache.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * cache.c | 8 | * cache.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/decompressor.c b/fs/squashfs/decompressor.c index 836639810ea0..d57bef91ab08 100644 --- a/fs/squashfs/decompressor.c +++ b/fs/squashfs/decompressor.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * decompressor.c | 8 | * decompressor.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/decompressor.h b/fs/squashfs/decompressor.h index 0f5a8e4e58da..ec8617523e56 100644 --- a/fs/squashfs/decompressor.h +++ b/fs/squashfs/decompressor.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | #ifndef DECOMPRESSOR_H | 2 | #ifndef DECOMPRESSOR_H |
2 | #define DECOMPRESSOR_H | 3 | #define DECOMPRESSOR_H |
3 | /* | 4 | /* |
@@ -6,20 +7,6 @@ | |||
6 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 7 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
7 | * Phillip Lougher <phillip@squashfs.org.uk> | 8 | * Phillip Lougher <phillip@squashfs.org.uk> |
8 | * | 9 | * |
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version 2, | ||
12 | * or (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
22 | * | ||
23 | * decompressor.h | 10 | * decompressor.h |
24 | */ | 11 | */ |
25 | 12 | ||
diff --git a/fs/squashfs/decompressor_multi.c b/fs/squashfs/decompressor_multi.c index d6008a636479..c181dee235bb 100644 --- a/fs/squashfs/decompressor_multi.c +++ b/fs/squashfs/decompressor_multi.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013 | 3 | * Copyright (c) 2013 |
3 | * Minchan Kim <minchan@kernel.org> | 4 | * Minchan Kim <minchan@kernel.org> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | #include <linux/types.h> | 6 | #include <linux/types.h> |
9 | #include <linux/mutex.h> | 7 | #include <linux/mutex.h> |
diff --git a/fs/squashfs/decompressor_multi_percpu.c b/fs/squashfs/decompressor_multi_percpu.c index 23a9c28ad8ea..2a2a2d106440 100644 --- a/fs/squashfs/decompressor_multi_percpu.c +++ b/fs/squashfs/decompressor_multi_percpu.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013 | 3 | * Copyright (c) 2013 |
3 | * Phillip Lougher <phillip@squashfs.org.uk> | 4 | * Phillip Lougher <phillip@squashfs.org.uk> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | 6 | ||
9 | #include <linux/types.h> | 7 | #include <linux/types.h> |
diff --git a/fs/squashfs/decompressor_single.c b/fs/squashfs/decompressor_single.c index a6c75929a00e..550c3e592032 100644 --- a/fs/squashfs/decompressor_single.c +++ b/fs/squashfs/decompressor_single.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013 | 3 | * Copyright (c) 2013 |
3 | * Phillip Lougher <phillip@squashfs.org.uk> | 4 | * Phillip Lougher <phillip@squashfs.org.uk> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | 6 | ||
9 | #include <linux/types.h> | 7 | #include <linux/types.h> |
diff --git a/fs/squashfs/dir.c b/fs/squashfs/dir.c index a5845f94a2a1..a2ade63eccdf 100644 --- a/fs/squashfs/dir.c +++ b/fs/squashfs/dir.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * dir.c | 8 | * dir.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/export.c b/fs/squashfs/export.c index 8073b6532cf0..ae2c87bb0fbe 100644 --- a/fs/squashfs/export.c +++ b/fs/squashfs/export.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * export.c | 8 | * export.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/file.c b/fs/squashfs/file.c index f1c1430ae721..7b1128398976 100644 --- a/fs/squashfs/file.c +++ b/fs/squashfs/file.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * file.c | 8 | * file.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/file_cache.c b/fs/squashfs/file_cache.c index a9ba8d96776a..54c17b7c85fd 100644 --- a/fs/squashfs/file_cache.c +++ b/fs/squashfs/file_cache.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013 | 3 | * Copyright (c) 2013 |
3 | * Phillip Lougher <phillip@squashfs.org.uk> | 4 | * Phillip Lougher <phillip@squashfs.org.uk> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | 6 | ||
9 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/squashfs/file_direct.c b/fs/squashfs/file_direct.c index 80db1b86a27c..a4894cc59447 100644 --- a/fs/squashfs/file_direct.c +++ b/fs/squashfs/file_direct.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013 | 3 | * Copyright (c) 2013 |
3 | * Phillip Lougher <phillip@squashfs.org.uk> | 4 | * Phillip Lougher <phillip@squashfs.org.uk> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | 6 | ||
9 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
diff --git a/fs/squashfs/fragment.c b/fs/squashfs/fragment.c index 0681feab4a84..49602b9a42e1 100644 --- a/fs/squashfs/fragment.c +++ b/fs/squashfs/fragment.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * fragment.c | 8 | * fragment.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/id.c b/fs/squashfs/id.c index d38ea3dab951..6be5afe7287d 100644 --- a/fs/squashfs/id.c +++ b/fs/squashfs/id.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * id.c | 8 | * id.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/inode.c b/fs/squashfs/inode.c index e9793b1e49a5..24463145b351 100644 --- a/fs/squashfs/inode.c +++ b/fs/squashfs/inode.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * inode.c | 8 | * inode.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/lz4_wrapper.c b/fs/squashfs/lz4_wrapper.c index 95da65366548..c4e47e0588c7 100644 --- a/fs/squashfs/lz4_wrapper.c +++ b/fs/squashfs/lz4_wrapper.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013, 2014 | 3 | * Copyright (c) 2013, 2014 |
3 | * Phillip Lougher <phillip@squashfs.org.uk> | 4 | * Phillip Lougher <phillip@squashfs.org.uk> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | 6 | ||
9 | #include <linux/buffer_head.h> | 7 | #include <linux/buffer_head.h> |
diff --git a/fs/squashfs/lzo_wrapper.c b/fs/squashfs/lzo_wrapper.c index 934c17e96590..aa3c3dafc33d 100644 --- a/fs/squashfs/lzo_wrapper.c +++ b/fs/squashfs/lzo_wrapper.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2010 LG Electronics | 5 | * Copyright (c) 2010 LG Electronics |
5 | * Chan Jeong <chan.jeong@lge.com> | 6 | * Chan Jeong <chan.jeong@lge.com> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * lzo_wrapper.c | 8 | * lzo_wrapper.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/namei.c b/fs/squashfs/namei.c index 40c10d9974c9..11e4539b9eae 100644 --- a/fs/squashfs/namei.c +++ b/fs/squashfs/namei.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * namei.c | 8 | * namei.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/page_actor.c b/fs/squashfs/page_actor.c index 9b7b1b6a7892..520d323a99ce 100644 --- a/fs/squashfs/page_actor.c +++ b/fs/squashfs/page_actor.c | |||
@@ -1,9 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2013 | 3 | * Copyright (c) 2013 |
3 | * Phillip Lougher <phillip@squashfs.org.uk> | 4 | * Phillip Lougher <phillip@squashfs.org.uk> |
4 | * | ||
5 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
6 | * the COPYING file in the top-level directory. | ||
7 | */ | 5 | */ |
8 | 6 | ||
9 | #include <linux/kernel.h> | 7 | #include <linux/kernel.h> |
diff --git a/fs/squashfs/page_actor.h b/fs/squashfs/page_actor.h index 98537eab27e2..2e3073ace009 100644 --- a/fs/squashfs/page_actor.h +++ b/fs/squashfs/page_actor.h | |||
@@ -1,11 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | #ifndef PAGE_ACTOR_H | 2 | #ifndef PAGE_ACTOR_H |
2 | #define PAGE_ACTOR_H | 3 | #define PAGE_ACTOR_H |
3 | /* | 4 | /* |
4 | * Copyright (c) 2013 | 5 | * Copyright (c) 2013 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | ||
7 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
8 | * the COPYING file in the top-level directory. | ||
9 | */ | 7 | */ |
10 | 8 | ||
11 | #ifndef CONFIG_SQUASHFS_FILE_DIRECT | 9 | #ifndef CONFIG_SQUASHFS_FILE_DIRECT |
diff --git a/fs/squashfs/squashfs.h b/fs/squashfs/squashfs.h index f89f8a74c6ce..2797763ed046 100644 --- a/fs/squashfs/squashfs.h +++ b/fs/squashfs/squashfs.h | |||
@@ -1,23 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * squashfs.h | 8 | * squashfs.h |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/squashfs_fs.h b/fs/squashfs/squashfs_fs.h index 4e6853f084d0..7187bd1a30ea 100644 --- a/fs/squashfs/squashfs_fs.h +++ b/fs/squashfs/squashfs_fs.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | #ifndef SQUASHFS_FS | 2 | #ifndef SQUASHFS_FS |
2 | #define SQUASHFS_FS | 3 | #define SQUASHFS_FS |
3 | /* | 4 | /* |
@@ -6,20 +7,6 @@ | |||
6 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 7 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
7 | * Phillip Lougher <phillip@squashfs.org.uk> | 8 | * Phillip Lougher <phillip@squashfs.org.uk> |
8 | * | 9 | * |
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version 2, | ||
12 | * or (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
22 | * | ||
23 | * squashfs_fs.h | 10 | * squashfs_fs.h |
24 | */ | 11 | */ |
25 | 12 | ||
diff --git a/fs/squashfs/squashfs_fs_i.h b/fs/squashfs/squashfs_fs_i.h index d09fcd6fb85d..2c82d6f2a456 100644 --- a/fs/squashfs/squashfs_fs_i.h +++ b/fs/squashfs/squashfs_fs_i.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | #ifndef SQUASHFS_FS_I | 2 | #ifndef SQUASHFS_FS_I |
2 | #define SQUASHFS_FS_I | 3 | #define SQUASHFS_FS_I |
3 | /* | 4 | /* |
@@ -6,20 +7,6 @@ | |||
6 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 7 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
7 | * Phillip Lougher <phillip@squashfs.org.uk> | 8 | * Phillip Lougher <phillip@squashfs.org.uk> |
8 | * | 9 | * |
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version 2, | ||
12 | * or (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
22 | * | ||
23 | * squashfs_fs_i.h | 10 | * squashfs_fs_i.h |
24 | */ | 11 | */ |
25 | 12 | ||
diff --git a/fs/squashfs/squashfs_fs_sb.h b/fs/squashfs/squashfs_fs_sb.h index ef69c31947bf..34c21ffb6df3 100644 --- a/fs/squashfs/squashfs_fs_sb.h +++ b/fs/squashfs/squashfs_fs_sb.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | #ifndef SQUASHFS_FS_SB | 2 | #ifndef SQUASHFS_FS_SB |
2 | #define SQUASHFS_FS_SB | 3 | #define SQUASHFS_FS_SB |
3 | /* | 4 | /* |
@@ -6,20 +7,6 @@ | |||
6 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 7 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
7 | * Phillip Lougher <phillip@squashfs.org.uk> | 8 | * Phillip Lougher <phillip@squashfs.org.uk> |
8 | * | 9 | * |
9 | * This program is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License | ||
11 | * as published by the Free Software Foundation; either version 2, | ||
12 | * or (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
22 | * | ||
23 | * squashfs_fs_sb.h | 10 | * squashfs_fs_sb.h |
24 | */ | 11 | */ |
25 | 12 | ||
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index 767046d9f65d..effa638d6d85 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * super.c | 8 | * super.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/symlink.c b/fs/squashfs/symlink.c index befeba0fa70a..1430613183e6 100644 --- a/fs/squashfs/symlink.c +++ b/fs/squashfs/symlink.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * symlink.c | 8 | * symlink.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/xattr.c b/fs/squashfs/xattr.c index 1548b3784548..e1e3f3dd5a06 100644 --- a/fs/squashfs/xattr.c +++ b/fs/squashfs/xattr.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2010 | 5 | * Copyright (c) 2010 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * xattr.c | 8 | * xattr.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/xattr.h b/fs/squashfs/xattr.h index afe70f815e3d..184129afd456 100644 --- a/fs/squashfs/xattr.h +++ b/fs/squashfs/xattr.h | |||
@@ -1,23 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2010 | 5 | * Copyright (c) 2010 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * xattr.h | 8 | * xattr.h |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/xattr_id.c b/fs/squashfs/xattr_id.c index c89607d690c4..d99e08464554 100644 --- a/fs/squashfs/xattr_id.c +++ b/fs/squashfs/xattr_id.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2010 | 5 | * Copyright (c) 2010 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * xattr_id.c | 8 | * xattr_id.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/xz_wrapper.c b/fs/squashfs/xz_wrapper.c index 6bfaef73d065..4b2f2051a6dc 100644 --- a/fs/squashfs/xz_wrapper.c +++ b/fs/squashfs/xz_wrapper.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * xz_wrapper.c | 8 | * xz_wrapper.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/zlib_wrapper.c b/fs/squashfs/zlib_wrapper.c index 2ec24d128bce..f2226afa1625 100644 --- a/fs/squashfs/zlib_wrapper.c +++ b/fs/squashfs/zlib_wrapper.c | |||
@@ -1,23 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 5 | * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
5 | * Phillip Lougher <phillip@squashfs.org.uk> | 6 | * Phillip Lougher <phillip@squashfs.org.uk> |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
20 | * | ||
21 | * zlib_wrapper.c | 8 | * zlib_wrapper.c |
22 | */ | 9 | */ |
23 | 10 | ||
diff --git a/fs/squashfs/zstd_wrapper.c b/fs/squashfs/zstd_wrapper.c index eeaabf881159..b448c2a1d0ed 100644 --- a/fs/squashfs/zstd_wrapper.c +++ b/fs/squashfs/zstd_wrapper.c | |||
@@ -1,19 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
1 | /* | 2 | /* |
2 | * Squashfs - a compressed read only filesystem for Linux | 3 | * Squashfs - a compressed read only filesystem for Linux |
3 | * | 4 | * |
4 | * Copyright (c) 2016-present, Facebook, Inc. | 5 | * Copyright (c) 2016-present, Facebook, Inc. |
5 | * All rights reserved. | 6 | * All rights reserved. |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License | ||
9 | * as published by the Free Software Foundation; either version 2, | ||
10 | * or (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * zstd_wrapper.c | 8 | * zstd_wrapper.c |
18 | */ | 9 | */ |
19 | 10 | ||
diff --git a/fs/stack.c b/fs/stack.c index 664ed35558bd..4ef2c056269d 100644 --- a/fs/stack.c +++ b/fs/stack.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | #include <linux/export.h> | 2 | #include <linux/export.h> |
2 | #include <linux/fs.h> | 3 | #include <linux/fs.h> |
3 | #include <linux/fs_stack.h> | 4 | #include <linux/fs_stack.h> |
diff --git a/fs/sysfs/Kconfig b/fs/sysfs/Kconfig index b2756014508c..b0fe1cce33a0 100644 --- a/fs/sysfs/Kconfig +++ b/fs/sysfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config SYSFS | 2 | config SYSFS |
2 | bool "sysfs file system support" if EXPERT | 3 | bool "sysfs file system support" if EXPERT |
3 | default y | 4 | default y |
diff --git a/fs/sysfs/Makefile b/fs/sysfs/Makefile index 6eff6e1205a5..0906b9e522fe 100644 --- a/fs/sysfs/Makefile +++ b/fs/sysfs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the sysfs virtual filesystem | 3 | # Makefile for the sysfs virtual filesystem |
3 | # | 4 | # |
diff --git a/fs/sysv/Kconfig b/fs/sysv/Kconfig index 33aeb4b75db1..d4edf7d9ae10 100644 --- a/fs/sysv/Kconfig +++ b/fs/sysv/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config SYSV_FS | 2 | config SYSV_FS |
2 | tristate "System V/Xenix/V7/Coherent file system support" | 3 | tristate "System V/Xenix/V7/Coherent file system support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/sysv/Makefile b/fs/sysv/Makefile index 7a75e70a4b61..17d12ba04b18 100644 --- a/fs/sysv/Makefile +++ b/fs/sysv/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux SystemV/Coherent filesystem routines. | 3 | # Makefile for the Linux SystemV/Coherent filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/sysv/super.c b/fs/sysv/super.c index d3b2f54d6449..d788b1daa7eb 100644 --- a/fs/sysv/super.c +++ b/fs/sysv/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/sysv/inode.c | 3 | * linux/fs/sysv/inode.c |
3 | * | 4 | * |
diff --git a/fs/tracefs/Makefile b/fs/tracefs/Makefile index 82fa35b656c4..7c35a282b484 100644 --- a/fs/tracefs/Makefile +++ b/fs/tracefs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | tracefs-objs := inode.o | 2 | tracefs-objs := inode.o |
2 | 3 | ||
3 | obj-$(CONFIG_TRACING) += tracefs.o | 4 | obj-$(CONFIG_TRACING) += tracefs.o |
diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c index 7098c49f3693..a5bab190a297 100644 --- a/fs/tracefs/inode.c +++ b/fs/tracefs/inode.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * inode.c - part of tracefs, a pseudo file system for activating tracing | 3 | * inode.c - part of tracefs, a pseudo file system for activating tracing |
3 | * | 4 | * |
@@ -5,12 +6,7 @@ | |||
5 | * | 6 | * |
6 | * Copyright (C) 2014 Red Hat Inc, author: Steven Rostedt <srostedt@redhat.com> | 7 | * Copyright (C) 2014 Red Hat Inc, author: Steven Rostedt <srostedt@redhat.com> |
7 | * | 8 | * |
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License version | ||
10 | * 2 as published by the Free Software Foundation. | ||
11 | * | ||
12 | * tracefs is the file system that is used by the tracing infrastructure. | 9 | * tracefs is the file system that is used by the tracing infrastructure. |
13 | * | ||
14 | */ | 10 | */ |
15 | 11 | ||
16 | #include <linux/module.h> | 12 | #include <linux/module.h> |
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig index 9da2f135121b..06c35c64162b 100644 --- a/fs/ubifs/Kconfig +++ b/fs/ubifs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config UBIFS_FS | 2 | config UBIFS_FS |
2 | tristate "UBIFS file system support" | 3 | tristate "UBIFS file system support" |
3 | select CRC16 | 4 | select CRC16 |
diff --git a/fs/ubifs/budget.c b/fs/ubifs/budget.c index 7ef22baf9d15..80d7301ab76d 100644 --- a/fs/ubifs/budget.c +++ b/fs/ubifs/budget.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/commit.c b/fs/ubifs/commit.c index 591f2c7a48f0..ad292c5a43a9 100644 --- a/fs/ubifs/commit.c +++ b/fs/ubifs/commit.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/compress.c b/fs/ubifs/compress.c index 565cb56d7225..99c53ad11e93 100644 --- a/fs/ubifs/compress.c +++ b/fs/ubifs/compress.c | |||
@@ -1,22 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * Copyright (C) 2006, 2007 University of Szeged, Hungary | 6 | * Copyright (C) 2006, 2007 University of Szeged, Hungary |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License version 2 as published by | ||
9 | * the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along with | ||
17 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
18 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | * | ||
20 | * Authors: Adrian Hunter | 8 | * Authors: Adrian Hunter |
21 | * Artem Bityutskiy (Битюцкий Артём) | 9 | * Artem Bityutskiy (Битюцкий Артём) |
22 | * Zoltan Sogor | 10 | * Zoltan Sogor |
diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c index 3a2613038e88..138c5b07d803 100644 --- a/fs/ubifs/debug.c +++ b/fs/ubifs/debug.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation | 5 | * Copyright (C) 2006-2008 Nokia Corporation |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/debug.h b/fs/ubifs/debug.h index 64c6977c189b..eb26097b6f70 100644 --- a/fs/ubifs/debug.h +++ b/fs/ubifs/debug.h | |||
@@ -1,21 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c index 1a379b596b0d..0b98e3c8b461 100644 --- a/fs/ubifs/dir.c +++ b/fs/ubifs/dir.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* * This file is part of UBIFS. | 2 | /* * This file is part of UBIFS. |
2 | * | 3 | * |
3 | * Copyright (C) 2006-2008 Nokia Corporation. | 4 | * Copyright (C) 2006-2008 Nokia Corporation. |
4 | * Copyright (C) 2006, 2007 University of Szeged, Hungary | 5 | * Copyright (C) 2006, 2007 University of Szeged, Hungary |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | * Zoltan Sogor | 9 | * Zoltan Sogor |
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index 512e7d9c60cd..e5f8de62fc51 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/find.c b/fs/ubifs/find.c index 5deaae7fcead..873e6e1c92b5 100644 --- a/fs/ubifs/find.c +++ b/fs/ubifs/find.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/gc.c b/fs/ubifs/gc.c index bf75fdc76fc3..62cb3db44e6e 100644 --- a/fs/ubifs/gc.c +++ b/fs/ubifs/gc.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c index d124117efd42..8ceb51478800 100644 --- a/fs/ubifs/io.c +++ b/fs/ubifs/io.c | |||
@@ -1,22 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * Copyright (C) 2006, 2007 University of Szeged, Hungary | 6 | * Copyright (C) 2006, 2007 University of Szeged, Hungary |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License version 2 as published by | ||
9 | * the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along with | ||
17 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
18 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | * | ||
20 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 8 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
21 | * Adrian Hunter | 9 | * Adrian Hunter |
22 | * Zoltan Sogor | 10 | * Zoltan Sogor |
diff --git a/fs/ubifs/ioctl.c b/fs/ubifs/ioctl.c index 6b05b3ec500e..4f1a397fda69 100644 --- a/fs/ubifs/ioctl.c +++ b/fs/ubifs/ioctl.c | |||
@@ -1,22 +1,10 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * Copyright (C) 2006, 2007 University of Szeged, Hungary | 6 | * Copyright (C) 2006, 2007 University of Szeged, Hungary |
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License version 2 as published by | ||
9 | * the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along with | ||
17 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
18 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | * | ||
20 | * Authors: Zoltan Sogor | 8 | * Authors: Zoltan Sogor |
21 | * Artem Bityutskiy (Битюцкий Артём) | 9 | * Artem Bityutskiy (Битюцкий Артём) |
22 | * Adrian Hunter | 10 | * Adrian Hunter |
diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c index 74a7306978d0..4fd9683b8245 100644 --- a/fs/ubifs/journal.c +++ b/fs/ubifs/journal.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/key.h b/fs/ubifs/key.h index 2feff6cbbb77..afa704ff5ca0 100644 --- a/fs/ubifs/key.h +++ b/fs/ubifs/key.h | |||
@@ -1,21 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/log.c b/fs/ubifs/log.c index 15fd854149bb..cd85d7d4c515 100644 --- a/fs/ubifs/log.c +++ b/fs/ubifs/log.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/lprops.c b/fs/ubifs/lprops.c index fa8d775c9753..29826c51883a 100644 --- a/fs/ubifs/lprops.c +++ b/fs/ubifs/lprops.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/lpt.c b/fs/ubifs/lpt.c index b0c5f06128b5..e21abf250951 100644 --- a/fs/ubifs/lpt.c +++ b/fs/ubifs/lpt.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/lpt_commit.c b/fs/ubifs/lpt_commit.c index 1f88caffdf2a..ff5e0411cf2d 100644 --- a/fs/ubifs/lpt_commit.c +++ b/fs/ubifs/lpt_commit.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/master.c b/fs/ubifs/master.c index 5ea51bbd14c7..b42a768709c0 100644 --- a/fs/ubifs/master.c +++ b/fs/ubifs/master.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/misc.h b/fs/ubifs/misc.h index 78a6e97f846e..c97a4d537d83 100644 --- a/fs/ubifs/misc.h +++ b/fs/ubifs/misc.h | |||
@@ -1,21 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation | 5 | * Copyright (C) 2006-2008 Nokia Corporation |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/orphan.c b/fs/ubifs/orphan.c index 2f1618f300fb..cb72688032cd 100644 --- a/fs/ubifs/orphan.c +++ b/fs/ubifs/orphan.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Author: Adrian Hunter | 7 | * Author: Adrian Hunter |
20 | */ | 8 | */ |
21 | 9 | ||
diff --git a/fs/ubifs/recovery.c b/fs/ubifs/recovery.c index 8526b7ec4707..3fc589881825 100644 --- a/fs/ubifs/recovery.c +++ b/fs/ubifs/recovery.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation | 5 | * Copyright (C) 2006-2008 Nokia Corporation |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/replay.c b/fs/ubifs/replay.c index 5c8a81a019a4..b28ac4dfb407 100644 --- a/fs/ubifs/replay.c +++ b/fs/ubifs/replay.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c index 3ca41965db6e..12c2afdb5804 100644 --- a/fs/ubifs/sb.c +++ b/fs/ubifs/sb.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/scan.c b/fs/ubifs/scan.c index ea88926163f4..c69cdb5e65bc 100644 --- a/fs/ubifs/scan.c +++ b/fs/ubifs/scan.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation | 5 | * Copyright (C) 2006-2008 Nokia Corporation |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/shrinker.c b/fs/ubifs/shrinker.c index 5eb5958723d4..d00a6f20ac7b 100644 --- a/fs/ubifs/shrinker.c +++ b/fs/ubifs/shrinker.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index 04b8ecfd3470..6cfc494050be 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/tnc.c b/fs/ubifs/tnc.c index ebf8c26f5b22..f5a823cb0e43 100644 --- a/fs/ubifs/tnc.c +++ b/fs/ubifs/tnc.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/tnc_commit.c b/fs/ubifs/tnc_commit.c index dbcd2c350b65..a384a0f9ff32 100644 --- a/fs/ubifs/tnc_commit.c +++ b/fs/ubifs/tnc_commit.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/tnc_misc.c b/fs/ubifs/tnc_misc.c index d1815e959007..6f293f662d98 100644 --- a/fs/ubifs/tnc_misc.c +++ b/fs/ubifs/tnc_misc.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Adrian Hunter | 7 | * Authors: Adrian Hunter |
20 | * Artem Bityutskiy (Битюцкий Артём) | 8 | * Artem Bityutskiy (Битюцкий Артём) |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/ubifs-media.h b/fs/ubifs/ubifs-media.h index 8b7c1844014f..86f0f2be116c 100644 --- a/fs/ubifs/ubifs-media.h +++ b/fs/ubifs/ubifs-media.h | |||
@@ -1,21 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h index fd7f39990157..745b23e5b406 100644 --- a/fs/ubifs/ubifs.h +++ b/fs/ubifs/ubifs.h | |||
@@ -1,21 +1,9 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation | 5 | * Copyright (C) 2006-2008 Nokia Corporation |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/ubifs/xattr.c b/fs/ubifs/xattr.c index bcfed27e8997..9aefbb60074f 100644 --- a/fs/ubifs/xattr.c +++ b/fs/ubifs/xattr.c | |||
@@ -1,21 +1,9 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * This file is part of UBIFS. | 3 | * This file is part of UBIFS. |
3 | * | 4 | * |
4 | * Copyright (C) 2006-2008 Nokia Corporation. | 5 | * Copyright (C) 2006-2008 Nokia Corporation. |
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License version 2 as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program; if not, write to the Free Software Foundation, Inc., 51 | ||
17 | * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
18 | * | ||
19 | * Authors: Artem Bityutskiy (Битюцкий Артём) | 7 | * Authors: Artem Bityutskiy (Битюцкий Артём) |
20 | * Adrian Hunter | 8 | * Adrian Hunter |
21 | */ | 9 | */ |
diff --git a/fs/udf/Kconfig b/fs/udf/Kconfig index aa415054ad0a..6848de581ce1 100644 --- a/fs/udf/Kconfig +++ b/fs/udf/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config UDF_FS | 2 | config UDF_FS |
2 | tristate "UDF file system support" | 3 | tristate "UDF file system support" |
3 | select CRC_ITU_T | 4 | select CRC_ITU_T |
diff --git a/fs/udf/Makefile b/fs/udf/Makefile index eb880f66c23a..63981cd333e3 100644 --- a/fs/udf/Makefile +++ b/fs/udf/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the linux udf-filesystem routines. | 3 | # Makefile for the linux udf-filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/ufs/Kconfig b/fs/ufs/Kconfig index 0bf6e16f8d79..fcb41516ea59 100644 --- a/fs/ufs/Kconfig +++ b/fs/ufs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config UFS_FS | 2 | config UFS_FS |
2 | tristate "UFS file system support (read only)" | 3 | tristate "UFS file system support (read only)" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/ufs/Makefile b/fs/ufs/Makefile index ec4a6b49fa13..042344c85be0 100644 --- a/fs/ufs/Makefile +++ b/fs/ufs/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # Makefile for the Linux ufs filesystem routines. | 3 | # Makefile for the Linux ufs filesystem routines. |
3 | # | 4 | # |
diff --git a/fs/ufs/super.c b/fs/ufs/super.c index 84c0c5178cd2..3d247c0d92aa 100644 --- a/fs/ufs/super.c +++ b/fs/ufs/super.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * linux/fs/ufs/super.c | 3 | * linux/fs/ufs/super.c |
3 | * | 4 | * |
diff --git a/fs/unicode/Kconfig b/fs/unicode/Kconfig index b560a879edf7..2c27b9a5cd6c 100644 --- a/fs/unicode/Kconfig +++ b/fs/unicode/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | # | 2 | # |
2 | # UTF-8 normalization | 3 | # UTF-8 normalization |
3 | # | 4 | # |
diff --git a/fs/unicode/utf8-norm.c b/fs/unicode/utf8-norm.c index 801ed6d2ea37..1d2d2e5b906a 100644 --- a/fs/unicode/utf8-norm.c +++ b/fs/unicode/utf8-norm.c | |||
@@ -1,16 +1,7 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2014 SGI. | 3 | * Copyright (c) 2014 SGI. |
3 | * All rights reserved. | 4 | * All rights reserved. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it would be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | */ | 5 | */ |
15 | 6 | ||
16 | #include "utf8n.h" | 7 | #include "utf8n.h" |
diff --git a/fs/unicode/utf8-selftest.c b/fs/unicode/utf8-selftest.c index 80752013fce0..6c1a36bbf6ad 100644 --- a/fs/unicode/utf8-selftest.c +++ b/fs/unicode/utf8-selftest.c | |||
@@ -1,16 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Kernel module for testing utf-8 support. | 3 | * Kernel module for testing utf-8 support. |
3 | * | 4 | * |
4 | * Copyright 2017 Collabora Ltd. | 5 | * Copyright 2017 Collabora Ltd. |
5 | * | ||
6 | * This software is licensed under the terms of the GNU General Public | ||
7 | * License version 2, as published by the Free Software Foundation, and | ||
8 | * may be copied, distributed, and modified under those terms. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | */ | 6 | */ |
15 | 7 | ||
16 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | 8 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
diff --git a/fs/unicode/utf8n.h b/fs/unicode/utf8n.h index a120638014c1..0acd530c2c79 100644 --- a/fs/unicode/utf8n.h +++ b/fs/unicode/utf8n.h | |||
@@ -1,16 +1,7 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0-only */ | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2014 SGI. | 3 | * Copyright (c) 2014 SGI. |
3 | * All rights reserved. | 4 | * All rights reserved. |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it would be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | */ | 5 | */ |
15 | 6 | ||
16 | #ifndef UTF8NORM_H | 7 | #ifndef UTF8NORM_H |
diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index 3b30301c90ec..ae0b8b5f69e6 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * fs/userfaultfd.c | 3 | * fs/userfaultfd.c |
3 | * | 4 | * |
@@ -5,9 +6,6 @@ | |||
5 | * Copyright (C) 2008-2009 Red Hat, Inc. | 6 | * Copyright (C) 2008-2009 Red Hat, Inc. |
6 | * Copyright (C) 2015 Red Hat, Inc. | 7 | * Copyright (C) 2015 Red Hat, Inc. |
7 | * | 8 | * |
8 | * This work is licensed under the terms of the GNU GPL, version 2. See | ||
9 | * the COPYING file in the top-level directory. | ||
10 | * | ||
11 | * Some part derived from fs/eventfd.c (anon inode setup) and | 9 | * Some part derived from fs/eventfd.c (anon inode setup) and |
12 | * mm/ksm.c (mm hashing). | 10 | * mm/ksm.c (mm hashing). |
13 | */ | 11 | */ |
diff --git a/fs/xattr.c b/fs/xattr.c index 0d6a6a4af861..90dd78f0eb27 100644 --- a/fs/xattr.c +++ b/fs/xattr.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | File: fs/xattr.c | 3 | File: fs/xattr.c |
3 | 4 | ||
diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index 99af5e5bda9f..e685299eb3d2 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig | |||
@@ -1,3 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0-only | ||
1 | config XFS_FS | 2 | config XFS_FS |
2 | tristate "XFS filesystem support" | 3 | tristate "XFS filesystem support" |
3 | depends on BLOCK | 4 | depends on BLOCK |
diff --git a/fs/xfs/libxfs/xfs_ialloc_btree.c b/fs/xfs/libxfs/xfs_ialloc_btree.c index 1080381ff243..bc2dfacd2f4a 100644 --- a/fs/xfs/libxfs/xfs_ialloc_btree.c +++ b/fs/xfs/libxfs/xfs_ialloc_btree.c | |||
@@ -549,6 +549,15 @@ xfs_inobt_max_size( | |||
549 | if (mp->m_inobt_mxr[0] == 0) | 549 | if (mp->m_inobt_mxr[0] == 0) |
550 | return 0; | 550 | return 0; |
551 | 551 | ||
552 | /* | ||
553 | * The log is permanently allocated, so the space it occupies will | ||
554 | * never be available for the kinds of things that would require btree | ||
555 | * expansion. We therefore can pretend the space isn't there. | ||
556 | */ | ||
557 | if (mp->m_sb.sb_logstart && | ||
558 | XFS_FSB_TO_AGNO(mp, mp->m_sb.sb_logstart) == agno) | ||
559 | agblocks -= mp->m_sb.sb_logblocks; | ||
560 | |||
552 | return xfs_btree_calc_size(mp->m_inobt_mnr, | 561 | return xfs_btree_calc_size(mp->m_inobt_mnr, |
553 | (uint64_t)agblocks * mp->m_sb.sb_inopblock / | 562 | (uint64_t)agblocks * mp->m_sb.sb_inopblock / |
554 | XFS_INODES_PER_CHUNK); | 563 | XFS_INODES_PER_CHUNK); |
diff --git a/fs/xfs/libxfs/xfs_refcount_btree.c b/fs/xfs/libxfs/xfs_refcount_btree.c index 6f47ab876d90..5d9de9b21726 100644 --- a/fs/xfs/libxfs/xfs_refcount_btree.c +++ b/fs/xfs/libxfs/xfs_refcount_btree.c | |||
@@ -427,6 +427,15 @@ xfs_refcountbt_calc_reserves( | |||
427 | tree_len = be32_to_cpu(agf->agf_refcount_blocks); | 427 | tree_len = be32_to_cpu(agf->agf_refcount_blocks); |
428 | xfs_trans_brelse(tp, agbp); | 428 | xfs_trans_brelse(tp, agbp); |
429 | 429 | ||
430 | /* | ||
431 | * The log is permanently allocated, so the space it occupies will | ||
432 | * never be available for the kinds of things that would require btree | ||
433 | * expansion. We therefore can pretend the space isn't there. | ||
434 | */ | ||
435 | if (mp->m_sb.sb_logstart && | ||
436 | XFS_FSB_TO_AGNO(mp, mp->m_sb.sb_logstart) == agno) | ||
437 | agblocks -= mp->m_sb.sb_logblocks; | ||
438 | |||
430 | *ask += xfs_refcountbt_max_size(mp, agblocks); | 439 | *ask += xfs_refcountbt_max_size(mp, agblocks); |
431 | *used += tree_len; | 440 | *used += tree_len; |
432 | 441 | ||
diff --git a/fs/xfs/libxfs/xfs_rmap_btree.c b/fs/xfs/libxfs/xfs_rmap_btree.c index 5738e11055e6..5d1f8884c888 100644 --- a/fs/xfs/libxfs/xfs_rmap_btree.c +++ b/fs/xfs/libxfs/xfs_rmap_btree.c | |||
@@ -578,6 +578,15 @@ xfs_rmapbt_calc_reserves( | |||
578 | tree_len = be32_to_cpu(agf->agf_rmap_blocks); | 578 | tree_len = be32_to_cpu(agf->agf_rmap_blocks); |
579 | xfs_trans_brelse(tp, agbp); | 579 | xfs_trans_brelse(tp, agbp); |
580 | 580 | ||
581 | /* | ||
582 | * The log is permanently allocated, so the space it occupies will | ||
583 | * never be available for the kinds of things that would require btree | ||
584 | * expansion. We therefore can pretend the space isn't there. | ||
585 | */ | ||
586 | if (mp->m_sb.sb_logstart && | ||
587 | XFS_FSB_TO_AGNO(mp, mp->m_sb.sb_logstart) == agno) | ||
588 | agblocks -= mp->m_sb.sb_logblocks; | ||
589 | |||
581 | /* Reserve 1% of the AG or enough for 1 block per record. */ | 590 | /* Reserve 1% of the AG or enough for 1 block per record. */ |
582 | *ask += max(agblocks / 100, xfs_rmapbt_max_size(mp, agblocks)); | 591 | *ask += max(agblocks / 100, xfs_rmapbt_max_size(mp, agblocks)); |
583 | *used += tree_len; | 592 | *used += tree_len; |
diff --git a/fs/xfs/scrub/ialloc.c b/fs/xfs/scrub/ialloc.c index 693eb51f5efb..9b47117180cb 100644 --- a/fs/xfs/scrub/ialloc.c +++ b/fs/xfs/scrub/ialloc.c | |||
@@ -252,7 +252,8 @@ xchk_iallocbt_check_cluster( | |||
252 | ir_holemask = (irec->ir_holemask & cluster_mask); | 252 | ir_holemask = (irec->ir_holemask & cluster_mask); |
253 | imap.im_blkno = XFS_AGB_TO_DADDR(mp, agno, agbno); | 253 | imap.im_blkno = XFS_AGB_TO_DADDR(mp, agno, agbno); |
254 | imap.im_len = XFS_FSB_TO_BB(mp, mp->m_blocks_per_cluster); | 254 | imap.im_len = XFS_FSB_TO_BB(mp, mp->m_blocks_per_cluster); |
255 | imap.im_boffset = XFS_INO_TO_OFFSET(mp, irec->ir_startino); | 255 | imap.im_boffset = XFS_INO_TO_OFFSET(mp, irec->ir_startino) << |
256 | mp->m_sb.sb_inodelog; | ||
256 | 257 | ||
257 | if (imap.im_boffset != 0 && cluster_base != 0) { | 258 | if (imap.im_boffset != 0 && cluster_base != 0) { |
258 | ASSERT(imap.im_boffset == 0 || cluster_base == 0); | 259 | ASSERT(imap.im_boffset == 0 || cluster_base == 0); |
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index a6f0f4761a37..8da5e6637771 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c | |||
@@ -758,6 +758,7 @@ xfs_add_to_ioend( | |||
758 | struct block_device *bdev = xfs_find_bdev_for_inode(inode); | 758 | struct block_device *bdev = xfs_find_bdev_for_inode(inode); |
759 | unsigned len = i_blocksize(inode); | 759 | unsigned len = i_blocksize(inode); |
760 | unsigned poff = offset & (PAGE_SIZE - 1); | 760 | unsigned poff = offset & (PAGE_SIZE - 1); |
761 | bool merged, same_page = false; | ||
761 | sector_t sector; | 762 | sector_t sector; |
762 | 763 | ||
763 | sector = xfs_fsb_to_db(ip, wpc->imap.br_startblock) + | 764 | sector = xfs_fsb_to_db(ip, wpc->imap.br_startblock) + |
@@ -774,9 +775,13 @@ xfs_add_to_ioend( | |||
774 | wpc->imap.br_state, offset, bdev, sector); | 775 | wpc->imap.br_state, offset, bdev, sector); |
775 | } | 776 | } |
776 | 777 | ||
777 | if (!__bio_try_merge_page(wpc->ioend->io_bio, page, len, poff, true)) { | 778 | merged = __bio_try_merge_page(wpc->ioend->io_bio, page, len, poff, |
778 | if (iop) | 779 | &same_page); |
779 | atomic_inc(&iop->write_count); | 780 | |
781 | if (iop && !same_page) | ||
782 | atomic_inc(&iop->write_count); | ||
783 | |||
784 | if (!merged) { | ||
780 | if (bio_full(wpc->ioend->io_bio)) | 785 | if (bio_full(wpc->ioend->io_bio)) |
781 | xfs_chain_bio(wpc->ioend, wbc, bdev, sector); | 786 | xfs_chain_bio(wpc->ioend, wbc, bdev, sector); |
782 | bio_add_page(wpc->ioend->io_bio, page, len, poff); | 787 | bio_add_page(wpc->ioend->io_bio, page, len, poff); |
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 457ced3ee3e1..2466b0f5b6c4 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c | |||
@@ -2069,7 +2069,7 @@ xlog_print_tic_res( | |||
2069 | 2069 | ||
2070 | /* match with XLOG_REG_TYPE_* in xfs_log.h */ | 2070 | /* match with XLOG_REG_TYPE_* in xfs_log.h */ |
2071 | #define REG_TYPE_STR(type, str) [XLOG_REG_TYPE_##type] = str | 2071 | #define REG_TYPE_STR(type, str) [XLOG_REG_TYPE_##type] = str |
2072 | static char *res_type_str[XLOG_REG_TYPE_MAX + 1] = { | 2072 | static char *res_type_str[] = { |
2073 | REG_TYPE_STR(BFORMAT, "bformat"), | 2073 | REG_TYPE_STR(BFORMAT, "bformat"), |
2074 | REG_TYPE_STR(BCHUNK, "bchunk"), | 2074 | REG_TYPE_STR(BCHUNK, "bchunk"), |
2075 | REG_TYPE_STR(EFI_FORMAT, "efi_format"), | 2075 | REG_TYPE_STR(EFI_FORMAT, "efi_format"), |
@@ -2089,8 +2089,15 @@ xlog_print_tic_res( | |||
2089 | REG_TYPE_STR(UNMOUNT, "unmount"), | 2089 | REG_TYPE_STR(UNMOUNT, "unmount"), |
2090 | REG_TYPE_STR(COMMIT, "commit"), | 2090 | REG_TYPE_STR(COMMIT, "commit"), |
2091 | REG_TYPE_STR(TRANSHDR, "trans header"), | 2091 | REG_TYPE_STR(TRANSHDR, "trans header"), |
2092 | REG_TYPE_STR(ICREATE, "inode create") | 2092 | REG_TYPE_STR(ICREATE, "inode create"), |
2093 | REG_TYPE_STR(RUI_FORMAT, "rui_format"), | ||
2094 | REG_TYPE_STR(RUD_FORMAT, "rud_format"), | ||
2095 | REG_TYPE_STR(CUI_FORMAT, "cui_format"), | ||
2096 | REG_TYPE_STR(CUD_FORMAT, "cud_format"), | ||
2097 | REG_TYPE_STR(BUI_FORMAT, "bui_format"), | ||
2098 | REG_TYPE_STR(BUD_FORMAT, "bud_format"), | ||
2093 | }; | 2099 | }; |
2100 | BUILD_BUG_ON(ARRAY_SIZE(res_type_str) != XLOG_REG_TYPE_MAX + 1); | ||
2094 | #undef REG_TYPE_STR | 2101 | #undef REG_TYPE_STR |
2095 | 2102 | ||
2096 | xfs_warn(mp, "ticket reservation summary:"); | 2103 | xfs_warn(mp, "ticket reservation summary:"); |