Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on May 11, 2011
  1. Add .gitignore file to exclude files from status checking

    Prasad Joshi authored
    Signed-off-by: Prasad <>
Commits on May 10, 2011
  1. Use link list to maintain a list of range variables to be released

    Prasad Joshi authored
    do_delayed_release can result in releasing the
    condition variable while reference is still being
    held in range lock. The function is completely
    removed and instead a list of range variables to
    be released is maintained. The range variables in
    the list are freed after releaseing the range
    lock. The patch fixes the kernel panic bug
    reported by Curley-Joe.
    [17291.729503] Process nfsd (pid: 5564, threadinfo ffff8800c669e000, task ffff8800ef2ac5c0)
    [17291.729505] Stack:
    [17291.729507]  ffff8800c669f750 ffffffff811090d7 ffff8800c648a890 9595959595959595
    [17291.729513] <0> ffff8800c648a8b0 ffff8800c648a890 ffff88009abc0a00 0000000000000f70
    [17291.729520] <0> ffff8800c669f770 ffffffffa026fec0 ffff8800c669f770 ffff8800555e5a38
    [17291.729527] Call Trace:
    [17291.729533]  [<ffffffff811090d7>] kfree+0x5a/0xd7
    [17291.729549]  [<ffffffffa026fec0>] kmem_free_debug+0x28/0x2d [spl]
    [17291.729562]  [<ffffffffa0274ae8>] __cv_destroy+0x2c/0x43 [spl]
    [17291.729616]  [<ffffffffa03606ea>] release_rl+0x38/0x49 [zfs]
    [17291.729657]  [<ffffffffa0360721>] do_delayed_release+0x26/0x28 [zfs]
    [17291.729698]  [<ffffffffa0360e07>] zfs_range_lock+0x4d9/0x504 [zfs]
    [17291.729740]  [<ffffffffa036798b>] zfs_write+0x2e1/0x915 [zfs]
    [17291.729747]  [<ffffffff81078539>] ? __raw_local_irq_save+0x1d/0x23
    [17291.729786]  [<ffffffffa0332004>] ? sa_lookup_impl+0x13/0x15 [zfs]
    [17291.729792]  [<ffffffff81469681>] ? _cond_resched+0xe/0x22
    [17291.729797]  [<ffffffff81469dc6>] ? mutex_lock+0x29/0x50
    [17291.729801]  [<ffffffff8146abe6>] ? _raw_spin_lock+0xe/0x10
    [17291.729809]  [<ffffffffa03f4c6e>] lzfs_write+0x88/0xb4 [lzfs]
    [17291.729816]  [<ffffffffa03f67cd>] lzfs_vnop_write+0x8f/0x25a [lzfs]
    [17291.729822]  [<ffffffff81117da2>] do_loop_readv_writev+0x41/0x79
    [17291.729828]  [<ffffffffa03f673e>] ? lzfs_vnop_write+0x0/0x25a [lzfs]
    [17291.729833]  [<ffffffff81117f88>] do_readv_writev+0xb7/0x127
    [17291.729850]  [<ffffffffa01d0ea1>] ? put_cred+0x16/0x26 [nfsd]
    [17291.729862]  [<ffffffffa01d10a6>] ? nfsd_setuser+0x1b7/0x1d9 [nfsd]
    [17291.729868]  [<ffffffff8103c195>] ? need_resched+0x23/0x2d
    [17291.729873]  [<ffffffff8103c1ad>] ? should_resched+0xe/0x2e
    [17291.729877]  [<ffffffff81469681>] ? _cond_resched+0xe/0x22
    [17291.729881]  [<ffffffff81469dc6>] ? mutex_lock+0x29/0x50
    [17291.729891]  [<ffffffffa01cacea>] ? nfsd_setuser_and_check_port+0x7c/0x9f [nfsd]
    [17291.729896]  [<ffffffff8111803d>] vfs_writev+0x45/0x47
    [17291.729906]  [<ffffffffa01cbe6d>] nfsd_vfs_write.clone.6+0x133/0x342 [nfsd]
    [17291.729911]  [<ffffffff811160f6>] ? dentry_open+0x89/0x91
    [17291.729922]  [<ffffffffa01ccb42>] ? nfsd_open+0x163/0x172 [nfsd]
    [17291.729933]  [<ffffffffa01cd7da>] nfsd_write+0xd1/0xef [nfsd]
    [17291.729946]  [<ffffffffa01d3d26>] nfsd3_proc_write+0xd2/0xee [nfsd]
    [17291.729956]  [<ffffffffa01c880b>] nfsd_dispatch+0xf1/0x1cc [nfsd]
    [17291.729977]  [<ffffffffa0155054>] svc_process_common+0x2b4/0x4b6 [sunrpc]
    [17291.729992]  [<ffffffffa015547d>] svc_process+0x126/0x13a [sunrpc]
    [17291.730001]  [<ffffffffa01c80f6>] nfsd+0xf6/0x13f [nfsd]
    [17291.730010]  [<ffffffffa01c8000>] ? nfsd+0x0/0x13f [nfsd]
    [17291.730015]  [<ffffffff81066595>] kthread+0x7f/0x87
    [17291.730021]  [<ffffffff8100aae4>] kernel_thread_helper+0x4/0x10
    [17291.730025]  [<ffffffff81066516>] ? kthread+0x0/0x87
    [17291.730030]  [<ffffffff8100aae0>] ? kernel_thread_helper+0x0/0x10
    [17291.730032] Code: 02 00 00 0f 4f c2 c9 c3 55 48 89 e5 0f 1f 44 00 00 e8 50 e1
                         f2 ff 48 c1 e8 0c 48 ba 00 00 00 00 00 ea ff ff 48 6b c0 38
    					 48 01 d0 <48> 8b 10 80 e6 80 74 04 48 8b 40 10 c9 c3 55 48
    					 89 e5 41 57 41
    [17291.730087] RIP  [<ffffffff81107a15>] virt_to_head_page+0x23/0x31
    Tested-by: Shrirang <>
    Signed-off-by: Prasad <>
