Re: [PATCH v2 00/10] Create NFS modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/02/2012 11:20 AM, Jeff Layton wrote:
> On Mon, 30 Jul 2012 16:05:15 -0400
> bjschuma@xxxxxxxxxx wrote:
> 
>> From: Bryan Schumaker <bjschuma@xxxxxxxxxx>
>>
>> This is the final set of patches to turn NFS into modules.  The first patch
>> creates an "nfs_subversion" structure that will represent a single NFS
>> version.  The next 6 patches are cleanups that the nfs_subversion structure
>> allows us to put in.  Finally, the last 3 patches convert v2, v3 and v4 into
>> kernel modules.
>>
>> Changes in version 2:
>> - Add a patch to keep nfs4 module parameters in the generic client.  Without
>>   this we break backwards compatibility with older kernels.
>>
>> - Bryan
>>
>> Bryan Schumaker (10):
>>   NFS: Add version registering framework
>>   NFS: Remove the NFS v4 xdev mount function
>>   NFS: Create a try_mount rpc op
>>   NFS: Only initialize the ACL client in the v3 case
>>   NFS: Pass super operations and xattr handlers in the nfs_subversion
>>   NFS: Split out remaining NFS v4 inode functions
>>   NFS: Keep module parameters in the generic NFS client
>>   NFS: Convert v2 into a module
>>   NFS: Convert v3 into a module
>>   NFS: Convert v4 into a module
>>
>>  fs/nfs/Kconfig            |   6 +-
>>  fs/nfs/Makefile           |  27 +++----
>>  fs/nfs/callback.c         |  24 ------
>>  fs/nfs/callback.h         |   2 +-
>>  fs/nfs/client.c           | 191 +++++++++++++++++++++++++---------------------
>>  fs/nfs/delegation.h       |   2 +-
>>  fs/nfs/dir.c              |  20 ++++-
>>  fs/nfs/direct.c           |   2 +-
>>  fs/nfs/dns_resolve.c      |   4 +
>>  fs/nfs/file.c             |  15 ++++
>>  fs/nfs/idmap.c            |   3 -
>>  fs/nfs/inode.c            | 105 ++++++++++++-------------
>>  fs/nfs/internal.h         |  38 +++++----
>>  fs/nfs/namespace.c        |  17 +----
>>  fs/nfs/netns.h            |   2 +-
>>  fs/nfs/nfs.h              |  29 +++++++
>>  fs/nfs/nfs2super.c        |  31 ++++++++
>>  fs/nfs/nfs3client.c       |  65 ++++++++++++++++
>>  fs/nfs/nfs3proc.c         |   3 +
>>  fs/nfs/nfs3super.c        |  31 ++++++++
>>  fs/nfs/nfs4_fs.h          |  13 ++--
>>  fs/nfs/nfs4client.c       |  23 ++----
>>  fs/nfs/nfs4proc.c         |   9 +--
>>  fs/nfs/nfs4super.c        | 106 +++++++++++++------------
>>  fs/nfs/nfs4xdr.c          |   6 --
>>  fs/nfs/pagelist.c         |   4 +
>>  fs/nfs/pnfs.c             |   2 +
>>  fs/nfs/proc.c             |   3 +
>>  fs/nfs/read.c             |   5 ++
>>  fs/nfs/super.c            | 172 ++++++++++++++++++++++++++++-------------
>>  fs/nfs/write.c            |  35 +++------
>>  include/linux/nfs_fs.h    |   6 +-
>>  include/linux/nfs_fs_sb.h |   7 +-
>>  include/linux/nfs_idmap.h |   2 +-
>>  include/linux/nfs_xdr.h   |   9 ++-
>>  35 files changed, 632 insertions(+), 387 deletions(-)
>>  create mode 100644 fs/nfs/nfs.h
>>  create mode 100644 fs/nfs/nfs2super.c
>>  create mode 100644 fs/nfs/nfs3client.c
>>  create mode 100644 fs/nfs/nfs3super.c
>>
> 
> I'm seeing a (minor?) regression that I think is probably due to these
> patches. If I plug in nfs.ko, and then unplug it, I'm unable to plug it
> back in again:

Thanks for letting me know, I'll look into it today.

- Bryan

> 
> # modprobe nfs
> ERROR: could not insert 'nfs': Cannot allocate memory
> 
> The following shows up in dmesg:
> 
> [  344.024976] kmem_cache_create(nfs_commit_data): Cache name already exists.
> [  344.033771] Pid: 1377, comm: modprobe Not tainted 3.6.0-0.rc0.git8.1.fc18.x86_64 #1
> [  344.042741] Call Trace:
> [  344.051119]  [<ffffffff811835f2>] kmem_cache_create+0x182/0x1e0
> [  344.060250]  [<ffffffffa027509b>] ? nfs_fs_proc_init+0x9b/0x9b [nfs]
> [  344.069477]  [<ffffffffa027509b>] ? nfs_fs_proc_init+0x9b/0x9b [nfs]
> [  344.078508]  [<ffffffffa027537c>] nfs_init_writepagecache+0x77/0xcfb [nfs]
> [  344.087653]  [<ffffffffa027515a>] init_nfs_fs+0xbf/0x190 [nfs]
> [  344.096732]  [<ffffffff8100212a>] do_one_initcall+0x12a/0x180
> [  344.105755]  [<ffffffff810e3636>] sys_init_module+0x156/0x2290
> [  344.114936]  [<ffffffff81359320>] ? ddebug_proc_open+0xd0/0xd0
> [  344.123905]  [<ffffffff811c5e40>] ? delayed_fput+0xb0/0xb0
> [  344.132821]  [<ffffffff816d8369>] system_call_fastpath+0x16/0x1b
> [  344.169419] FS-Cache: Netfs 'nfs' unregistered from caching
> [  469.258735] FS-Cache: Netfs 'nfs' registered for caching
> [  469.281508] kmem_cache_create(nfs_write_data): Cache name already exists.
> [  469.290690] Pid: 1386, comm: modprobe Not tainted 3.6.0-0.rc0.git8.1.fc18.x86_64 #1
> [  469.300182] Call Trace:
> [  469.309102]  [<ffffffff811835f2>] kmem_cache_create+0x182/0x1e0
> [  469.318609]  [<ffffffffa027509b>] ? nfs_fs_proc_init+0x9b/0x9b [nfs]
> [  469.328103]  [<ffffffffa027509b>] ? nfs_fs_proc_init+0x9b/0x9b [nfs]
> [  469.337475]  [<ffffffffa0275324>] nfs_init_writepagecache+0x1f/0xcfb [nfs]
> [  469.347034]  [<ffffffffa027515a>] init_nfs_fs+0xbf/0x190 [nfs]
> [  469.356541]  [<ffffffff8100212a>] do_one_initcall+0x12a/0x180
> [  469.366093]  [<ffffffff810e3636>] sys_init_module+0x156/0x2290
> [  469.375539]  [<ffffffff81359320>] ? ddebug_proc_open+0xd0/0xd0
> [  469.385151]  [<ffffffff811c5e40>] ? delayed_fput+0xb0/0xb0
> [  469.394555]  [<ffffffff816d8369>] system_call_fastpath+0x16/0x1b
> 
> 
> I don't see where these are getting torn down now on module unload?
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux