diff options
| author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-11-19 12:14:57 -0500 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-11-19 12:17:38 -0500 |
| commit | 54499b2a926964b6b671fd03dcdc83c444b8f467 (patch) | |
| tree | ba57cd39218554850e4b920747b9e71f1f9842ee /include/linux/fs.h | |
| parent | 2eb5252e2fffc52745a672152c7df597f4041045 (diff) | |
| parent | 0485c9dc24ec0939b42ca5104c0373297506b555 (diff) | |
Merge tag 'drm-intel-fixes-2014-11-19' into drm-intel-next-queued
So with all the code movement and extraction in intel_pm.c in -next
git is hopelessly confused with
commit 2208d655a91f9879bd9a39ff9df05dd668b3512c
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Fri Nov 14 09:25:29 2014 +0100
drm/i915: drop WaSetupGtModeTdRowDispatch:snb
from -fixes. Worse even small changes in -next move around the
conflict context so rerere is equally useless. Let's just backmerge
and be done with it.
Conflicts:
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/intel_pm.c
Except for git getting lost no tricky conflicts really.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'include/linux/fs.h')
| -rw-r--r-- | include/linux/fs.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 4e41a4a331bb..9ab779e8a63c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -639,11 +639,13 @@ static inline int inode_unhashed(struct inode *inode) | |||
| 639 | * 2: child/target | 639 | * 2: child/target |
| 640 | * 3: xattr | 640 | * 3: xattr |
| 641 | * 4: second non-directory | 641 | * 4: second non-directory |
| 642 | * The last is for certain operations (such as rename) which lock two | 642 | * 5: second parent (when locking independent directories in rename) |
| 643 | * | ||
| 644 | * I_MUTEX_NONDIR2 is for certain operations (such as rename) which lock two | ||
| 643 | * non-directories at once. | 645 | * non-directories at once. |
| 644 | * | 646 | * |
| 645 | * The locking order between these classes is | 647 | * The locking order between these classes is |
| 646 | * parent -> child -> normal -> xattr -> second non-directory | 648 | * parent[2] -> child -> grandchild -> normal -> xattr -> second non-directory |
| 647 | */ | 649 | */ |
| 648 | enum inode_i_mutex_lock_class | 650 | enum inode_i_mutex_lock_class |
| 649 | { | 651 | { |
| @@ -651,7 +653,8 @@ enum inode_i_mutex_lock_class | |||
| 651 | I_MUTEX_PARENT, | 653 | I_MUTEX_PARENT, |
| 652 | I_MUTEX_CHILD, | 654 | I_MUTEX_CHILD, |
| 653 | I_MUTEX_XATTR, | 655 | I_MUTEX_XATTR, |
| 654 | I_MUTEX_NONDIR2 | 656 | I_MUTEX_NONDIR2, |
| 657 | I_MUTEX_PARENT2, | ||
| 655 | }; | 658 | }; |
| 656 | 659 | ||
| 657 | void lock_two_nondirectories(struct inode *, struct inode*); | 660 | void lock_two_nondirectories(struct inode *, struct inode*); |
| @@ -2466,6 +2469,7 @@ extern ssize_t new_sync_read(struct file *filp, char __user *buf, size_t len, lo | |||
| 2466 | extern ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); | 2469 | extern ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); |
| 2467 | 2470 | ||
| 2468 | /* fs/block_dev.c */ | 2471 | /* fs/block_dev.c */ |
| 2472 | extern ssize_t blkdev_read_iter(struct kiocb *iocb, struct iov_iter *to); | ||
| 2469 | extern ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from); | 2473 | extern ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from); |
| 2470 | extern int blkdev_fsync(struct file *filp, loff_t start, loff_t end, | 2474 | extern int blkdev_fsync(struct file *filp, loff_t start, loff_t end, |
| 2471 | int datasync); | 2475 | int datasync); |