Commits on Mar 2, 2011
  1. - fixed problem with -finstrument-functions used to detect low stack …

    Anand Mitra authored
    …condition and print stack trace should that happen
    - had to run and many .in files have changed as a result of that
Commits on Feb 25, 2011
  1. igrab returns NULL when the inode state is (I_FREEING|I_CLEAR|I_WILL_…

    Prasad Joshi authored
    …FREE). Check the return value of VN_HOLD (igrab), if it is NULL then return an error EAGAIN.
    - When the system is running short of memory, various caches (inode and/or dentry) are shrinked to make more memory available. The patch ensures the inode being used is not either, in state of being freed (I_FREEING or I_WILL_FREE) or freed (I_CLEAR).
Commits on Feb 24, 2011
  1. Calling iget_failed if zfs_znode_alloc returns NULL

    Prasad Joshi authored
Commits on Feb 21, 2011
  1. Merge branch 'master' of

    Prasad Joshi authored
  2. zfs_inode_alloc should return error if the sa_bulk_lookup failes. Let…

    Prasad Joshi authored
    … zfs_znode_alloc do the error handling by freeing the znode.
    - Tested code on 2.6.32 and 2.6.37
  3. zfs_create, zfs_mkdir, zfs_symlink, zfs_mknode shold not release the …

    Prasad Joshi authored
    …inode by calling unlock_new_inode in zfs_inode_alloc. The inode should only be release after the dentry is instantiated. lzfs code will call unlock_new_inode after working on dentry.
    - Code working on 2.6.32. Need to check with 2.6.37
  4. @nkhare
Commits on Feb 18, 2011
  1. Removed unnecessary call to VN_RELE.

    Prasad Joshi authored
Commits on Feb 17, 2011
  1. Patch from Martin Matuska <>, taking care of default sh…

    Prasad Joshi authored
    …arenfs mount option.
  2. Use options specified by user while exporting ZFS.

    Prasad Joshi authored
Commits on Feb 16, 2011
  1. @tushk2

    Merge branch 'debian'

    tushk2 authored
  2. @nkhare
Commits on Feb 15, 2011
  1. @nkhare
Commits on Feb 14, 2011
  1. Merge branch 'master' of

    Prasad Joshi authored
  2. vn_open do not call VN_HOLD, no need to call VN_RELE

    Prasad Joshi authored
  3. @tushk2
Commits on Feb 12, 2011
  1. @clefru

    2.6.36 API changes:

    clefru authored
    blk_fs_request macro dropped ->
      inline former macro expansion.
    BIO_RW_SYNCIO renamed to REQ_SYNC ->
      add autoconf check and use REQ_SYNC if present.
    ioctl member dropped from file_operations ->
      wrap original code in lock_kernel/unlock_kernel and present
      as unlocked_ioctl. This also breaks compatibility with
      pre-2.6.11 kernels.
Commits on Feb 3, 2011
  1. @vikramjadhav

    Commited By : Shrirang & vikram

    vikramjadhav authored
    Fixed Bug
    1:Bug #689 : new file created are of mode 000 regardless of umask
    2:Bug: Unable to upgrade zfs version ( zfs upgrade -V 5 pool/fs ).
    Bug Description :
     	 Create pool using fuse ,export pool
    	 Import pool using zpool (not fuse)
    	 Create file and directory ( touch /pool/file and mkdir /pool/dir )
    	 If we check the permmission will get all 000 ( user , owner and other )
    	 So we found that this problem occured because fail in upgrading zfs version.
    Change made in
    FILE                           FUNCTION
    /zfs/module/zfs/zfs_ioctl.c     zfs_prop_set_special
    /zfs/module/zfs/zfs_vnops.c    "zfs_set_version" and "zfs_set_fuid_feature"
  2. build the debug version with gcc option -finstrument-functions this will

    Anand Mitra authored
    cause a function to be called at the entry and exit of each function call.
    The instrumentation checks how much kernel stack is consumed. If we have just 1k
    left on the kernel stack it will panic(). This is only for the debug version to detect
    stack overflow early on.
  3. @tushk2
Commits on Jan 29, 2011
  1. - Enabled all of the sharenfs and sharesmb functions.

    Prasad Joshi authored
    - Displays nice error when sharesmb property is modified
    - Unmounting the file system automatically unshares the nfs
    - If file system is not mounted zfs share -a will mount the file system and share as well
    - Displays nice error when sharesmb property is modified
    root@prasad-laptop:~# ./zfs get sharesmb tank
    tank  sharesmb  off       default
    root@prasad-laptop:~# ./zfs sharesmb=on tank
    Samba sharing is not supported.
    root@prasad-laptop:~# ./zfs sharesmb=off tank
    Samba sharing is not supported.
    root@prasad-laptop:~# ./zfs sharenfs=off tank
    - Unmounting the file system automatically unshares the nfs
    root@prasad-laptop:~# ./zfs sharenfs=on tank
    exporting *:/tank
    root@prasad-laptop:~# ./zfs umount -a
    unexporting *:/tank
    - If file system is not mounted zfs share -a will mount the file system and share as well
    root@prasad-laptop:~# ./zfs share -a
    Samba sharing is not supported.
    exporting *:/tank
    root@prasad-laptop:~# mount -t zfs
    tank on /tank type zfs (rw)
  2. zfs sharesmb=on should display error.

    Prasad Joshi authored
  3. Fixed Debian Lenny compilation problem.

    Prasad Joshi authored
Commits on Jan 19, 2011
  1. Use kmem_zalloc instead of kmem_alloc.

    Prasad Joshi authored
Commits on Jan 17, 2011
  1. @deepenmehta
Commits on Jan 16, 2011
  1. zfsvfs_setup() should reinitialize callbacks by calling zfs_register_…

    Prasad Joshi authored
    …callbacks. During rollback zfs_suspend_fs() deregisters the callback. The callbacks need to be reinitialized otherwise zfs umount fails (panics).
Commits on Jan 15, 2011
  1. Locks were not properly released during rollback. Recursive Rollback …

    Prasad Joshi authored
    …(-r option) still does not work.
Commits on Jan 14, 2011
  1. @shrirang
  2. @nkhare
Something went wrong with that request. Please try again.