Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.6.0
    • Lustre 2.5.0, Lustre 2.6.0
    • None
    • 10608

    Description

      Tracker for 3.11 kernel support

      As fc19 just recently updated their kernel from 3.10 to 3.11 we will need to support the 3.11 kernel soon.

      Attachments

        Issue Links

          Activity

            [LU-3974] Support for linux 3.11 kernel

            All patches have landed. This ticket can be closed.

            simmonsja James A Simmons added a comment - All patches have landed. This ticket can be closed.

            Two patches left to inspect and possibly merge.

            http://review.whamcloud.com/#/c/7746
            http://review.whamcloud.com/#/c/7729

            simmonsja James A Simmons added a comment - Two patches left to inspect and possibly merge. http://review.whamcloud.com/#/c/7746 http://review.whamcloud.com/#/c/7729

            Finally got patch 7746 to pass maloo. Patch http://review.whamcloud.com/#/c/7746 is ready for inspection and possible landing.

            simmonsja James A Simmons added a comment - Finally got patch 7746 to pass maloo. Patch http://review.whamcloud.com/#/c/7746 is ready for inspection and possible landing.

            http://review.whamcloud.com/#/c/7746 is ready for review and possible merger.

            simmonsja James A Simmons added a comment - http://review.whamcloud.com/#/c/7746 is ready for review and possible merger.
            simmonsja James A Simmons added a comment - Patches needed to support 3.11 kernel are: http://review.whamcloud.com/#/c/7741 http://review.whamcloud.com/#/c/7746 http://review.whamcloud.com/#/c/7747 http://review.whamcloud.com/#/c/7729 These patches are ready for review and merger.

            Excellent news. I have built a real file system this time using a 3.11.1 kernel on all the servers. Now to mount it on our cray test bed and run a bunch of jobs on it.

            simmonsja James A Simmons added a comment - Excellent news. I have built a real file system this time using a 3.11.1 kernel on all the servers. Now to mount it on our cray test bed and run a bunch of jobs on it.

            Note that Yang Sheng gas ldiskfs patches for 3.11 in http://review.whamcloud.com/7263

            adilger Andreas Dilger added a comment - Note that Yang Sheng gas ldiskfs patches for 3.11 in http://review.whamcloud.com/7263

            With these patches plus the patches listed in LU-3675 I have managed to get ZFS working on a 3.11.2 kernel. Now onto ldiskfs support.

            [root@spoon46 tests]# df
            Filesystem 1K-blocks Used Available Use% Mounted on
            unionfs 88763392 63498240 20757504 76% /
            none 100 0 100 0% /dev/shm
            none 2957124 19668 2937456 1% /tmp
            172.30.248.91:/chexport
            46445568 32107520 11978752 73% /chexport
            lustre-mdt1/mdt1 157440 3072 152320 2% /tmp/lustre/mds1
            lustre-ost1/ost1 157440 1152 154240 1% /tmp/lustre/ost1
            lustre-ost2/ost2 157440 1152 154240 1% /tmp/lustre/ost2
            10.37.248.48@o2ib1:/lustre
            314880 2304 308480 1% /lustre/barry
            [root@spoon46 tests]# uname -r
            3.11.1

            simmonsja James A Simmons added a comment - With these patches plus the patches listed in LU-3675 I have managed to get ZFS working on a 3.11.2 kernel. Now onto ldiskfs support. [root@spoon46 tests] # df Filesystem 1K-blocks Used Available Use% Mounted on unionfs 88763392 63498240 20757504 76% / none 100 0 100 0% /dev/shm none 2957124 19668 2937456 1% /tmp 172.30.248.91:/chexport 46445568 32107520 11978752 73% /chexport lustre-mdt1/mdt1 157440 3072 152320 2% /tmp/lustre/mds1 lustre-ost1/ost1 157440 1152 154240 1% /tmp/lustre/ost1 lustre-ost2/ost2 157440 1152 154240 1% /tmp/lustre/ost2 10.37.248.48@o2ib1:/lustre 314880 2304 308480 1% /lustre/barry [root@spoon46 tests] # uname -r 3.11.1

            Patches needed to support 3.11 kernel are:

            http://review.whamcloud.com/#/c/7741
            http://review.whamcloud.com/#/c/7746
            http://review.whamcloud.com/#/c/7747
            http://review.whamcloud.com/#/c/7729

            Now that we have support for server side my testing for ldiskfs also shows we need to update osd_handler.c due the readdir -> iterate changes. We have

            lustre-2.5.50/lustre/osd-ldiskfs/osd_handler.c: In function 'osd_ldiskfs_it_fill':
            lustre-2.5.50/lustre/osd-ldiskfs/osd_handler.c:4695: error: 'const struct file_operations' has no member named 'readdir'

            to be address as well.

            simmonsja James A Simmons added a comment - Patches needed to support 3.11 kernel are: http://review.whamcloud.com/#/c/7741 http://review.whamcloud.com/#/c/7746 http://review.whamcloud.com/#/c/7747 http://review.whamcloud.com/#/c/7729 Now that we have support for server side my testing for ldiskfs also shows we need to update osd_handler.c due the readdir -> iterate changes. We have lustre-2.5.50/lustre/osd-ldiskfs/osd_handler.c: In function 'osd_ldiskfs_it_fill': lustre-2.5.50/lustre/osd-ldiskfs/osd_handler.c:4695: error: 'const struct file_operations' has no member named 'readdir' to be address as well.
            bergwolf Peng Tao added a comment -

            Sorry I mis-read 7747. Jemes' patch looks good. I will submit https://github.com/bergwolf/linux/commit/28fde12d26d7d4b54cb4689dd6117c2ed791f985 once it is merged in upstream kernel.

            bergwolf Peng Tao added a comment - Sorry I mis-read 7747. Jemes' patch looks good. I will submit https://github.com/bergwolf/linux/commit/28fde12d26d7d4b54cb4689dd6117c2ed791f985 once it is merged in upstream kernel.
            bergwolf Peng Tao added a comment - - edited

            James, I took a look at v3.11 upstream kernel, it already requires iterate replacing readdir in struct file_operations, by kernel commit 2233f31aade393641f0eaed43a71110e629bb900

            commit 2233f31aade393641f0eaed43a71110e629bb900
            Author: Al Viro <viro@zeniv.linux.org.uk>
            Date: Wed May 22 21:44:23 2013 -0400

            [readdir] ->readdir() is gone

            everything's converted to ->iterate()

            Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

            diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
            index 0706d32..bdd82b2 100644
            — a/Documentation/filesystems/Locking
            +++ b/Documentation/filesystems/Locking
            @@ -414,7 +414,7 @@ prototypes:
            ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
            ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
            ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);

            • int (*readdir) (struct file *, void *, filldir_t);
              + int (*iterate) (struct file *, struct dir_context *);
              unsigned int (*poll) (struct file *, struct poll_table_struct *);
              long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
              long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
              <snip>

            [mpfssvr@linux-lustre]$git tag --contains 2233f31aade393641f0eaed43a71110e629bb900
            v3.11
            v3.11-rc1
            v3.11-rc2
            v3.11-rc3
            v3.11-rc4
            v3.11-rc5
            v3.11-rc6
            v3.11-rc7
            v3.12-rc1
            v3.12-rc2

            So I think we need a similar patch like https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0b09d381bb2b4ccab15711cf98858a7146b24749 rather than just coping with struct dir_context. In fact, struct dir_context is introduced in the same kernel commit as .iterate. So whenever dir_context is there, .iterate exists. Please check your local tree to see if it somehow missed the commit.

            bergwolf Peng Tao added a comment - - edited James, I took a look at v3.11 upstream kernel, it already requires iterate replacing readdir in struct file_operations, by kernel commit 2233f31aade393641f0eaed43a71110e629bb900 commit 2233f31aade393641f0eaed43a71110e629bb900 Author: Al Viro <viro@zeniv.linux.org.uk> Date: Wed May 22 21:44:23 2013 -0400 [readdir] ->readdir() is gone everything's converted to ->iterate() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 0706d32..bdd82b2 100644 — a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking @@ -414,7 +414,7 @@ prototypes: ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); int (*readdir) (struct file *, void *, filldir_t); + int (*iterate) (struct file *, struct dir_context *); unsigned int (*poll) (struct file *, struct poll_table_struct *); long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); long (*compat_ioctl) (struct file *, unsigned int, unsigned long); <snip> [mpfssvr@linux-lustre] $git tag --contains 2233f31aade393641f0eaed43a71110e629bb900 v3.11 v3.11-rc1 v3.11-rc2 v3.11-rc3 v3.11-rc4 v3.11-rc5 v3.11-rc6 v3.11-rc7 v3.12-rc1 v3.12-rc2 So I think we need a similar patch like https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0b09d381bb2b4ccab15711cf98858a7146b24749 rather than just coping with struct dir_context. In fact, struct dir_context is introduced in the same kernel commit as .iterate. So whenever dir_context is there, .iterate exists. Please check your local tree to see if it somehow missed the commit.

            People

              bogl Bob Glossman (Inactive)
              bogl Bob Glossman (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: